Skip to content

Commit bfd6a36

Browse files
ziggyclaude
andcommitted
Rewrite README, prune inherited NanoClaw cruft
README rewritten to match website structure: - "What's included" section: core features that ship with every install (Telegram, WhatsApp, web research, Ralph loops, scheduled tasks, per-group personality, Mission Control dashboard) - "Optional skills" section: layered on via Claude Code commands - Dashboard screenshot added - Skills engine correctly attributed (NanoClaw's, forked and extended) - Removed "Why this exists" NanoClaw/OpenClaw comparison - Cleaner architecture section Pruned inherited files: - CONTRIBUTORS.md (NanoClaw's contributor list) - ROUTING_TRACES.md (debug/eval document) - setup.sh (replaced by /setup-ghostclaw skill) - .mcp.json (empty stub) - config-examples/ (container mount config, not relevant) - repo-tokens/ (NanoClaw token management) Updated: - CODEOWNERS: NanoClaw maintainers → b1rdmania - CONTRIBUTING.md: updated for GhostClaw Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 2be7e75 commit bfd6a36

18 files changed

Lines changed: 67 additions & 1079 deletions

.github/CODEOWNERS

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
# Core code - maintainer only
2-
/src/ @gavrielc @gabi-simons
3-
/container/ @gavrielc @gabi-simons
4-
/groups/ @gavrielc @gabi-simons
5-
/launchd/ @gavrielc @gabi-simons
6-
/package.json @gavrielc @gabi-simons
7-
/package-lock.json @gavrielc @gabi-simons
1+
# Core code
2+
/src/ @b1rdmania
3+
/container/ @b1rdmania
4+
/skills-engine/ @b1rdmania
5+
/package.json @b1rdmania
6+
/package-lock.json @b1rdmania
87

98
# Skills - open to contributors
109
/.claude/skills/

.github/dashboard-preview.png

311 KB
Loading

.mcp.json

Lines changed: 0 additions & 3 deletions
This file was deleted.

