Phantom 自主协作助手
在独立机器上长期运行、记忆并持续改进的 AI 协作助手。
- Star 数
- ★ 1.5k
- 最近更新
- 3 个月前
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 49/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台Claude Code · Claude APIClaude.ai · OpenAI API(部分支持)
- 开始前需要
- 典型场景
- 软件团队需要一台常驻 VM,在每个工作日汇总开放 PR、CI 状态和待审查事项,并把结果发到 Slack。
- 主要局限
- 推荐 Docker 配置挂载
/var/run/docker.sock;文档明确说明这会给予容器对 Docker daemon 的 root 等价访问,建议使用专用机器或 VM。
这个 Agent 能做什么,适合哪些场景?
Phantom 是一个以 Bun 进程运行的自托管 AI 协作助手,设计目标是让代理拥有独立的工作机器,而非占用用户的电脑。它通过 Slack、Web Chat、Telegram、Email、Webhook 和 CLI 接收任务,并提供 Streamable HTTP MCP 服务供 Claude Code 等客户端连接。系统使用 Qdrant、Ollama 和三层向量记忆保存上下文,SQLite 用于本地持久化,并可在运行时创建和登记 MCP 工具。每次会话后,它可执行观察、批评、生成、验证、应用和整合六步自我演进流程,变更会经过五道校验门并保留版本以供回滚。Docker 部署会挂载宿主机 Docker socket,因此适合专用 VM 或隔离主机,而不适合直接放在个人工作电脑上。
Phantom 组装基础提示词、角色配置、演进配置和记忆上下文后,通过 Agent Runtime 的 query() 与 hooks 处理来自各通道的请求。它把记忆写入 Qdrant 的三个集合,调用 Ollama 提供嵌入模型,并可运行安装软件、启动数据库和构建服务等工作负载。代理可创建并注册动态 MCP 工具;这些工具会跨重启保存,并通过 /mcp 的 Streamable HTTP 接口提供给其他 MCP 客户端。会话结束后,自我演进引擎从对话提取修正、偏好和领域事实,提出最小配置变更,并经 constitution、regression、size、drift、safety 五道门审核后写入新版本。
- 软件团队需要一台常驻 VM,在每个工作日汇总开放 PR、CI 状态和待审查事项,并把结果发到 Slack。
- 工程师希望让 Claude Code 通过 MCP 查询团队助手的记忆、状态或已创建的动态工具。
- 数据团队要在代理所在机器安装数据库、加载数据集、构建仪表板和 REST API,并将 API 注册为 MCP 工具。
- 运营团队需要按计划检查网站或开源仓库变化,并将通知推送到 Slack。
- 没有本地开发环境的业务人员想通过 Slack 请求落地页、表单或周报,并获得可分享的受认证链接。
如何安装或部署这个 Agent?
推荐使用 Docker:
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,至少填写 ANTHROPIC_API_KEY;如需 Slack,还要填写 Slack tokens 和 OWNER_SLACK_USER_ID。随后执行:
docker compose up -d部署会启动 Qdrant、拉取 Ollama 嵌入模型并启动代理。开发环境可使用 bun install,启动 Qdrant 和 Ollama 后执行 bun run phantom init --yes,设置 ANTHROPIC_API_KEY,再运行 bun run phantom start。
如何使用这个 Agent?
启动后访问 http://localhost:3100/health 检查健康状态。配置 Slack 后,可直接向 Phantom 发送任务;README 给出的示例包括“Create an MCP token for Claude Code.”。连接 Claude Code 时,先执行 bun run phantom token create --client claude-code --scope operator(Docker 部署则用 docker exec phantom bun run phantom token create --client claude-code --scope operator),再执行 claude mcp add phantom https://your-phantom.ghostwright.dev/mcp --transport http --header "Authorization: Bearer YOUR_TOKEN"。本地部署将 MCP URL 改为 http://localhost:3100/mcp。
这个 Agent 有哪些优点和局限?
- 独立 VM 工作区可运行服务、数据库和容器,避免直接把代理放在用户电脑上。
- 提供 Slack、网页聊天、Telegram、Email、Webhook、CLI 与 Streamable HTTP MCP 等多种交互和集成边界。
- 动态 MCP 工具可在运行时创建、持久保存,并被其他 MCP 客户端使用。
- 支持 Anthropic、Z.AI、OpenRouter、Ollama、vLLM、LiteLLM 和兼容 Anthropic Messages API 的自定义端点。
- 自我演进流程包含跨模型评审、少数否决、版本保存和回滚机制。
- 推荐 Docker 配置挂载
/var/run/docker.sock;文档明确说明这会给予容器对 Docker daemon 的 root 等价访问,建议使用专用机器或 VM。 - 完整记忆与嵌入方案依赖 Qdrant 和 Ollama;开发部署还需要 Bun、Docker 与模型 API 凭据。
- 默认模型为 Anthropic,且自我演进的安全关键评审默认使用 Sonnet;使用其他后端需要 YAML 配置和相应密钥或代理。
- Claude Desktop 仅支持 stdio,因此连接 Phantom 的 HTTP MCP 服务时需要额外使用
mcp-remote。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| Phantom 自主协作助手 当前 | 49 · 缺口较多 | ★ 1.5k | 3 个月前 | TypeScript | Claude Code · Claude API |
| Dokploy MCP 服务器 | 65 · 存在缺口 | ★ 383 | 5 天前 | TypeScript | Claude Code · Claude.ai |
| Agency Orchestrator:一句话组队 AI 专家团队 | 61 · 存在缺口 | ★ 2.3k | 1 天前 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Stakpak | 57 · 缺口较多 | ★ 1.8k | 2 个月前 | Rust | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:README 和 SECURITY.md 描述了 AES-256-GCM 加密、子进程环境隔离、非 root 容器、MCP 认证和进化安全门。但缺少用户确认机制(如权限提示),数据流透明度有限,外部影响(如 Docker socket 挂载)虽有说明但风险高。扣分:用户确认缺失,数据流透明度不足,外部影响风险未充分缓解。
证据显示:README 声称 1819 个测试通过,CI 配置包含 lint、typecheck、测试和迁移安全检查。但依赖版本未锁定(使用 ^),且没有失败消息的详细说明。扣分:依赖可用性未验证,失败消息不明确。
证据显示:README 描述了多种使用场景(非程序员、软件工程、销售等),并提供了多种模型提供商和部署方式。但触发精度(如命令解析)未详细说明,环境适配(如 Docker、VM)有说明但未验证。扣分:触发精度不足,环境适配未充分验证。
证据显示:README 结构清晰,包含安装说明、示例、已知限制(如 Docker socket 风险)、Apache-2.0 许可证。但缺少版本变更日志,维护责任不明确(未验证的发布者)。扣分:版本变更日志缺失,维护责任不明确。
证据显示:README 提供了丰富的用例和输出示例(如仪表盘、API),声称成本效益($7-20/月)。但缺乏独立验证,边际价值可能被夸大。扣分:输出可用性未验证,成本效益声明缺乏证据。
证据显示:README 中的声明(如测试数量、生产故事)没有提供可追溯的链接或独立验证。扣分:声明可追溯性不足,跨来源佐证缺失,事实与推断未明确分离。
- 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
- Docker socket 挂载提供 root 级访问,存在严重安全风险,应仅在专用 VM 上运行。
- 自进化机制可能被对抗性输入影响,尽管有安全门,但长期行为变化风险仍存在。
- 发布者身份未验证,依赖版本未锁定,供应链风险需关注。
常见问题
Phantom 会直接访问我的个人电脑吗?
是否只能使用 Claude?
它如何记住并改变行为?
Claude Code 能做什么?
/mcp 后,Claude Code 可查询 Phantom 的记忆、提问、检查状态,以及调用 Phantom 已创建的动态工具。