Forgeo 软件工厂
按计划把待办任务交给编码代理执行并提交结果。
- Star 数
- ★ 30
- 最近更新
- 4 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 76/100 · 存在缺口
30 秒速览
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 开始前需要
- 典型场景
- 维护小型 Git 项目的个人开发者,希望让 Codex、Claude Code 或其他 CLI 按 JSON 待办逐项完成工作并自动提交。
- 主要局限
- 采用它需要允许代理 CLI 修改 Git 工作区并创建提交;默认直接面向主线的模式对仓库权限和代理质量要求较高。
- 源码审查
- 76/100 · 存在缺口
这个 Agent 能做什么,适合哪些场景?
Forgeo 是运行在 Git 仓库中的定时软件工厂,负责从待办列表选择任务、调用编码代理并提交产出。它支持 JSON 文件以及 GitHub、GitLab、Jira 和 HTTP 待办提供方,并通过普通文件与 Web 控制台展示进度。执行器不绑定单一代理:任何能读取 FORGEO_TASK 的 CLI 都可以接入,来源还明确列出了 Claude Code、Codex、aider 和自定义脚本。默认工作流一次处理一个满足依赖关系或 run_at 时间条件的任务;没有待办任务时会执行重构流程。任务可进入 COMPLETED、REVIEW、BLOCKED 或 FAILED 等状态,并配有重试、文件待办快照、BLOCKER.md 以及 Telegram 或 webhook 通知机制。它面向能够提供终端、Git 仓库和代理 CLI 的自托管开发环境,而不是托管式聊天产品。
Forgeo 读取 forgeo.yaml 和选定提供方中的待办数据,挑选最早的可运行 OPEN 任务:其依赖项必须为 COMPLETED,或者任务达到 run_at 时间。随后它通过 FORGEO_TASK 把任务交给配置的代理 CLI,等待代理修改当前仓库,再提交并按配置推送结果。默认流程直接面向主线;启用 review_mode: branch 后,它会提交到 forgeo/review/TASK-001 一类分支、把任务标记为 REVIEW,并等待人工合并后完成。空待办会触发重构轮次。失败任务可按策略重试,需要人工判断时则标记 BLOCKED 并使用 BLOCKER.md;文件待办在运行前生成 backlog.json.bak,损坏时恢复。forgeo web 提供多实例控制台与 HTTP API,forgeo status、once、run、start、stop 和 restart 用于日常控制。
- 维护小型 Git 项目的个人开发者,希望让 Codex、Claude Code 或其他 CLI 按 JSON 待办逐项完成工作并自动提交。
- 需要在夜间或固定间隔处理已排期任务的团队,可使用 run_at 与后台守护进程运行任务。
- 希望保留人工审批关口的团队,可启用 review_mode: branch,让任务进入 REVIEW 并等待人工合并。
- 同时维护多个独立仓库的开发者,可为每个仓库配置独立待办、日志与锁,并通过实例注册表和聚合控制台管理。
- 需要隔离代理执行环境的团队,可使用 Docker 沙箱、默认禁网配置和只读凭据目录挂载。
- 已经在 GitHub、GitLab 或 Jira 管理任务的团队,可把对应问题作为待办来源,并在控制台查看失败、阻塞和重试状态。
如何安装或部署这个 Agent?
前置条件是终端、Git 仓库和可执行的代理 CLI。可任选一种安装方式:brew install lucaGazzola/forgeo/forgeo;curl -fsSL https://forgeo.org/install.sh | bash;或在 Python 3.11+ 环境中运行 pipx install forgeo-cli。进入项目根目录后执行 forgeo init,向导会创建 forgeo.yaml 和 .forgeo/,并要求选择 file、github、gitlab、jira 或 http 待办提供方以及代理命令。使用问题跟踪提供方时,需要按向导配置 PAT,或执行 forgeo auth login 完成 OAuth 登录;令牌存放于 ~/.config/forgeo/tokens/。GitHub 仓库可在条件允许时自动识别,Jira 还需要 URL 和 JQL。
如何使用这个 Agent?
文件模式下编辑 .forgeo/backlog.json;其他提供方则在 forgeo.yaml 中配置。先运行 forgeo validate 检查配置、仓库、待办、代理和锁,再执行 forgeo once 在前台试跑一个周期,或执行 forgeo start 启动后台守护进程。可用 forgeo status 查看任务数量、下一任务、守护进程状态和最近结果;forgeo run --task TASK-012 可立即运行指定的 OPEN 任务。运行 forgeo web 可在 http://0.0.0.0:8790 打开控制台,共享主机上应使用 forgeo web --token 启用 Bearer 认证。停止或重启守护进程分别使用 forgeo stop 和 forgeo restart。
这个 Agent 有哪些优点和局限?
- 代理接口仅要求读取 FORGEO_TASK,可接入 Claude Code、Codex、aider 或自定义 CLI,避免绑定单一模型提供方。
- 执行规则具体且可审计:一次一个任务、依赖检查、定时运行、状态转换和 Git 提交都有明确流程。
- 同时提供直接提交与可选 REVIEW 分支流程,团队可在自动化速度和人工审批之间选择。
- 包含 BLOCKED、FAILED、重试、BLOCKER.md 和文件快照恢复等故障处理能力。
- 支持多个待办提供方、多仓库实例控制台,以及可选 Docker 隔离。
- 采用它需要允许代理 CLI 修改 Git 工作区并创建提交;默认直接面向主线的模式对仓库权限和代理质量要求较高。
- 必须自行提供并配置编码代理 CLI;Forgeo 本身不是模型服务,也未说明代理使用成本。
- GitHub、GitLab、Jira 或远程 HTTP 待办会带来网络、令牌及外部服务配置成本。
- 启用 REVIEW 模式后,依赖该任务的后续工作会等待人工合并,自动流水线可能因此停滞。
- Docker 沙箱要求镜像内同时具备代理 CLI 与 sh;需要联网的代理还必须修改默认的无网络设置。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|
| Forgeo 软件工厂 当前 | 76 · 存在缺口 | ★ 30 | 4 天前 | Python | Codex · Claude Code |
| amux 智能体控制平面 | 77 · 表现良好 | ★ 492 | 1 天前 | Rust | Codex · Claude Code |
| Smart Ralph | 73 · 存在缺口 | ★ 548 | 21 天前 | Shell | Codex · Claude Code |
| Code Assistant | 70 · 存在缺口 | ★ 181 | 7 天前 | Rust | Claude.ai · OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示 Docker 沙箱默认禁网、额外挂载只读,并提供可选审查分支、文件积压快照、令牌目录和受令牌保护的 Web 模式;外部作用(运行代理、修改仓库、提交及推送)也在 README 中明确说明。扣分在于默认工作流会直接提交到 main,人工审查仅为可选项,宿主机代理仍拥有仓库写权限,网络可重新开放,Web 控制台默认监听 0.0.0.0,代理环境可传入秘密但未展示脱敏、轮换或日志泄露防护。依赖只有宽松下限,GitHub Actions 使用可变主版本标签,未见锁文件、依赖审计或供应链固定。回滚有 Git 历史、审查分支和 backlog.json.bak,但未证明对已推送代码或外部问题系统更新的完整自动恢复。许可证、仓库地址和贡献者署名清楚,但维护者身份仍较笼统。
README、包元数据、CI 和测试对任务选择、依赖阻塞、调度、退出码、超时、进程组清理、输出上限及状态持久化形成高度一致的证据,因此自洽性满分。缺失命令、Docker 不可用、超时和非零退出均有明确处理与信息,故失败消息满分。依赖可用性仅为普通水平:支持多个安装渠道和 Python 版本矩阵,也检测缺失二进制,但实际运行依赖 Git、代理 CLI、可选 Docker及远程 backlog 服务,所给材料未展示全面的启动降级或离线策略。
面向开发者的典型场景、日常命令、多仓库使用、文件及多种远程 backlog、不同代理 CLI 和按任务覆盖均有清楚说明,受众与场景覆盖充分。任务选择规则、依赖条件、run_at 优先级及状态转换由文档和测试具体约束,触发精度强。扣分在于能力边界未完整说明代理可以修改哪些文件或命令、空闲重构的具体约束及远程提供商权限范围;环境要求覆盖 Python 3.11+、多平台二进制和 Docker,但部分测试依赖 POSIX/Docker且材料没有完整平台限制表。
README 的快速开始、日常操作、沙箱、多仓库和专题文档索引结构清楚,安装方式及开发质量门槛具体,MIT 文本和元数据一致,故信息架构、安装和许可证得分高。名称在包、CLI 和文档间基本稳定,但项目描述中的“software forgeo”疑似笔误,且产品仍标记 Alpha。示例丰富但未提供真正的 FAQ;已透露共享主机认证、平台和沙箱前提,但没有集中、完备的已知限制说明。版本号为 1.12.1,发布流程会从 CHANGELOG.md提取说明,但该文件内容未作为证据提供。维护入口有 Issues URL 和贡献者署名,然而具体负责人、支持承诺和维护责任不明确。
输出通过 Git 提交、任务状态、BLOCKER.md、失败原因、代理响应、日志、通知和仪表板呈现,能够直接进入开发工作流,因此可用性高。相较手工逐项运行编码代理,其调度、依赖管理、重试、隔离和多 backlog 同步具有明显增量价值。成本收益扣分是因为默认空闲重构和周期性代理运行可能持续消耗算力或模型费用,直接提交及推送会增加审查和恢复成本,而材料未给出预算、配额、费用估算或资源上限。
核心声明可追溯到 README、包元数据、CI 配置和针对调度、状态持久化、沙箱、超时及错误映射的具体测试,自洽的静态证据较强。扣分在于只提供部分测试和少量实现外围材料,未提供核心实现文件、完整文档、CHANGELOG 或发布产物校验,因此跨来源佐证并非全面;宣传性表述如“handles failure gracefully”和“only interrupts you”没有明确区分已验证事实、设计意图与边界条件。
- 默认模式会让代理修改仓库并直接提交或推送到 main;用于重要仓库前应启用审查分支、保护规则和可恢复备份。
- Web 控制台默认监听 0.0.0.0;共享或可路由主机上必须启用 bearer token,并在适当情况下增加防火墙或反向代理限制。
- 传给代理的环境变量和只读凭据挂载仍可能被代理进程读取并输出;应使用最小权限、短期令牌并检查日志与持久化的 agent_response。
- 依赖和 CI Action 未精确固定,材料也未展示漏洞扫描或锁文件;部署前应独立审核并固定供应链依赖。
- 空闲重构及定时执行可能产生未预期的代码变更和持续模型成本;应先限定触发条件、预算、超时和允许修改的路径。
常见问题
Forgeo 是否包含编码模型或代理?
它会直接修改主分支吗?
review_mode: branch,使提交进入 forgeo/review/TASK-001 一类分支,并在合并前保持 REVIEW 状态。任务失败或需要人工决定时会怎样?
运行它是否必须联网?
agent_sandbox_network: none。但推送提交、OAuth 登录、通知以及 GitHub、GitLab、Jira 或 HTTP 待办提供方需要相应网络访问。Web 控制台可以直接暴露在共享服务器上吗?
forgeo web 默认监听 0.0.0.0:8790。在共享主机上,文档要求使用 forgeo web --token 启用 Bearer 认证。