CONTRIBUTING.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,12 @@ A [skill](https://code.claude.com/docs/en/skills) is a markdown file in `.claude
1212

1313
A PR that contributes a skill should not modify any source files.
1414

15-
Your skill should contain the **instructions** Claude follows to add the featurenot pre-built code. See `/add-telegram` for a good example.
15+
Your skill should contain the **instructions** Claude follows to add the featurenot pre-built code. See `/add-telegram` for a good example.
1616

17-
### Why?
17+
### Testing
1818

19-
Every user should have clean and minimal code that does exactly what they need. Skills let users selectively add features to their fork without inheriting code for features they don't want.
19+
Test your skill by running it on a fresh clone before submitting. All skills are security-scanned before installation.
2020

21-
### Testing
21+
## Community
2222

23-
Test your skill by running it on a fresh clone before submitting.
23+
Join the [OpenClawOS Telegram group](https://t.me/+8qJbqxzBQAZkYTNk) for discussion.

CONTRIBUTORS.md

Lines changed: 0 additions & 11 deletions
This file was deleted.

README.md

Lines changed: 52 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -8,107 +8,88 @@
88
<p align="center">
99
<a href="https://ghostclaw.io">Website</a> &nbsp;·&nbsp;
1010
<a href="#install">Install</a> &nbsp;·&nbsp;
11-
<a href="#what-it-does">Features</a> &nbsp;·&nbsp;
11+
<a href="#whats-included">Features</a> &nbsp;·&nbsp;
1212
<a href="https://t.me/+8qJbqxzBQAZkYTNk"><img src="https://img.shields.io/badge/Telegram-Community-26A5E4?logo=telegram&logoColor=white" alt="Telegram Community"></a>
1313
</p>
1414

1515
---
1616

17-
An AI agent that lives on its own computer, has its own accounts, and works as your always-on co-worker.
18-
19-
You interact with it like a person — voice notes on Telegram, mentions in WhatsApp groups, or just texting. It knows how you like to communicate, reads your email, monitors your services, and runs tasks on a schedule. And you customise everything through Claude Code, exactly the way you already work.
20-
21-
## Why this exists
22-
23-
**OpenClaw** is beautiful. Watching your agent talk to other agents, self-iterate, install things, and work stuff out for itself is genuinely mind-bending. But it's 500,000 lines of code, the setup is an approximation of the Claude Code terminal that doesn't quite work, and making changes that don't break everything is non-trivial. It's like driving a classic car — charming when it works, but you're fixing it more than driving it.
24-
25-
**NanoClaw** is elegant. 400 lines of core code, completely customisable, works out of the box. But it runs in containers, which is great for security on a shared machine — less great if you want your agent to actually *do things* across your system.
26-
27-
**GhostClaw** is the middle ground. NanoClaw's simplicity and skill system, with the freedom and functionality of OpenClaw. No containers — your agent runs bare metal on a dedicated machine with full access to everything. Add skills the same way you add capabilities in Claude Code. Compatible with both NanoClaw and OpenClaw skill ecosystems.
28-
29-
If you're already an advanced Claude Code user and want an agent that runs wild on its own hardware, this is for you.
30-
31-
## What it does
32-
33-
- **Its own Telegram identity** — message it like a person. No slash commands, no trigger needed in DMs.
34-
- **WhatsApp group chats** — add it to any group. Responds when mentioned, stays quiet otherwise.
35-
- **Voice notes** — send voice messages, it transcribes and responds.
36-
- **Scheduled tasks** — "check Hacker News every morning" or "remind me to review PRs every Friday at 3pm". Natural language, cron, or intervals.
37-
- **Per-group personality** — each chat gets its own tone, memory, and rules. Direct in your DM, casual in the group chat.
38-
- **Email** — reads and sends Gmail. Picks up verification codes, flags urgent messages, sends summaries.
39-
- **Health monitoring** — heartbeat checks on disk space, services, logs. Daily briefings. Silent unless something needs attention.
40-
- **Layer any Claude Code skill onto your bot** — anything you can do in Claude Code, you can add to your agent. NanoClaw skills, OpenClaw skills, or your own. Every install is automatically security-scanned.
41-
- **Mission Control dashboard** — built-in web UI for monitoring chats, tasks, research runs, and agent health.
42-
- **Fully modifiable from Claude Code** — every behaviour, every personality file, every integration. Customise exactly the way you already work.
17+
A bare-metal AI agent that runs on your hardware, under your control. Single Node.js process, SQLite for state, Claude as a child process. No containers, no cloud, no orchestration. Telegram, WhatsApp, email, cron. 10 minutes to set up.
4318

4419
## Install
4520

46-
On the machine you want your agent to live on, open a terminal and install [Claude Code](https://claude.ai/download) if you haven't already:
47-
48-
```bash
49-
npm install -g @anthropic-ai/claude-code
50-
```
51-
52-
Then:
53-
5421
```bash
22+
npm install -g @anthropic-ai/claude-code # if you haven't already
5523
git clone https://github.com/b1rdmania/ghostclaw.git
5624
cd ghostclaw
5725
npm install
5826
claude
5927
```
6028

61-
Inside Claude Code, type:
29+
Inside Claude Code:
6230

6331
```
6432
/setup-ghostclaw
6533
```
6634

67-
That's it. The wizard handles everything — API keys, Telegram bot, personality, background service. About 10 minutes.
35+
The wizard handles API keys, Telegram bot, personality, background service. About 10 minutes.
6836

69-
## Adding skills
37+
**Requirements:** Node.js 20+, Claude Code, macOS or Linux, Claude Max or API key.
7038

71-
Once running, add capabilities by typing commands in Claude Code:
39+
## What's included
7240

73-
| Command | What it adds |
74-
|---------|-------------|
75-
| `/add-heartbeat` | Periodic health checks (disk, logs, services) |
76-
| `/add-morning-briefing` | Daily or weekly briefings |
77-
| `/add-gmail-agent` | Email read/send (Gmail, Outlook, or IMAP) |
78-
| `/add-update-check` | Weekly check for GhostClaw updates |
79-
| `/add-voice-transcription` | Voice note transcription (ElevenLabs) |
80-
| `/add-voice-reply` | Bot replies with voice notes (ElevenLabs) |
81-
| `/add-slack` | Slack as an additional channel |
82-
| `/add-telegram-swarm` | Multi-bot agent teams |
83-
| `/run-ralph` | Autonomous multi-task loop (overnight research, batch work) |
84-
| `/debug` | Troubleshooting guide |
85-
| `/update-ghostclaw` | Safe update: backup, pull, migrate, rebuild, restart |
41+
Everything below ships with every install. No extras to configure.
8642

87-
Skills are security-scanned before installation. Build your own or pull from the NanoClaw/OpenClaw ecosystem — they're compatible.
43+
### Channels
8844

89-
## The soul system
45+
- **Telegram** — DM it like a person. In groups, responds when mentioned. Voice notes supported. This is the primary interface.
46+
- **WhatsApp** — group chat support. Scan QR to connect. Stays quiet until mentioned.
9047

91-
Each chat has a `CLAUDE.md` that defines the bot's personality for that context. Your main channel might say:
48+
### Core capabilities
9249

93-
> Be direct. No emoji. Have opinions. Don't say "there are several approaches" — say "this is the move, here's why."
50+
- **Web research** — Perplexity-powered search and deep research built in. Ask anything current, it searches and cites sources.
51+
- **Ralph loops** — autonomous multi-task engine. Hand it a checklist, it works through tasks one by one. Leave it overnight, come back to finished work. Outputs editable reports.
52+
- **Scheduled tasks** — "check Hacker News every morning" or cron syntax. Natural language or precise, your call.
53+
- **Per-group personality** — each chat gets its own `CLAUDE.md` defining tone, memory, and rules. Edit the file, personality changes instantly.
9454

95-
A group chat with friends might say:
55+
### Mission Control
9656

97-
> Be casual and funny. Only respond when mentioned. Keep it short.
57+
Built-in dashboard at `localhost:3333`. Real-time activity feed, task scheduling, soul editing, research runs with editable output. Send messages as the bot. SSE live updates, zero extra dependencies.
9858

99-
Edit the file, the personality changes instantly. The setup wizard builds your initial soul automatically.
59+
<p align="center">
60+
<img src=".github/dashboard-preview.png" width="700" alt="Mission Control dashboard">
61+
</p>
10062

101-
## How it works
63+
### Architecture
10264

10365
```
104-
You (Telegram/WhatsApp) --> GhostClaw --> Claude (Agent SDK) --> Response
66+
You (Telegram/WhatsApp) GhostClaw Claude (Agent SDK) Response
10567
```
10668

107-
One Node.js process. SQLite for state. Claude runs as a child process. No containers, no orchestration, no cloud infrastructure. Your bot runs directly on the host with full system access — that's the point.
69+
One process. SQLite state. Claude runs as a direct child process. No containers, no Docker, no Kubernetes. Your bot runs on the host with full system access — that's the point.
70+
71+
## Optional skills
72+
73+
Layer on more capabilities from Claude Code. One command each, security-scanned before install.
74+
75+
| Command | What it adds |
76+
|---------|-------------|
77+
| `/add-gmail-agent` | Gmail read/send — verification codes, urgent flags, summaries |
78+
| `/add-voice-transcription` | Voice note transcription (ElevenLabs Scribe) |
79+
| `/add-voice-reply` | Bot replies with voice notes (ElevenLabs TTS) |
80+
| `/add-heartbeat` | Periodic health checks — disk, logs, services |
81+
| `/add-morning-briefing` | Daily or weekly briefings |
82+
| `/add-slack` | Slack as an additional channel |
83+
| `/add-telegram-swarm` | Multi-bot agent teams in Telegram |
84+
| `/add-update-check` | Weekly check for GhostClaw updates |
85+
| `/debug` | Troubleshooting guide |
86+
| `/update-ghostclaw` | Safe update: backup, pull, migrate, rebuild, restart |
87+
88+
Build your own skills or use compatible ones from the NanoClaw/OpenClaw ecosystem. The skills engine (originally NanoClaw's, forked and extended) handles three-way merging, dependency tracking, and rollback. Every skill is security-scanned before installation.
10889

10990
## Configuration
11091

111-
All config lives in `.env`. The setup wizard creates this for you.
92+
All config lives in `.env`. The setup wizard creates this.
11293

11394
| Variable | Required | Description |
11495
|----------|----------|-------------|
@@ -117,16 +98,16 @@ All config lives in `.env`. The setup wizard creates this for you.
11798
| `ASSISTANT_NAME` | Yes | Bot name (trigger word in groups) |
11899
| `TELEGRAM_BOT_TOKEN` | Yes | From @BotFather |
119100
| `GHOSTCLAW_MODEL` | No | Default: `claude-sonnet-4-6`. Also: `claude-opus-4-6`, `claude-haiku-4-5-20251001` |
120-
| `ELEVENLABS_API_KEY` | No | For voice transcription and voice replies |
121-
| `ELEVENLABS_VOICE_ID` | No | Voice ID for TTS replies (elevenlabs.io/voice-library) |
101+
| `ELEVENLABS_API_KEY` | No | For voice transcription and replies |
102+
| `ELEVENLABS_VOICE_ID` | No | Voice ID for TTS (elevenlabs.io/voice-library) |
122103
| `TELEGRAM_ONLY` | No | Set `true` to skip WhatsApp |
123104
| `GMAIL_MCP_ENABLED` | No | Set `1` for email integration |
124105

125106
*One of `CLAUDE_CODE_OAUTH_TOKEN` or `ANTHROPIC_API_KEY` is required.
126107

127108
## Service management
128109

129-
The setup wizard configures this automatically. For manual control:
110+
The setup wizard configures this automatically.
130111

131112
**macOS:**
132113
```bash
@@ -143,42 +124,27 @@ systemctl --user restart ghostclaw
143124

144125
## Updating
145126

146-
Inside Claude Code:
147-
148127
```
149128
/update-ghostclaw
150129
```
151130

152-
That's it. It backs up your current state, pulls the latest, runs migrations, rebuilds, and restarts the service. If anything goes wrong, it gives you a rollback tag.
153-
154-
Manual alternative:
155-
```bash
156-
git pull && npm install && npm run build
157-
launchctl kickstart -k gui/$(id -u)/com.ghostclaw # macOS
158-
# systemctl --user restart ghostclaw # Linux
159-
```
131+
Backs up current state, pulls latest, runs migrations, rebuilds, restarts. Gives you a rollback tag if anything goes wrong.
160132

161133
## FAQ
162134

163135
**What does it cost?**
164-
165-
Your Claude subscription (Max or API) and optionally ElevenLabs for voice transcription and replies. No platform fees.
136+
Your Claude subscription (Max or API) and optionally ElevenLabs for voice. No platform fees.
166137

167138
**Is this secure?**
168-
169-
The bot has full access to its machine. That's the point — run it on dedicated hardware with fresh accounts, not your daily driver. Skills are security-scanned before installation.
170-
171-
**What's the relationship to NanoClaw and OpenClaw?**
172-
173-
GhostClaw is a fork of [NanoClaw](https://github.com/qwibitai/nanoclaw) with containers removed and OpenClaw-inspired features added (heartbeat, briefings, email, monitoring). NanoClaw skills work without modification. Think of it as NanoClaw's simplicity with OpenClaw's ambition.
139+
The bot has full access to its machine. That's the design — run it on dedicated hardware with fresh accounts, not your daily driver. Skills are security-scanned before install.
174140

175141
## Community
176142

177-
Join the [OpenClawOS Telegram group](https://t.me/+8qJbqxzBQAZkYTNk) to share problems, suggestions, or just see what others are building.
143+
Join the [OpenClawOS Telegram group](https://t.me/+8qJbqxzBQAZkYTNk) to share problems, suggestions, or see what others are building.
178144

179145
## Credits
180146

181-
Fork of [NanoClaw](https://github.com/qwibitai/nanoclaw) by [qwibitai](https://github.com/qwibitai). Core architecture, skills engine, and agent runner are their work.
147+
Originally forked from [NanoClaw](https://github.com/qwibitai/nanoclaw) by [qwibitai](https://github.com/qwibitai). Skills engine built on NanoClaw's three-way merge system.
182148

183149
## Licence
184150

0 commit comments

Comments
 (0)