-
Notifications
You must be signed in to change notification settings - Fork 0
FAQ zh
dag.jsonc 两层:advanced 给判断节点(审查、仲裁、所有 required),standard 给跑量。只配一层时它就是全部默认。每节点解析顺序:分层 → worker agent 模型 → 父会话模型;都解析不出来就不建工作流,回来问你——绝不静默挑一个你没选过的默认值。
每个节点是一个子会话,像普通对话一样花 token。成本控制是结构性的:standard 层扇出到便宜模型、max_total_nodes 封图、每节点 timeout_ms 兜住失控、审查预算(max_node_replan_attempts)封重试循环。贵的图走 deep 准入——为了不在错误的规模上建错的东西。
节点失败,错误清楚地显示在图上;工作流保持可检查。把 dag.jsonc 里的分层切到备用模型,然后 replan 失败节点(新 id 替代,或运行中 restart: true)。已完成的节点保留输出——只为重跑的部分付钱。
上游能力全保留(多 Provider、LSP、客户端/服务器、TUI/桌面/Web)。fork 加了 DAG 引擎(AGPL 授权,见 README 许可表)、hooks 兼容层、CJK/IME 终端修复、按工作流的 worktree 隔离、目标循环。fork 不上 npm;从 releases 页面或源码装。
可以——就是纯 opencode。图相关的一切都在 workflow 工具、/dag-flow 和 /goal 命令、.opencode/ 配置文件后面。不碰它们,行为与上游一致。
扛得住。状态事件溯源进 SQLite;重启时,running 节点对照子会话的持久状态和解,跑完的回填输出,有歧义的暂停等你决定。恢复绝不重放 provider 工作——半个模型调用不会在你背后被重发。
因为失败的段落被改写过。被替代节点从视图退场、不计入终态;你看到的状态对应当前图修订。如果失败是活的——配额耗尽、API 报错、超时上限——它会一直显示直到修好。想审计改写历史,智能体可以按 id 从 result store 查被替代节点;TUI 故意不给入口。
节点是完整子会话,工具和主智能体一样多,范围由 worker_type 的 agent 配置决定。权限行为与 opencode 其他地方相同,包括 hooks 和询问门控。
spec 提交进仓库的 .opencode/workflows/——克隆的人都能按名跑。跨项目的个人库放配置目录全局作用域。精选全局库由 opencode-dag-config 仓库维护,/dag-template-update 负责同步(带预览和备份)。