Phantom 自主协作助手
在独立机器上长期运行、记忆并持续改进的 AI 协作助手。
- Star 数
- ★ 1.5k
- 最近更新
- 4 个月前
- License
- Apache-2.0
- 主语言
- TypeScript
- FA 评分
- 59/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Claude Code · Claude APIClaude.ai · OpenAI API(部分支持)
- 费用
- 有免费版,另有付费云服务
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 软件团队需要一台常驻 VM,在每个工作日汇总开放 PR、CI 状态和待审查事项,并把结果发到 Slack。
- 不适合
- 不愿把宿主机 Docker 守护进程权限交给容器的团队
- 需要完全离线、不调用任何云端大模型的用户
- 只想在个人笔记本上随手试用的普通用户
- 源码审查
- 59/100 · 缺口较多
这个 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 自主协作助手 当前 | 59 · 缺口较多 | 自托管服务免费版 + 付费版 | ★ 1.5k | 4 个月前 | TypeScript | Claude Code · Claude API |
| Agency Orchestrator:一句话组队 AI 专家团队 | 71 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 2.5k | 5 天前 | TypeScript | Codex · Claude Code · OpenAI API · Claude API |
| Dokploy MCP 服务器 | 62 · 存在缺口 | MCP 服务器免费 | ★ 426 | 1 个月前 | TypeScript | Claude Code · Claude.ai |
| OpenSandbox 运行时 | 74 · 存在缺口 | 代码库 / SDK免费 | ★ 17k | 今天 | Python | Codex · Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
安全文档明确披露完整 shell、网络访问和 Docker socket 的 root 等价权限,并建议专用机器;但代理可在无需许可的情况下安装软件、创建工具和基础设施,最小权限及操作前确认控制较弱,因此扣分。凭证加密、哈希令牌、子进程环境隔离、认证范围和审计有具体描述;不过安全承诺主要由文档陈述,且未提供依赖漏洞处置证据。演化版本可回滚,但一般外部副作用的恢复流程不清;发布者身份及维护责任也未获验证。
仓库给出 CI 工作流、依赖锁定安装步骤和多项健康检查说明,但 README 测试徽章为 1819,而开发设置命令注释仍称 1584;安全文档中的 web UI 登录投递渠道也与其他材料描述不一致。故自洽性有限。启动日志、doctor 检查及排障步骤提供了部分故障可见性。
材料覆盖非工程用户、软件工程、销售、分析及运营,并说明 Slack、Web Chat 等使用场景。安全文档列出权限边界、危险命令拦截和已知风险,但代理仍具广泛自主能力,边界与用户确认机制不完整。支持多模型、Docker、本机及 VM 部署,环境适配较广;不同场景下的能力限制与触发条件仍不够精确。
文档按安装、架构、安全、渠道和提供商组织,包含命令示例、故障排查及明确的 Docker socket 风险;但本材料中的文件截断,完整 FAQ 与限制覆盖无法确认。名称和 CLI 版本在所见文件中一致。Apache 2.0 有许可证文本支持。版本号可见,但没有随包材料中的变更日志;安全政策列出报告邮箱和响应时限,但发布者未验证,长期维护责任证据有限。
产品提供持久记忆、跨渠道交互、MCP 和自建工具,并给出可分享产物的具体案例,预期边际价值较高。输出可经聊天、邮件、页面和 MCP 使用;但完整自动搭建与外发能力增加审阅和运营负担,且成本说明仅为宣传性估算,缺少不同模型、部署与维护成本的可核验比较,故成本收益得分偏低。
架构、安全和安装主张可对应到具体文档、配置及源文件路径;CI 工作流说明自动检查项目,安全文档也列出实现位置。不过生产案例和测试数量主要是 README/CLAUDE.md 的陈述,样本中没有相应案例材料或测试结果;部分安全主张也未在提供的实现文件中交叉核验。事实与推断区分不充分,因此扣分。
- Docker socket 挂载赋予代理对宿主 Docker daemon 的 root 等价控制;应仅在专用 VM 上部署,并审慎选择它可接触的数据与凭证。
- 产品宣称代理可自主创建工具、安装软件及发送消息;使用前应核对实际访问范围、外发目标和恢复方案。
- README 与开发说明中的测试数量不一致,且本次为静态审查,未执行或独立验证测试与生产案例。
常见问题
Phantom 会直接访问我的个人电脑吗?
是否只能使用 Claude?
它如何记住并改变行为?
Claude Code 能做什么?
/mcp 后,Claude Code 可查询 Phantom 的记忆、提问、检查状态,以及调用 Phantom 已创建的动态工具。谢谢反馈,我们会据此改进页面。