Empryo
以代码图谱和 AST 符号编辑减少代码修改风险。
按维度查看评分与理由
证据显示有安全机制:SECURITY.md 描述了禁止文件强制、外部CWD确认、shell反模式检测、密钥存储和会话权限。但缺少用户确认的细节(如编辑前是否总是询问),数据流透明度有限(未说明工具如何报告数据使用),依赖安全仅通过固定版本和CI检查部分体现。扣分:用户确认和数据流透明度证据不足。
测试覆盖了AgentBus和AST编辑的健壮性,但CI中测试被跳过,依赖可用性未验证。失败消息在测试中有体现(如模糊错误),但整体可靠性证据有限。扣分:CI跳过测试,依赖可用性未验证。
README描述了多种使用场景(桌面、终端、CLI),能力边界有说明(如AST操作),但触发精度(如命令触发)未详细说明。环境适配有跨平台支持。扣分:触发精度证据不足。
信息架构清晰(README、SECURITY、LICENSE),安装说明详细,但命名稳定性(SoulForge改名Empryo)可能引起混淆,示例和FAQ有限,已知限制未明确,版本变更日志未提供,维护责任未明确。扣分:命名稳定性、示例、已知限制、版本日志、维护责任证据不足。
输出可用性有测试支持(如extractFinalText),边际价值有基准测试声称,成本效益有声称但未验证。扣分:基准测试未独立验证。
声明可追溯性有限(基准测试链接外部),跨来源佐证不足,事实与推断分离不明确。扣分:缺乏独立验证和明确区分。
- CI 中测试被跳过,依赖可用性未验证。
- 基准测试声称未独立验证。
- 命名从 SoulForge 改为 Empryo,可能引起混淆。
- 许可证为 BUSL-1.1,非开源,使用受限。
这个 Agent 能做什么,适合哪些场景?
Empryo 是一款本地运行的 AI 编程代理,前身为 SoulForge。它在启动时用 tree-sitter 解析仓库,构建包含符号、导入关系和调用点的实时依赖图谱,并用 PageRank 与 Git 协同变更数据排序。代理通过 AST 进行符号级修改,而非简单文本替换,并提供原子批处理与回滚机制。产品提供原生桌面应用、完整终端 UI,以及可用于脚本和 CI 的无头 CLI,三者共享同一代码图谱。该仓库是 Empryo 的公开问题与讨论入口,同时保留已归档的 SoulForge 源码;新功能开发已转向 Empryo。
运行 empryo 后,Empryo 会解析当前项目,索引符号、导入和调用点,并建立可查询的代码图谱。它可在修改前查看导入依赖、历史共同变更和影响范围,再通过 65+ 种符号级 AST 操作及跨 30+ 种语言的结构化编辑修改代码;批量操作支持全成或全不成的回滚,并以 typecheck 作为门槛。它还提供并行 explore/edit 子代理、共享 I/O 缓存、十个可路由角色、MCP 服务器连接、语言服务器支持,以及将每条提示保存为 Git 检查点的回退机制。
- 维护跨模块 TypeScript、Python 或其他支持语言项目的开发者,在重命名或重构前需要查看调用点和潜在影响范围。
- 需要在终端中处理代码任务的工程师,希望使用
empryoCLI 而不是桌面界面。 - 在 CI 或脚本中集成无头代码代理流程的团队,使用同一套代码图谱执行自动化任务。
- 同时处理多个工作区的开发者,为不同标签页分配不同模型和角色,例如用低成本模型探索、用更强模型编写代码。
- 对私有仓库有本地处理要求的团队,使用自带的模型密钥,或通过 Ollama、LM Studio 在本地运行模型。
这个 Agent 有哪些优点和局限?
- 以符号、导入和调用点构成的实时图谱导航代码,并结合 PageRank 与 Git 协同变更排序,而不是只依赖全文检索。
- 提供 65+ 种 AST 符号级操作、原子批处理和回滚,面向结构化重构而非脆弱的字符串替换。
- 同时覆盖原生桌面应用、终端 UI 与无头 CLI,适合交互开发和脚本/CI 两种使用方式。
- 支持多模型角色路由、22 个提供商、本地 Ollama/LM Studio,以及 OpenAI 兼容端点。
- 使用云端模型需要自行提供相应服务商密钥;虽然 Ollama 可免密本地运行,但需要自行准备本地模型环境。
- 仓库中明确说明新功能开发已迁至 Empryo,而此处主要是问题、讨论和归档的 SoulForge 源码,无法据此审阅 Empryo 当前实现。
- 安装方式包含远程 shell 或 PowerShell 安装脚本;采用这类方式前需要符合团队的软件安装与供应链政策。
- 高级语言服务器能力依赖 Mason 管理的语言服务器,实际可用性取决于所用语言服务器及本地环境。
如何安装或部署这个 Agent?
macOS/Linux:curl -fsSL https://empryo.com/install.sh | bash;Windows PowerShell:irm https://empryo.com/install.ps1 | iex。也可使用 Homebrew:brew install proxysoul/tap/empryo,或 Windows Package Manager:winget install ProxySoul.Empryo。随后设置 Anthropic 密钥:empryo --set-key anthropic sk-ant-...;如使用本地 Ollama,则无需密钥。
如何使用这个 Agent?
进入目标项目并运行:cd your-project,然后执行 empryo。该命令会启动终端界面并处理当前仓库;桌面应用和预编译二进制可从下载页获取。可按标签页或项目配置角色路由,并连接 MCP 服务器或使用语言服务器能力。无头 CLI 也可用于脚本或 CI。
这个 Agent 与同类方案有什么区别?
README 提供了与 pi 的基准对比:在两轮指定任务中,Empryo 报告了更低成本和更短墙钟时间;第二轮为 hono、zod、ky 的真实缺陷任务。该比较仅覆盖 README 所述的模型、仓库和任务设置。