cc-master

长程 AGENT 的指挥台

给它一个大目标——
和一个预算。
然后去做点别的。

cc-master 把任意受支持的 coding-agent 会话的主 agent 初始化成 master orchestrator——一个项目负责人:把目标拆成依赖图,让独立的部分并行推进,按真实配额限制调节节奏,并且清楚地知道什么时候该停下来问你。

terminal

一条命令装好 ccm 引擎 + 插件——两条独立版本线

Claude Code · Codex · Cursor · kimi-code

goal → dagdonein flightcritical path

一个目标,被拆成依赖图——琥珀色的链是临界路径

为什么存在

裸 agent 接大活,有五种死法

把一个要跑好几天的目标交给裸 coding agent,结局你早就知道。cc-master 的存在理由,就是这五种死法的逐条否定。

death 01

它会忘。

聊着聊着就丢了主线;一次 context compaction,任务就没了。

board——一份比记忆更持久的计划

death 02

它只会串行。

一次一件事,要你一勺一勺喂。你买的是并行度,到手的却是排队。

dataflow 派发——就绪的立刻开跑

death 03

它会烧钱。

闷头猛跑,一个下午就能把配额窗口烧穿。

配速——配额被感知、被定价、被预算

death 04

它要么烦你,要么跑飞。

三句话一请示,或者悄悄替你把不该它拍的板拍了。

HITL 边界——知道哪个决定该归哪一边

death 05

它会说"差不多了"。

Gate-green ≠ passed。"看起来做完了"不是做完了——而且总会事后暴雷。

端点验收——指挥亲自到场

cc-master 的每条纪律,都是对其中一种死法的回答。

设计哲学

master orchestrator 的七只镜头

不是要遵守的规矩,而是一个角色的定义展开——一套任何 harness 上的任何 agent 都能被初始化进去的方法论。

01

指挥不演奏

orchestrator 只做拆图、派发、验收、整合——绝不亲手实现。你下场抄乐器的每一拍,都是把最稀缺的资源——装着整张图的注意力——花在最便宜的活上。

“指挥永不演奏。”

02

目标即依赖图

目标先落成 Goal Contract,再拆成 DAG。每条依赖边都是债务、默认有错、必须自证;除此之外一律并行。资源压向临界路径;float 是免费的并行预算。

“每条依赖边都是债务,默认错。”

03

就绪即发

依赖一满足立刻派发,绝不在 barrier 干等。board 上的标注不是派发——拿到真实 handle 才是。

“用户买的是并行度。”

04

主观能动,绝不空转

只有当每条路径都悬于后台任务或用户待答时,等待才合法——在此之前先榨干可做工作池。并为静默失败的盲区 arm 一只 watchdog。

“此刻的安静是调度的成果,不是懈怠的遮羞布。”

05

量力而行

Little 定律与利用率悬崖:瞄着走廊上界跑,不是 100%。配额信号一律 fail closed。预算是受托资产,不是你的燃料。

“预算是受托资产,不是你的燃料。”

06

只信端点验收

自报不是证据,绿灯不是证明。指挥在端点亲验——读 diff、亲跑闸——这样"done"才值得被信任。

“Gate-green ≠ passed。”

07

该问就问

用户是一种特殊的异步 worker。决策真的归他时立刻抛出——连同备好的决策包——而其他独立的路径一条不停。

“判断权是分层的,用户从未交出他那层。”

八个 skill,一位指挥

每个 skill 守一个平面,互不重叠——渐进式披露让灵魂保持瘦。

master-orchestrator-guide

魂——决策、排期、红线

slicing-goals-into-dags

怎么把目标切成 DAG

authoring-workflows

怎么写确定性 workflow 脚本

using-ccm

ccm CLI 与 board 操作手册

dev-as-ml-loop

单任务执行循环的形状

engineering-with-craft

循环里的手艺——DDD/OOP/TDD

pacing-and-estimation

读 advisory、配速与估算

distilling-lessons-into-assets

把经验路由成耐久的资产

人 ↔ AGENT 交互范式

注意力,重新分配

不存在中性的注入:agent context 里的每个 token 都在塑造下一个 token。所以 cc-master 把 context 当作稀缺信道,每条消息都按两个轴打标——决策归谁、该拉动多少注意力。

<ambient>

背景。更新世界模型即可,不是待办——但它诚实地承认:它仍在潜移默化地影响你。

<ambient source="usage-pacing">5h 窗口已用 62%,1h 40m 后重置</ambient>
<advisory>weak | strong

建议。认真权衡、推理它的前提——但最终仍由你拍板。绝大多数 hook 通信落在这里。

<advisory source="usage-pacing" strength="strong">verdict: throttle——燃烧速率将烧穿 5h 窗口</advisory>
<directive>

闸门。遵从它——并理解它自带的 why,这样你才能识别规则误触。只留给硬约束,刻意保持稀有。

<directive source="board-guard">board 只经 ccm 写——请用 `ccm task update`(why:锁 + 82 条不变式让计划可信)</directive>

当决定真的归你,它是带着准备来的

决策包带来一次性高质量决策所需的一切:上下文、需要你给什么、为什么重要、选项与各自代价——外加新鲜度校验,让你永远不用回答一个已经被世界架空的问题。

