Phantom 自主协作助手

在独立机器上长期运行、记忆并持续改进的 AI 协作助手。

Star 数
★ 1.5k
最近更新
3 个月前
License
Apache-2.0
主语言
TypeScript

30 秒速览

可在哪里用
通用 · 跨平台Claude Code · Claude APIClaude.ai · OpenAI API(部分支持)
开始前需要
DockerBunQdrantOllamaShell / 命令行网络访问本地文件系统MCP Server
典型场景
软件团队需要一台常驻 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 五道门审核后写入新版本。

  1. 软件团队需要一台常驻 VM,在每个工作日汇总开放 PR、CI 状态和待审查事项,并把结果发到 Slack。
  2. 工程师希望让 Claude Code 通过 MCP 查询团队助手的记忆、状态或已创建的动态工具。
  3. 数据团队要在代理所在机器安装数据库、加载数据集、构建仪表板和 REST API,并将 API 注册为 MCP 工具。
  4. 运营团队需要按计划检查网站或开源仓库变化,并将通知推送到 Slack。
  5. 没有本地开发环境的业务人员想通过 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?

FollowAgents 源码审查 · FARS-2.1
缺口较多
49/ 100 五分制 2.5 / 5
信任安全 11/29
可靠稳定 6/14
适用触发 10/18
规范维护 10/18
有效结果 9/13
证据核验 3/8
查看各维度的扣分理由
信任安全11 / 29 · 1.9/5

证据显示:README 和 SECURITY.md 描述了 AES-256-GCM 加密、子进程环境隔离、非 root 容器、MCP 认证和进化安全门。但缺少用户确认机制(如权限提示),数据流透明度有限,外部影响(如 Docker socket 挂载)虽有说明但风险高。扣分:用户确认缺失,数据流透明度不足,外部影响风险未充分缓解。

可靠稳定6 / 14 · 2.1/5

证据显示:README 声称 1819 个测试通过,CI 配置包含 lint、typecheck、测试和迁移安全检查。但依赖版本未锁定(使用 ^),且没有失败消息的详细说明。扣分:依赖可用性未验证,失败消息不明确。

适用触发10 / 18 · 2.8/5

证据显示:README 描述了多种使用场景(非程序员、软件工程、销售等),并提供了多种模型提供商和部署方式。但触发精度(如命令解析)未详细说明,环境适配(如 Docker、VM)有说明但未验证。扣分:触发精度不足,环境适配未充分验证。

规范维护10 / 18 · 2.8/5

证据显示:README 结构清晰,包含安装说明、示例、已知限制(如 Docker socket 风险)、Apache-2.0 许可证。但缺少版本变更日志,维护责任不明确(未验证的发布者)。扣分:版本变更日志缺失,维护责任不明确。

有效结果9 / 13 · 3.5/5

证据显示:README 提供了丰富的用例和输出示例(如仪表盘、API),声称成本效益($7-20/月)。但缺乏独立验证,边际价值可能被夸大。扣分:输出可用性未验证,成本效益声明缺乏证据。

证据核验3 / 8 · 1.9/5

证据显示:README 中的声明(如测试数量、生产故事)没有提供可追溯的链接或独立验证。扣分:声明可追溯性不足,跨来源佐证缺失,事实与推断未明确分离。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • Docker socket 挂载提供 root 级访问,存在严重安全风险,应仅在专用 VM 上运行。
  • 自进化机制可能被对抗性输入影响,尽管有安全门,但长期行为变化风险仍存在。
  • 发布者身份未验证,依赖版本未锁定,供应链风险需关注。
证据充分度: 评估于 2026年8月9日 审查版本 f8c7ab42d885
查看完整评分方法 →

常见问题

Phantom 会直接访问我的个人电脑吗?
其设计是运行在独立机器或 VM 上。若使用推荐 Docker 配置,代理容器能通过 Docker socket 管理宿主 Docker,因此不应部署在不希望承担该权限边界的个人工作站上。
是否只能使用 Claude?
不是。默认是 Anthropic,但文档列出了 Z.AI、OpenRouter、Ollama、vLLM、LiteLLM 和兼容 Anthropic Messages API 的自定义端点。
它如何记住并改变行为?
它使用三层向量记忆;每次会话后可生成配置变更提案,经过五道校验门和可选 LLM 评审后应用,并保存版本供比较或回滚。
Claude Code 能做什么?
使用 bearer token 连接 /mcp 后,Claude Code 可查询 Phantom 的记忆、提问、检查状态,以及调用 Phantom 已创建的动态工具。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents