Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
55 changes: 55 additions & 0 deletions agents/ghostwright__phantom/README.md
Original file line number Diff line number Diff line change
@@ -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
```
14 changes: 14 additions & 0 deletions agents/ghostwright__phantom/metadata.json
Original file line number Diff line number Diff line change
@@ -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
}