锻造编排器
在共享仓库上编排Claude Code、Codex CLI和Gemini CLI——单个Rust二进制文件,零deps。
单个工具中的多代理工作良好。Claude Code运行20个子代理,它们保持一致,因为该工具在内部管理编排。问题是多工具:Claude Code、Codex CLI和Gemini CLI在同一个仓库上,没有共享状态。这就是编排器解决的问题。
它为您的开发工作流程添加了文件锁定、知识捕获、任务规划、漂移检测和多工具编排。三个工具读取和写入单个状态目录。11个工具的MCP服务器向任何连接的AI客户端公开完整的编排状态。
编排器之所以存在,是因为我在同一个代码库上运行了两个AI工具,并看着它们以与人类团队失败相同的方式失败。克劳德重构了一个模块。Codex更新了针对重构前接口的测试。两人都得救了。测试失败。两个工具都不知道另一个存在。我花了23年时间与才华横溢的人类团队一起观看这一场景。解决方案总是一样的:编排基础设施。
安装
curl -fsSL https://forge.nxtg.ai/install.sh | sh
forge init单二进制。4.7毫巴。没有运行时依赖关系。
快速演示
从零到任务板的四个命令:
# 1. Initialize — creates .forge/ directory with state, event log, knowledge base
forge init
# 2. Configure the AI brain — choose 'openai' (needs API key) or 'rule-based' (free)
forge config brain openai
# 3. Generate tasks — reads your SPEC.md or README, creates dependency-aware task graph
forge plan --generate
# 4. See the result — task board with assignments, dependencies, and project health
forge status从这里你可以:
forge run--无头执行任务(自主模式,非常适合CI)forge dashboard --pty--使用交互式代理窗格启动TUI仪表板
现实世界结果:星际之门模式
根据94行的规范,编排器协调了三个AI编码工具来构建一个完整的CLI工具包:
SPEC.md (94 lines) → forge plan --generate → 15 tasks
Claude Code: 6 design tasks → completed
Codex CLI: 6 implementation → completed
Gemini CLI: 3 test/doc tasks → completed
Result: 5,306 lines of working code
10 auto-committed git entries
13 Python files (CLI + tests)
Zero file conflicts三家公司。三个工具。一个编排者。一个命令:
forge dashboard --pty所得
| 功能 | 它做什么 |
|---|---|
| 文件锁定 | 独占锁可防止工具同时编辑同一文件 |
| 知识飞轮 | 捕捉跨工具的决策、模式和学习。自动分类和搜索。 |
| 计划生成 | forge plan --generate 将规范分解为依赖关系感知任务图 |
| 漂移检测 | 将正在进行的工作与规格进行比较,及早标记分歧 |
| 任务板 | 依赖性跟踪任务、工具分配、进度监控 |
| 多工具适配器 | 克劳德代码(MCP stdio)+Codex CLI+Gemini CLI(文件系统) |
| TUI仪表板 | forge dashboard:实时工具窗格、任务状态、锁定状态 |
| 无头模式 | forge run:CI/CD管道的自主执行 |
| MCP服务器 | 任何连接的AI工具都可以通过stdio访问11个工具 |
关键命令
forge init # Initialize Forge in a project
forge plan --generate # Generate task plan from spec
forge dashboard # Live TUI dashboard
forge dashboard --pty # TUI with interactive agent panes (Stargate)
forge run # Headless autonomous mode
forge status # Current state summary
forge verify # Run automated acceptance tests
forge uat # Interactive UAT test runner
forge ship # Release ceremony: changelog, archive, tag建筑
编排器是Forge的策略核心。所有的治理规则、文件锁和编排逻辑都存在于这里。插件(L1:Vibe Coder)和UI(L3:Ship Lord)是适配器表面。它们通过不同的界面呈现编排器的状态,但不做出策略决策。
┌──────────────────────────────────────┐
│ forge-orchestrator │
│ (Rust, 4.7 MB, 378 tests) │
│ │
│ File locking · Task planning │
│ Knowledge · Governance · MCP │
│ Multi-tool adapters │
│ │
│ Policy enforced here. │
│ Nowhere else. │
└───────────┬──────────────────┬───────┘
│ │
┌────────┴────────┐ ┌────┴────────┐
│ forge-plugin │ │ forge-ui │
│ (L1 Safety) │ │ (L3 MC) │
│ Claude Code │ │ React │
│ adapter │ │ dashboard │
└─────────────────┘ └─────────────┘沟通: .forge/ 文件系统+MCP stdio。没有守护进程。没有数据库。国家就是档案。
工具适配器:Claude Code使用MCP stdio。Codex CLI和Gemini CLI使用文件系统约定。每个工具都读取自己的配置格式。没有特定于Forge的配置语言。
文件锁定的工作原理
文件锁定之所以存在,是因为我看到团队因编辑冲突而浪费了几天时间。
当Claude Code开始编辑文件时,编排器会获得独占锁定 .forge/locks/请求同一文件的Codex CLI会排队,通知谁持有锁。锁包括超时(崩溃的工具不会永远持有锁)和死锁检测。
378个测试涵盖了并发访问、超时行为、多适配器锁定和边缘情况。
知识飞轮是如何工作的
知识飞轮之所以存在,是因为我目睹了在冲刺之间决策的蒸发。
工具会话中的每个决策、模式和学习都记录在 .forge/knowledge/。条目按类别自动分类。跨会话和跨工具搜索。第二天,Codex CLI可以使用在Claude Code会话中获取的知识。
一周后,系统比你更了解你的惯例。新会话从上下文开始,而不是从头开始。
升级路径
TUI仪表板显示所有内容。Forge UI显示得更好。
可视化仪表板。HUD治理。实时代理协作网络。以及无限终端:在浏览器关闭、网络中断和服务器重启后仍能存活的会话。如果您在断开连接的SSH管道上丢失了3小时的代理会话,您就知道为什么这很重要。
git clone https://github.com/nxtg-ai/forge-ui && npm install && npm run dev58个组件。4165次测试。87%的覆盖率。
链接
许可证
来源: 功能源代码许可证1.1(FSL-1.1-ALv2)。将于2028年3月18日转换为Apache许可证2.0。看 许可证.md 完整条款。
