diff --git a/agents/ghostwright__phantom/README.md b/agents/ghostwright__phantom/README.md new file mode 100644 index 0000000..24ff91b --- /dev/null +++ b/agents/ghostwright__phantom/README.md @@ -0,0 +1,55 @@ +# Phantom + +An autonomous AI co-worker that lives on its own VM, remembers everything across sessions, and gets better at your work every day. + +> Built by [ghostwright](https://github.com/ghostwright) · Apache 2.0 · TypeScript + Bun · 1,800+ tests + +## Run + +```bash +npx @open-gitagent/gitagent@latest run -r https://github.com/ghostwright/phantom +``` + +## What It Does + +Phantom is not a chatbot. It is a persistent co-worker you deploy to a dedicated machine. It receives messages via Slack, Web Chat, Telegram, Email, or Webhook — then researches, builds, analyzes, and ships on its own VM without being micromanaged. + +| Capability | Details | +|---|---| +| **Persistent Memory** | Episodic, semantic, and procedural memory via Qdrant vector DB + SQLite | +| **Self-Evolution** | Post-session reflection → config rewrite → 5-gate validation → auto-rollback | +| **MCP Server** | 17+ tools exposed as Streamable HTTP MCP, usable by other agents | +| **Dynamic Tools** | Create and register new shell/script tools at runtime | +| **Multi-Channel** | Slack (Socket Mode), Web Chat (SSE), Telegram, Email (IMAP/SMTP), Webhook | +| **Bring Your Own Model** | Anthropic (default), Z.AI, OpenRouter, Ollama, vLLM, LiteLLM, custom endpoint | +| **Computer Access** | Full Read, Write, Edit, Bash, Glob, Grep, WebSearch via Claude Agent SDK | + +## Skills + +- `web-research` — Deep research via web search, docs, and source code +- `code-build` — Build tools, scripts, APIs, and automations on the agent's machine +- `data-analysis` — Set up databases, write queries, produce reports and charts +- `memory-consolidation` — Extract and store memories at session end +- `self-evolution` — Reflect, propose config edits, validate through 5 gates, rollback on failure +- `mcp-server` — Expose all capabilities as an MCP server +- `dynamic-tools` — Register new tools at runtime +- `multi-channel` — Route messages across Slack, Telegram, Email, Web Chat, Webhook + +## Stack + +- **Runtime:** Bun (TypeScript-native, built-in SQLite) +- **Agent:** Claude Agent SDK (`@anthropic-ai/claude-agent-sdk`) +- **Memory:** Qdrant + Ollama embeddings +- **Channels:** Slack, Telegram, Email, SSE Web Chat, Webhook +- **Infrastructure:** Docker Compose, Specter VMs (Hetzner), systemd + +## Quick Start + +```bash +git clone https://github.com/ghostwright/phantom +cd phantom +cp .env.example .env # Fill in ANTHROPIC_API_KEY + channel tokens +docker compose -f docker-compose.quick.yaml up -d +bun run src/cli/main.ts init --yes +bun run src/cli/main.ts doctor +``` diff --git a/agents/ghostwright__phantom/metadata.json b/agents/ghostwright__phantom/metadata.json new file mode 100644 index 0000000..28e04aa --- /dev/null +++ b/agents/ghostwright__phantom/metadata.json @@ -0,0 +1,14 @@ +{ + "name": "phantom", + "author": "ghostwright", + "description": "Autonomous AI co-worker with persistent memory, self-evolution, MCP server, and multi-channel comms (Slack, Telegram, Email, Web Chat). Runs on a dedicated VM.", + "repository": "https://github.com/ghostwright/phantom", + "version": "0.20.2", + "category": "productivity", + "tags": ["autonomous-agent", "persistent-memory", "self-evolution", "mcp", "slack", "multi-channel", "typescript", "bun"], + "license": "Apache-2.0", + "model": "claude-opus-4-5-20250929", + "adapters": ["claude-code", "system-prompt"], + "icon": false, + "banner": false +}