From 55b5f4abad7cfc26166142d79437bf33ced246f1 Mon Sep 17 00:00:00 2001 From: GAP Promoter Date: Wed, 27 May 2026 19:43:10 +0000 Subject: [PATCH 1/2] Add ghostwright/phantom to the registry --- agents/ghostwright__phantom/README.md | 52 +++++++++++++++++++++++ agents/ghostwright__phantom/metadata.json | 27 ++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 agents/ghostwright__phantom/README.md create mode 100644 agents/ghostwright__phantom/metadata.json diff --git a/agents/ghostwright__phantom/README.md b/agents/ghostwright__phantom/README.md new file mode 100644 index 0000000..d3b39aa --- /dev/null +++ b/agents/ghostwright__phantom/README.md @@ -0,0 +1,52 @@ +# Phantom + +> *An AI co-worker with its own computer.* + +Phantom is an autonomous AI agent that runs as a persistent process on a dedicated VM. Unlike chat-based assistants, Phantom has its own machine, its own memory, and its own tools — and it builds new capabilities on the fly without being explicitly asked. + +## What Phantom Does + +- **Persistent Memory** — Vector-backed episodic + semantic recall via Qdrant. Phantom remembers what you told it last week and gets better at your job over time. +- **Self-Evolution** — A 6-step pipeline lets Phantom propose and apply rewrites to its own configuration, validated by 5 gates (constitution, regression, size, drift, safety). Bad evolutions are auto-rolled back. +- **MCP Server** — 17+ tools exposed over Streamable HTTP with bearer token auth. Phantom can connect to other Phantom instances as MCP peers. +- **Multi-Channel** — Communicates over Slack (Socket Mode), Web Chat (React SSE), Telegram, Email (IMAP/SMTP), and HMAC-signed Webhooks. +- **Dynamic Tools** — Registers new tools at runtime from a SQLite-backed registry. Give it an API key it has never seen and it learns to use it. +- **Infrastructure** — Runs in Docker on a public VM. Dashboards, APIs, and pages it builds get real URLs, not localhost. + +## Real Examples (Production) + +- Built a ClickHouse analytics platform for 28.7 million Hacker News rows — unprompted. +- Extended itself with a Discord channel it was never shipped with — when asked if it could. +- Integrated Vigil (3-star open-source) into its own ClickHouse instance to monitor its own infrastructure. + +## Tech Stack + +| Layer | Technology | +|-------|-----------| +| Runtime | Bun (TypeScript) | +| Agent | Claude Agent SDK (`@anthropic-ai/claude-agent-sdk`) | +| Memory | Qdrant + Ollama embeddings | +| State | SQLite via Bun | +| Channels | Slack, Web Chat (React 19), Telegram, Email, Webhook | +| MCP | Streamable HTTP, 17+ tools | +| Infrastructure | Docker Compose, Hetzner/Specter VMs | + +## Quick Start + +```bash +curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/docker-compose.user.yaml -o docker-compose.yaml +curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/.env.example -o .env +# Add ANTHROPIC_API_KEY + Slack tokens to .env +docker compose up -d +``` + +## Model Support + +Anthropic (default), Z.AI/GLM-5.1, OpenRouter (100+ models), Ollama, vLLM, LiteLLM, or any Anthropic Messages API-compatible endpoint. + +## Links + +- **Repo:** https://github.com/ghostwright/phantom +- **Docs:** https://github.com/ghostwright/phantom/tree/main/docs +- **License:** Apache 2.0 +- **Version:** 0.20.2 · 30,000+ lines · 1,819 tests diff --git a/agents/ghostwright__phantom/metadata.json b/agents/ghostwright__phantom/metadata.json new file mode 100644 index 0000000..da087a6 --- /dev/null +++ b/agents/ghostwright__phantom/metadata.json @@ -0,0 +1,27 @@ +{ + "name": "phantom", + "author": "ghostwright", + "description": "Autonomous AI co-worker on its own VM: persistent memory, self-evolution, MCP server, multi-channel (Slack/Web/Telegram/Email), built on Claude Agent SDK.", + "repository": "https://github.com/computer-agent/phantom", + "version": "0.20.2", + "category": "productivity", + "tags": [ + "autonomous-agent", + "persistent-memory", + "self-evolution", + "mcp", + "slack", + "multi-channel", + "claude-agent-sdk", + "infrastructure", + "docker", + "typescript" + ], + "license": "Apache-2.0", + "model": "claude-opus-4-7", + "adapters": [ + "claude-code", + "system-prompt" + ], + "icon": false +} From 51c111306774299a3674e13a713e51daeeabd639 Mon Sep 17 00:00:00 2001 From: GAP Promoter Date: Thu, 28 May 2026 07:43:56 +0000 Subject: [PATCH 2/2] =?UTF-8?q?Update=20ghostwright/phantom=20registry=20e?= =?UTF-8?q?ntry=20=E2=80=94=20fix=20repo=20URL=20+=20refresh=20metadata?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agents/ghostwright__phantom/README.md | 79 ++++++++++++----------- agents/ghostwright__phantom/metadata.json | 27 ++------ 2 files changed, 48 insertions(+), 58 deletions(-) diff --git a/agents/ghostwright__phantom/README.md b/agents/ghostwright__phantom/README.md index d3b39aa..24ff91b 100644 --- a/agents/ghostwright__phantom/README.md +++ b/agents/ghostwright__phantom/README.md @@ -1,52 +1,55 @@ # Phantom -> *An AI co-worker with its own computer.* +An autonomous AI co-worker that lives on its own VM, remembers everything across sessions, and gets better at your work every day. -Phantom is an autonomous AI agent that runs as a persistent process on a dedicated VM. Unlike chat-based assistants, Phantom has its own machine, its own memory, and its own tools — and it builds new capabilities on the fly without being explicitly asked. +> Built by [ghostwright](https://github.com/ghostwright) · Apache 2.0 · TypeScript + Bun · 1,800+ tests -## What Phantom Does +## Run -- **Persistent Memory** — Vector-backed episodic + semantic recall via Qdrant. Phantom remembers what you told it last week and gets better at your job over time. -- **Self-Evolution** — A 6-step pipeline lets Phantom propose and apply rewrites to its own configuration, validated by 5 gates (constitution, regression, size, drift, safety). Bad evolutions are auto-rolled back. -- **MCP Server** — 17+ tools exposed over Streamable HTTP with bearer token auth. Phantom can connect to other Phantom instances as MCP peers. -- **Multi-Channel** — Communicates over Slack (Socket Mode), Web Chat (React SSE), Telegram, Email (IMAP/SMTP), and HMAC-signed Webhooks. -- **Dynamic Tools** — Registers new tools at runtime from a SQLite-backed registry. Give it an API key it has never seen and it learns to use it. -- **Infrastructure** — Runs in Docker on a public VM. Dashboards, APIs, and pages it builds get real URLs, not localhost. +```bash +npx @open-gitagent/gitagent@latest run -r https://github.com/ghostwright/phantom +``` -## Real Examples (Production) +## What It Does -- Built a ClickHouse analytics platform for 28.7 million Hacker News rows — unprompted. -- Extended itself with a Discord channel it was never shipped with — when asked if it could. -- Integrated Vigil (3-star open-source) into its own ClickHouse instance to monitor its own infrastructure. +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. -## Tech Stack +| 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 | -| Layer | Technology | -|-------|-----------| -| Runtime | Bun (TypeScript) | -| Agent | Claude Agent SDK (`@anthropic-ai/claude-agent-sdk`) | -| Memory | Qdrant + Ollama embeddings | -| State | SQLite via Bun | -| Channels | Slack, Web Chat (React 19), Telegram, Email, Webhook | -| MCP | Streamable HTTP, 17+ tools | -| Infrastructure | Docker Compose, Hetzner/Specter VMs | +## Skills -## Quick Start +- `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 -```bash -curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/docker-compose.user.yaml -o docker-compose.yaml -curl -fsSL https://raw.githubusercontent.com/ghostwright/phantom/main/.env.example -o .env -# Add ANTHROPIC_API_KEY + Slack tokens to .env -docker compose up -d -``` +## Stack -## Model Support +- **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 -Anthropic (default), Z.AI/GLM-5.1, OpenRouter (100+ models), Ollama, vLLM, LiteLLM, or any Anthropic Messages API-compatible endpoint. - -## Links +## Quick Start -- **Repo:** https://github.com/ghostwright/phantom -- **Docs:** https://github.com/ghostwright/phantom/tree/main/docs -- **License:** Apache 2.0 -- **Version:** 0.20.2 · 30,000+ lines · 1,819 tests +```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 index da087a6..28e04aa 100644 --- a/agents/ghostwright__phantom/metadata.json +++ b/agents/ghostwright__phantom/metadata.json @@ -1,27 +1,14 @@ { "name": "phantom", "author": "ghostwright", - "description": "Autonomous AI co-worker on its own VM: persistent memory, self-evolution, MCP server, multi-channel (Slack/Web/Telegram/Email), built on Claude Agent SDK.", - "repository": "https://github.com/computer-agent/phantom", + "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", - "claude-agent-sdk", - "infrastructure", - "docker", - "typescript" - ], + "tags": ["autonomous-agent", "persistent-memory", "self-evolution", "mcp", "slack", "multi-channel", "typescript", "bun"], "license": "Apache-2.0", - "model": "claude-opus-4-7", - "adapters": [ - "claude-code", - "system-prompt" - ], - "icon": false + "model": "claude-opus-4-5-20250929", + "adapters": ["claude-code", "system-prompt"], + "icon": false, + "banner": false }