arc 计划 · worker · 门禁

把需求拆成任务,只合并通过门禁的。

arc 内置在 radian 这个二进制里。它把计划和任务存成你仓库里的文件,每个任务交给一个独立的无头 radian worker,只合并通过固定门禁的结果。arc 是一个程序,不是模型;确认和合并仍然由你来做。

$ radian arc

属于 radian,开源,MIT 或 Apache-2.0 协议。

图 1 · arc TUI 跑在这个仓库自己的待办上:计划、一个任务的对话、简报、diff 和尝试记录,然后是看板1920 × 1080 · 90 s
/01 怎么运作

一个需求,五步。

每一步都留下一个可以事后翻看的文件或日志。

  • 01 · leadlead 通过 arc 的 MCP 服务器写计划和任务。它不能确认、启动或合并任何东西。
  • 02 · confirm你确认计划。auto 为 off 时每个任务由你启动;为 run 时,arc 在任务所等的任务合并之后自己启动它。
  • 03 · workers每个任务是一个独立的 radian exec 进程,有自己的 worktree 和分支,做完把结果推上去。
  • 04 · gate门禁检查推上来的提交。某个阶段失败,任务就退回去返工。
  • 05 · mergeradian arc merge 取你的批准,再推到远端 main。门禁之后分支又动过的话,批准作废,任务重新验证。
01 / 你(owner) 02 / lead(MCP) 03 / arc 状态机 04 / gate 进程 05 / worker 06 / review 会话 计划 执行 验证 合并 需求 或已定的 backlog confirm + auto off · run · merge · P0–P5 merge / reject auto=merge 时自动批准 follow-up task review 的 suggestions 待 confirm 写 plan + task add_plan · add_task draft add_rework 读原因 · 写返工 brief todo.ready after 已合并 · 有空位 P0 先取 todo.retry_wait 可重试的失败 · 退避 review.rework_pending 等 lead · 或 plan 暂停 review.awaiting_human verdict 绑定 sha done.merged main 快进 · push commands fmt · clippy · LXC 测试 integration 分支+main 候选 · 全量 Verify radian arc work 合 main → radian exec → push workspace 沙箱 review 只读 · 首轮 medium / 返工 low 领取 attempt 失败 confirmed suggestions 等你 / 自动 通过 · push merge lead 读原因 draft push · 同时 push · 同时 reject + 评语 交给 lead 失败可重试 到时间 blocking → 自动返工 两项都通过 回到 ready 图例 Agent 逻辑 策略 工具操作 上下文 / 追踪 外部系统
图 2 · 一个任务从需求到合并,按这个仓库自己的跑法(图里的门禁是本仓库自己的:fmt、clippy、测试)
/02 你说了算

跑什么、合并什么,
你来定。

arc 按固定的规则调度,没有哪一步要等模型来判断。

  • auto每个计划一个级别:off(启动和合并都由你)、run(arc 启动任务、跑门禁,然后等你)、merge(所有必需阶段都过了,arc 也替你合并)。
  • owner-only确认、启动、合并、驳回、优先级和 auto 都是你的,在 TUI 里或命令行上做。lead 的 MCP 服务器里没有对应的工具。
  • verdicts结论只写一次,之后不再改动。批准绑定在一个提交上。
  • budgets每个任务和计划都记录花费,也都可以设花费和耗时的预算。
  • the TUI计划列表,按“下一步由谁来做”分组的看板(待办、进行中、验证中、需要你处理),每个任务的对话、简报、diff 和尝试记录,以及合并页。
/03 开始

三条命令。

arc 随 radian 一起装好。在你要让它干活的仓库里运行下面三条。

$ radian arc init
$ claude mcp add arc -- radian arc mcp
$ radian arc
  • init 建好 .radian/arc/ 目录,并检查四件事:凭据、origin 远端、对 main 分支的一次试推送,以及沙箱。哪一项失败就给一行警告。
  • arc 需要一个 git 工作区,并且有一个你能往 main 分支推送的 origin 远端。
  • 门禁要跑的命令写在 .radian/arc/config.toml 里。
  • 参考:命令、门禁、文件、lead 的 MCP 服务器、TUI(手册是英文)。
  • 还没装?先装 radian。