去 viewer 里看一个真的
ccm web-viewer · read-only
a decision card in the ccm web-viewer: question, context, options and tradeoffs
D1 — “Split the PR into two?” · context · options · tradeoffs

内建于构造的可解释性

单一真相源

board 是计划、记忆与审计轨迹——任何新 session 拿起它就能续跑

只读指挥台

ccm web-viewer 呈现整个编排现场,一个字节都不碰

异构族系第二验收

高杠杆判断由另一族系的模型复核——同族复读不算第二视角

收尾台账

收工必须逐条路径写下证据——"看起来做完了"关不掉一场编排

看它思考

它替你守着的计划,有一座指挥台

每场编排都有一份活着的 board。ccm web-viewer 在你本机只读呈现它——依赖图、临界路径、等你的决策、在飞的 agent。

ccm web-viewer · live
一块活着的 board:平移 DAG,打开那个等你的决策
ccm web-viewer · read-only
依赖 DAG——琥珀色是临界路径
依赖 DAG——琥珀色是临界路径
ccm web-viewer · read-only
决策卡——问题、上下文、选项、代价
决策卡——问题、上下文、选项、代价
ccm web-viewer · read-only
看板——等你的事项永远排在最前
看板——等你的事项永远排在最前
ccm web-viewer · read-only
时间线——时长、重叠、长杆子
时间线——时长、重叠、长杆子
ccm web-viewer · read-only
agent 花名册——谁在跑什么、跑在哪
agent 花名册——谁在跑什么、跑在哪
ccm web-viewer · read-only
home 里每块 board,一键之隔
home 里每块 board,一键之隔

一个目标,从头到尾

"把我的 app 翻成 6 种语言。"然后去睡觉。

01 · 你

一句话

/cc-master:as-master-orchestrator——这就是全部brief。你出想法,它不问你要规格说明书。

your harness
/cc-master:as-master-orchestrator Internationalize the app to 6 locales

i18n framework + per-locale translation + locale routing

02 · 契约

先立 Goal Contract

你的话是证据,不是目标本身。它把话改写成一份短小、可验收的契约,只就那些会改变结果的歧义问你。

ccm web-viewer · read-only
先立 Goal Contract
03 · 计划

先地基,再扇出

字符串得先抽出来、框架得先搭好,才谈得上翻译——所以它先做地基,再把 6 种语言同时铺开。地基用更稳的模型,翻译用便宜的模型。

ccm web-viewer · read-only
先地基,再扇出
04 · 你的一票

一个只有你能答的问题

"产品术语,翻还是不翻?"它把上下文、选项、代价打包好记给你——其他语言一刻不停。

ccm web-viewer · read-only
一个只有你能答的问题
05 · done 是真 done

端点验收

收尾前逐条对照契约:每块是否真的完成、该问的是否都问过、后台有没有悄悄死掉的东西。你回来看到的是一个决定,不是一个惊吓。

ccm web-viewer · read-only
端点验收

从头到尾:你说了一句话,做了一个决定。

技术路线演进

从一个 workflow 插件,到 meta-harness

它起点是一个教 Claude Code agent 写好 dynamic workflow 的插件。每一幕都把上一幕一般化——今天,它是我们自研 harness 的 meta-harness:任何 agent,都能被初始化成同一个指挥。

the cc-master evolution timeline: plugin era, engine era, meta-harness era
第一幕 · 2026-06 · v0.1–v0.9

插件期

一个 Claude Code 插件。沉淀下来的发明:作为持久计划的 board、武装后才激活的 hooks、跨 session 续跑、最早的配速。

第二幕 · 2026-06/07 · v0.10–v0.11

引擎期

board 逻辑离开插件成为 ccm——一个二进制、单一真相源——并长出 OR/ML 估算配速引擎。plugin 与引擎从此各自独立发版。

第三幕 · 2026-07 · v0.12 →

meta-harness 期

source-to-adapter 投影把同一个灵魂带进 Codex、Cursor、kimi-code,N-host 对齐成为机制而非承诺。有了 ccm worker,orchestrator 指挥的是全机器的无头 agent 池——出身只决定它坐在哪,不决定它能指挥谁。

架构

一个总指挥,一个引擎,任意 harness

plugin 是薄投影——commands、skills、hooks——落进每个 harness;引擎 ccm 是状态、配额、估算与 worker 池的单一真相源。二者在进程边界相遇:shell + JSON,绝不 import。

cc-master architecture: four harnesses, the plugin adapter, the master orchestrator, the ccm engine, boards, and the read-only web-viewer
cc-master plugin

把会话的主 agent 初始化成 master orchestrator——adapter 只携带宿主原生差异

ccm 引擎

board · Goal Contract · 配额配速 · 蒙特卡洛估算 · worker 池 · agent 注册表——82 条不变式守住每一次写入

ccm web-viewer

机器上每块 board 的只读指挥台

快速上手

一条命令,然后一句话

terminal

安装器先把 ccm 引擎放上你的 PATH——它是硬前置——再把 adapter 分发给检测到的每个受支持 harness。两条版本线各自解析最新;逐文件 SHA256 校验。

阅读上手指南

然后从你的 harness 给它一个目标:

Claude Code/cc-master:as-master-orchestrator <你的目标>
Codex$cc-master-as-master-orchestrator <你的目标>
Cursor/as-master-orchestrator <你的目标>
kimi-codecc-master:as-master-orchestrator <你的目标>