Forgeo 软件工厂
按计划把待办任务交给编码代理执行并提交结果。
- Star 数
- ★ 35
- 最近更新
- 7 天前
- License
- MIT
- 主语言
- Python
- FA 评分
- 64/100 · 存在缺口
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台Codex · Claude Code
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 维护小型 Git 项目的个人开发者,希望让 Codex、Claude Code 或其他 CLI 按 JSON 待办逐项完成工作并自动提交。
- 不适合
- 需要人工审查每次改动再合并的团队
- 无法自行提供并配置编码代理 CLI 的用户
- 希望用托管云服务、不想自建守护进程的团队
- 源码审查
- 64/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 软件工厂 当前 | 64 · 存在缺口 | 命令行工具免费 + 模型费 | ★ 35 | 7 天前 | Python | Codex · Claude Code |
| AGRO 沙箱运行时 | 76 · 表现良好 | 命令行工具免费 + 模型费 | ★ 43 | 今天 | TypeScript | Codex · Claude Code |
| Agent of Empires | 79 · 表现良好 | 命令行工具免费 | ★ 3.9k | 今天 | Rust | Codex · Claude Code |
| Ralph for Claude Code | 79 · 表现良好 | 命令行工具免费 + 模型费 | ★ 9.7k | 1 天前 | Shell | Claude Code |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
文档和代码片段说明任务通过 FORGEO_TASK 交给配置的 shell 命令,命令继承主机环境;可选 Docker 沙箱默认无网络并允许只读挂载。权限仍取决于用户配置的命令和主机环境,且默认直接在主机运行,因此最小权限仅部分体现(1)。init 可覆盖现有配置,配置也允许 agent 无超时;没有证据表明每次执行前要求人工确认,故确认机制薄弱(1)。任务环境变量、仓库路径、分支、日志与通知路径均有说明,数据流较清楚(2)。提供 OAuth/PAT、令牌文件权限及环境变量配置说明,但 agent 继承整个环境,令牌可被其子进程读取;敏感数据保护仅部分处理(1)。声明了运行时依赖及 Python 版本,但所给材料没有锁定版本或依赖审计证据(1)。执行会提交并可推送、可发 webhook/Telegram,且默认提交到主分支;外部效果及其配置可见,但确认防护有限(1)。文件 backlog 在运行前备份并可在损坏时恢复,另有可选 review 分支;提交后的恢复流程未充分说明(2)。仓库、项目元数据和贡献者署名可见,但发布者身份及维护责任没有得到明确验证(1)。
README、配置文档、agent 合约和实现片段对任务选择、退出码、超时和提交行为大体一致;个别文档片段不完整,不能据此确认所有路径(2)。支持 Homebrew、安装脚本和 pipx,并标明 Python 3.11+;依赖有版本下限,但没有锁文件或可用性保证证据(2)。缺失命令、超时、非零退出码和无效 HTTP 请求均有可读错误路径说明,属良好但非全面证据(2)。
明确面向开发者、单仓库任务编排、远程 issue backlog、多仓库和可选沙箱等场景,覆盖充分(3)。说明 shell agent 合约、退出码、超时和 Docker 配置,但 host 执行、权限继承及 agent 能力边界主要由配置决定(2)。任务按 OPEN 状态、依赖和 run_at 排序;调度规则具体,但空 backlog 会启动 refactor pass(2)。提供 macOS/Linux、Windows 二进制发布意图及 Python 安装路径,且要求终端、Git 仓库和 agent CLI;环境说明充分但仍有平台行为差异(2)。
README 按安装、初始化、使用、文档和开发组织,链接了详细主题文档(3)。安装步骤和升级路径清楚,也解释预构建二进制与 pip 回退;安全与来源核验细节有限(2)。产品名和 CLI 名称稳定,但 Python 包名为 forgeo-cli,增加轻微命名差异(2)。提供 quickstart、配置示例、CLI 示例和主要流程说明;所给材料未显示 FAQ(2)。列出了 host 默认执行、无超时选项、开放 Web 控制台等实际限制和配置注意点,但并非集中完整的限制清单(2)。提供 MIT LICENSE 且元数据一致(3)。pyproject 有版本号,CI 发布流程从 CHANGELOG 提取说明,但本包未提供 CHANGELOG 内容,无法充分核实版本变更记录(1)。贡献指南与质量门槛被提及,发布流程可见;明确的长期维护责任人或维护承诺未见(1)。
任务状态、运行记录、BLOCKER 输出、dashboard 和可读 backlog 让产物可操作、可审阅(3)。自动挑选任务、运行 agent、处理阻塞并提交,结合多种 backlog provider,提供了清楚的编排价值(3)。可减少人工调度成本,但持续运行 agent、主机权限、推送和 refactor pass 带来资源与审阅成本,材料未提供成本控制证据(2)。
README 的主要行为主张可在所给 agent 代码、CLI/config 文档和测试样例中找到对应依据;并非每项产品主张都有所给源代码支撑(2)。文档、pyproject、CI 与测试对支持的 Python 版本、退出码及构建流程有交叉印证,但测试片段仅覆盖部分行为(2)。材料能区分已声明的配置和实现行为;本静态审查不声称已运行或独立验证,未覆盖路径保持未知(2)。
- 默认在主机运行 agent,且子进程继承环境变量;只给受信任的 agent 命令提供必要凭据,考虑启用 Docker 沙箱并限制挂载。
- 默认 Web 控制台监听 0.0.0.0,且默认直接提交到配置分支;共享环境应启用 bearer token,并评估分支审查模式及推送目标。
- 所给材料未包含完整文档和依赖锁定信息;不要把未见文件或未执行的测试视为已验证。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
发布说明摘录
Fixed - GitHub/GitLab backlogs preserve per-task customization when a task is created. - OAuth issue-backlog login supports browser URLs, callback ports, and config-relative tokens. Removed - Unused github.fields/gitlab.fields field mapping (GitHub/GitLab issues have no custom fields).在 GitHub 查看 ↗ -
发布说明摘录
Added - Browser-based OAuth login for GitHub, GitLab, and Jira, with cached tokens and setup guidance. Fixed - Stabilized the CI lint configuration.在 GitHub 查看 ↗ -
发布说明摘录
Added - REVIEW status with feature-branch workflow (review_mode: branch). When enabled, a successful agent run no longer commits directly to main as COMPLETED: the engine creates a feature branch forgeo/review/<TASK_ID> (via review_branch_prefix, default forgeo/review/), commits there, pushes, and marks the task REVIEW. Tasks in REVIEW block dependants (like BLOCKED/FAILED) while independent tasks keep running. …在 GitHub 查看 ↗
常见问题
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 认证。谢谢反馈,我们会据此改进页面。