Grandfather of Openclaw
Overview
⚡ Runs on $10 hardware with ~10MB RAM and a ~2MB binary — 99% less memory than OpenClaw Fast, small, and fully autonomous AI assistant infrastructure — deploy anywhere, swap anything. ~1.9MB binary · ~20ms warm start · 30+ providers · 10 traits · Conway Cloud native · Self-evolving agent - ⚡ Small C++ binary, fast startup - 🔒 Pairing, strict sandboxing, allowlists - 📦 Single self-contained binary - 🔄 Trait-based, fully swappable - 🤖 30+ AI provider integrations - 💬 10+ real messaging channels - 🌐 Browser automation built-in - 🎨 Canvas, voice, TTS support - 🖥️ Spawn Linux VMs via Conway Compute - 🌍 Buy and manage domains autonomously - 💸 x402 machine-to-machine USDC payments - 🔑 Auto-inject conway-terminal MCP server - 📜 SOUL.
README
✨ Features
🎯 Why Teams Pick GhostClaw
📊 Benchmark Snapshot (GhostClaw vs OpenClaw)
| OpenClaw | NanoBot | PicoClaw | ZeroClaw | GhostClaw 🐾 | |
|---|---|---|---|---|---|
| Language | TypeScript | Python | Go | Rust | C++ |
| RAM | > 1GB | > 100MB | < 10MB | < 5MB | ~10MB |
| Startup (warm) | > 500ms | > 30ms | < 100ms | < 10ms | ~20ms |
| Cold Start | > 5s | > 1s | < 1s | ~440ms | ~240ms |
| Binary Size | ~28MB (dist) | N/A (Scripts) | ~8MB | ~3.4MB | 1.9MB |
| Cost | Mac Mini $599 | Linux SBC ~$50 | Linux Board $10 | Any hardware $10 | Any hardware $10 |
Notes: GhostClaw results measured with
/usr/bin/time -lon release builds. OpenClaw requires Node.js runtime (~390MB overhead). PicoClaw and ZeroClaw are static binaries. GhostClaw has the smallest binary and fastest cold start.
🚀 Quick Start
git clone https://github.com/sudiprokaya/GhostClaw.git
cd GhostClaw
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j
# Just run it — the setup wizard launches automatically on first run
./build/ghostclaw
💡 Usage Examples
# Skip the wizard entirely with flags
ghostclaw onboard --provider openrouter --api-key sk-...
# Single message
ghostclaw agent -m "Hello, GhostClaw!"
# Interactive chat
ghostclaw agent
# Start the gateway (webhook server)
ghostclaw gateway
# Start full autonomous daemon
ghostclaw daemon
# Diagnostics
ghostclaw status
ghostclaw doctor
🌐 Conway Cloud — Sovereign Operation
# Connect your Conway account
ghostclaw conway setup --api-key
# Check survival tier and credit balance
ghostclaw conway status
# Spin up a VM, deploy an app, or buy a domain — the agent does it
ghostclaw agent -m "Deploy a Node.js app on Conway Cloud and register a .xyz domain"
# Enable full sovereign mode (SOUL.md + skill IQ + survival heartbeat)
ghostclaw sovereign start
ghostclaw sovereign status
ghostclaw sovereign evolve # trigger a manual evolution cycle
Once
conway.enabled = trueand an API key is set, GhostClaw automatically injectsconway-terminalas an MCP server — no extra config required.
🧬 SOUL.md — Living Agent Identity
GhostClaw agents can write, read, and evolve their own SOUL.md identity document using built-in soul tools:
soul_read — read the current SOUL.md
soul_update — update a named section (name, purpose, values, …)
soul_reflect — append a timestamped reflection entry
The file is git-versioned automatically on every update, giving you a full history of how the agent evolved.
🐳 Docker
docker build -t ghostclaw .
docker run --rm ghostclaw --help
docker run -d --name ghostclaw-daemon -p 8080:8080 ghostclaw daemon --host 0.0.0.0 --port 8080
🏗️ Architecture
🧠 Memory System
| Layer | Implementation |
|---|---|
| Vector DB | Embeddings stored as BLOB in SQLite, cosine similarity search |
| Keyword Search | FTS5 virtual tables with BM25 scoring |
| Hybrid Merge | Custom weighted merge function |
| Embeddings | EmbeddingProvider trait — OpenAI, local, or noop |
| Chunking | Line-based markdown chunker with heading preservation |
| Caching | SQLite embedding_cache table with LRU eviction |
[memory]
backend = "sqlite" # "sqlite", "markdown", "none"
auto_save = true
embedding_provider = "openai"
vector_weight = 0.7
keyword_weight = 0.3
🔒 Security
| # | Item | Status | How |
|---|---|---|---|
| 1 | Gateway not publicly exposed | ✅ | Binds 127.0.0.1 by default. Refuses 0.0.0.0 without tunnel or explicit allow_public_bind = true |
| 2 | Pairing required | ✅ | 6-digit one-time code on startup. Exchange via POST /pair for bearer token |
| 3 | Filesystem scoped | ✅ | workspace_only = true by default. System dirs blocked. Symlink escape detection |
| 4 | Access via tunnel only | ✅ | Gateway refuses public bind without active tunnel |
⚙️ Configuration
🎮 Commands
🛠️ Development
# Debug build + tests
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j
ctest --test-dir build --output-on-failure
# Release build
cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release
cmake --build build-release -j
# Run benchmarks
./build/benches/ghostclaw_benchmarks
🤝 Contributing
📄 License
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add itsrealranky/ghostclaw