Empryo
以代码图谱和 AST 符号编辑减少代码修改风险。
- Star 数
- ★ 1.6k
- 最近更新
- 21 天前
- License
- NOASSERTION
- 主语言
- TypeScript
- FA 评分
- 50/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI API · Claude API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 低 · 几分钟可跑通
- 开始前需要
- 典型场景
- 维护跨模块 TypeScript、Python 或其他支持语言项目的开发者,在重命名或重构前需要查看调用点和潜在影响范围。
- 不适合
- 希望直接审阅当前 Empryo 实现代码的团队,本仓库仅保留归档的 SoulForge 源码
- 禁止使用远程安装脚本(curl | bash / irm | iex)的企业环境
- 源码审查
- 50/100 · 缺口较多
这个 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?
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 有哪些优点和局限?
- 以符号、导入和调用点构成的实时图谱导航代码,并结合 PageRank 与 Git 协同变更排序,而不是只依赖全文检索。
- 提供 65+ 种 AST 符号级操作、原子批处理和回滚,面向结构化重构而非脆弱的字符串替换。
- 同时覆盖原生桌面应用、终端 UI 与无头 CLI,适合交互开发和脚本/CI 两种使用方式。
- 支持多模型角色路由、22 个提供商、本地 Ollama/LM Studio,以及 OpenAI 兼容端点。
- 使用云端模型需要自行提供相应服务商密钥;虽然 Ollama 可免密本地运行,但需要自行准备本地模型环境。
- 仓库中明确说明新功能开发已迁至 Empryo,而此处主要是问题、讨论和归档的 SoulForge 源码,无法据此审阅 Empryo 当前实现。
- 安装方式包含远程 shell 或 PowerShell 安装脚本;采用这类方式前需要符合团队的软件安装与供应链政策。
- 高级语言服务器能力依赖 Mason 管理的语言服务器,实际可用性取决于所用语言服务器及本地环境。
这个 Agent 与同类方案有什么区别?
README 提供了与 pi 的基准对比:在两轮指定任务中,Empryo 报告了更低成本和更短墙钟时间;第二轮为 hono、zod、ky 的真实缺陷任务。该比较仅覆盖 README 所述的模型、仓库和任务设置。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Empryo 当前 | 50 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 1.6k | 21 天前 | TypeScript | OpenAI API · Claude API |
| Codewhale 终端编码助手 | 75 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 41k | 1 天前 | Rust | OpenAI API · Claude API |
| CodeSeek 代码智能 CLI | 48 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 759 | 3 个月前 | Rust | Codex · Claude Code |
| codedb | 60 · 存在缺口 | MCP 服务器免费 | ★ 1.4k | 10 天前 | Zig | ChatGPT · Codex · Claude Code · Claude.ai · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示有安全机制: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,非开源,使用受限。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v2.20.25 SoulForge 2.20.25
-
v2.20.24 SoulForge 2.20.24
发布说明摘录
[2.20.24] — 2026-07-12 Features - reface repo as Empryo + one-time TUI announcement在 GitHub 查看 ↗ -
v2.20.23 SoulForge 2.20.23
发布说明摘录
[2.20.23] — 2026-07-08 Bug Fixes - intelligence: bound backend parsing and scans to prevent UI freezes (discussion #129)在 GitHub 查看 ↗