用途
Phantom 是一个 AI 同事(AI co-worker)智能体,运行在自己的专属机器上。它面向需要长期、持续、可自主扩展能力的自动化协作场景:不只是被动应答的聊天机器人,而是拥有持久记忆、可自我进化、能主动搭建基础设施的“数字同事”。
主要能力
- 持久记忆:使用 Qdrant 向量数据库存储记忆,通过 Ollama 生成嵌入向量,实现跨会话的语义召回。
- 动态 MCP 工具注册:Phantom 可在运行时创建 MCP 工具,并将工具定义持久化,重启后依然可用。
- 自我进化引擎:遵循“观察 → 反思 → 提议 → 验证 → 进化”的循环,基于观察到的交互模式提出改进,并用独立的验证模型(EVOLUTION_VALIDATION_MODEL)审核,避免自我增强偏差。
- 多渠道沟通:支持 Slack、Email(Resend)、Telegram、Webhook、Discord 等渠道,拥有自己的 Slack/邮件身份。
- 基础设施构建:可在自己的 VM 上运行 shell 命令与 Docker,例如启动 PostgreSQL 容器、提供 Web 页面、注册数据库查询工具等。
- 加密凭据保险库:通过 AES-256-GCM 加密收集与存储凭据,使用一次性安全表单链接收集敏感信息,而非明文。
- MCP 服务器:对外暴露 MCP 端点,可被 Claude Code 等客户端连接,使用 Phantom 注册的全部工具。
使用方式
安装(Docker,推荐)
# 下载 compose 文件与环境变量模板
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
# 编辑 .env 填入凭据
nano .env
# 启动 Phantom(包含 Qdrant + Ollama)
docker compose up -d
# 健康检查
curl http://localhost:3100/health
# 查看日志
docker compose logs -f phantom
安装(源码,Bun)
git clone https://github.com/ghostwright/phantom.git
cd phantom
# 安装依赖
bun install
# 复制环境变量
cp .env.example .env
# 编辑 .env
# 启动 Qdrant(记忆功能必需)
docker run -d -p 6333:6333 qdrant/qdrant
# 启动 Phantom
bun run start
# 开发模式(热重载)
bun run dev
配置(.env)
必需项:ANTHROPIC_API_KEY。
Slack 渠道需要:SLACK_BOT_TOKEN、SLACK_APP_TOKEN、SLACK_SIGNING_SECRET、OWNER_SLACK_USER_ID。
记忆相关:QDRANT_URL、QDRANT_API_KEY(可选,云端 Qdrant 用)、OLLAMA_URL。
邮件(可选):RESEND_API_KEY、PHANTOM_EMAIL。
Telegram(可选):TELEGRAM_BOT_TOKEN。
基础设施:PHANTOM_VM_DOMAIN、PHANTOM_PORT(默认 3100)。
自我进化:EVOLUTION_VALIDATION_MODEL、EVOLUTION_ENABLED。
凭据保险库:CREDENTIAL_ENCRYPTION_KEY(AES-256-GCM 密钥,留空则自动生成)。
常用命令
# Docker 操作
docker compose up -d # 启动全部服务
docker compose down # 停止全部服务
docker compose logs -f phantom # 流式日志
docker compose pull # 更新到最新镜像
# Bun 开发
bun run start # 生产启动
bun run dev # 开发模式(监听)
bun run test # 运行测试套件
bun run build # 构建 TypeScript
# 健康检查
curl http://localhost:3100/health
curl http://localhost:3100/status
# MCP 服务器端点
curl http://localhost:3100/mcp
连接 Claude Code 到 Phantom 的 MCP 服务器
在 ~/.claude/claude_desktop_config.json 或 .cursor/mcp.json 中配置:
{
"mcpServers": {
"phantom": {
"url": "http://your-phantom-vm:3100/mcp"
}
}
}
或通过 CLI:
claude mcp add phantom --url http://your-phantom-vm:3100/mcp
claude mcp list
Webhook 渠道示例
const response = await fetch('http://your-phantom:3100/webhook/message', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': `Bearer ${process.env.PHANTOM_WEBHOOK_SECRET}`,
},
body: JSON.stringify({
message: 'Analyze our GitHub issues and create a priority matrix',
userId: 'automation-system',
context: { source: 'ci-pipeline', repo: 'myorg/myrepo' },
}),
});
Slack App 设置
前往 api.slack.com/apps → Create New App → From manifest,使用资料中提供的 manifest(包含 bot 用户、app home、OAuth 权限范围如 channels:history、chat:write、files:write 等)。
架构概览
Phantom Agent 由 Claude Agent SDK、Qdrant(记忆)、MCP 服务器(动态工具)组成,并包含 Channels(Slack/Email/Telegram/Webhook/Discord)与 Self-Evolution Engine(观察→反思→提议→验证→进化)。Docker Compose 结构包含 phantom、qdrant、ollama 三个服务,phantom 挂载 /var/run/docker.sock 以支持 Docker-in-Docker。
适用场景
- 需要长期记忆与持续协作的自动化助手。
- 通过 Slack/邮件/Telegram/Webhook 与团队或系统交互的 AI 同事。
- 需要自主搭建数据库、API、仪表盘、数据管道等基础设施的自动化任务。
- 希望将 Phantom 注册的工具接入 Claude Code 等 MCP 客户端使用。
限制
- 依赖 Anthropic API Key,核心模型为 Claude。
- 记忆功能需要 Qdrant,嵌入需要 Ollama。
- 自我进化默认需显式开启(EVOLUTION_ENABLED=true),且依赖独立验证模型。
- 资料未提供具体收费、价格、性能指标或平台兼容性细节,暂未提供。