-
Notifications
You must be signed in to change notification settings - Fork 0
Differences from opencode zh
Lex edited this page Aug 15, 2026
·
1 revision
GraphAgent 是 opencode 的 fork,不是对它的替代意见。上游能做的这里都还在:多 Provider、内置 LSP、客户端/服务器架构、TUI/桌面/Web 客户端。fork 加了一个大东西和一批配套。
上游 opencode 跑一个智能体循环,可选 task 子代理。GraphAgent 在其之上加了工作流引擎:
| 上游 opencode | GraphAgent | |
|---|---|---|
| 并行工作 |
task 子代理,发出去不管 |
依赖图 + 波次调度、并发许可、每节点预算 |
| 质量控制 | 靠你的 prompt | 审查门禁编译成独立 standards/intent 审查加仲裁;REJECT 是真实结果,有处置契约 |
| 持久化 | 会话存储 | 事件溯源的工作流状态;崩溃恢复从持久证据和解,绝不重放 provider 工作 |
| 中途改写 | 杀掉重来 |
pause → replan(替代/替换/取消节点)→ resume;已完成输出保留;视图显示当前修订 |
| 成本塑形 | 一个会话一个模型 |
dag.jsonc 两层:判断节点 advanced,跑量 standard
|
| 可观测 | 转录 | TUI DAG 检查器(波次、实时状态、节点详情)、侧边栏摘要、全覆盖的 HTTP API |
| 复用 | 自定义命令 | 项目/全局/内嵌三级命名工作流库;/dag-flow 按任务改造精选参考拓扑 |
引擎按 AGPL 授权(见 README 许可表);仓库其余部分保持 MIT——不碰 DAG 代码,你就按上游条款用。
-
自主目标循环(
/goal):图的单会话互补形态——一个持久目标跨回合推进,外部评审、有预算、可恢复。 - Hooks 兼容:在原生插件系统之上实现 Claude Code hooks 协议(26 事件 × 5 种执行类型)。
- 执行位置所有权:多 worktree 场景下,工作流行带目录戳、每次所有权决策都校验——同一项目的兄弟 worktree 不能替对方操作图。这块经过三轮加固(issue #238、#269、#270),全部带突变测试探针。
- CJK/IME 终端修复、按工作流的 worktree 隔离、独立的 Go 配置助手。
想要主流项目——npm 包、社区、跟原团队同步更新——选上游 opencode。
你的工作长成下面任何一样,选 GraphAgent:
- 任务有分阶段依赖,并行切片真有用武之地(多模块重构、先审计后修复的列车、并行审查泳道)。
- 需要比 prompt 更可信的门禁——指纹绑定的审查仲裁、红先行的回归纪律。
- 长任务要能扛住重启,且不重做已经付过钱的模型调用。
- 想让判断跑强模型、跑量跑便宜模型,且在配置里声明一次全局生效。
两者可以共存:不开 DAG 功能的 GraphAgent 就是上游 opencode。
fork 周期性跟上游;上游特性经 merge 进来,fork 特性走分层门禁(feat/** → PR → dev typecheck 门禁 → dev 全量 → dev→main 四门禁 PR 含 Linux/Windows E2E → 手动发版)。Release 带完整笔记;已知限制列出来,不藏。