cc-master

ccm 引擎

一个独立安装的 CLI 掌管每一次 board 写入、每一条不变式、每一份预测——插件只是它的消费方之一。

ccm 是一个独立的 CLI(per-OS 的 Node 二进制,背后是 @ccm/engine 库),掌管 board、配额、估算、worker 和 agent registry 的单一真相源。它独立于插件安装,版本也走自己的发布线。

架构上是一条进程边界:插件的 hook 和 skill 绝不 import 引擎——它们 shell 调全局 ccm 二进制、用 JSON 交换。这让每一次写入都收在同一个关卡后面,让同一个引擎能同时服务 web viewer 和未来的客户端,也意味着升级 ccm 永远不需要重装插件。

命令面速览

Namespace 管什么
board / task / goal board 生命周期、任务状态机、DAG/临界路径分析、带版本的 Goal Contract
log / jc / cadence append-only 审计轨迹、自驱决策记录、迭代交付节奏
usage / estimate / baseline 只读 advisory:配额窗口与 verdict、Monte Carlo 预测、EVM 基线
quota / model-policy / provider 全机缓存配额态势、模型角色视图、provider 事实
worker / agent / harness / runtime 跨 harness worker 封装、运行时 agent registry、本机清单、runtime 供应链
account Claude Code 号池(add/refresh/delete/list/switch)——凭证全程 token-blind
coordination / peers / monitor 多编排协调:跨板花名册、通知收件箱、池中介、后台监控 daemon
status-report / web-viewer 生成的状态报告,以及只读的本地 mission-control 界面
watchdog / policy / upgrade 自我唤醒定时器、板级自主权限策略、自升级

每条命令都接受 --json(机器可读信封:{"ok": true, "data": …}),共享 --board--home--dry-run 等全局 flag。逐 verb 的完整命令面见下方链接的命令手册。

ccm 出 verdict,orchestrator 决策

只读 namespace(usageestimatemodel-policyroute)被刻意设计成 advisoryccm usage advise 返回一个 verdict(holdthrottleswitchstop_5hstop_7d),附证据和诚实字段(来源、置信度、新鲜度);ccm estimate forecast 返回数千次模拟算出的 P50/P80/P95 ETA。它们都不执行任何动作——减速、换号、派发永远是 orchestrator 的判断。事实由引擎出,判断归 agent,授权归你。

当信号缺失、过期或无法验证时,ccm 如实说 unknown / available: false——绝不把缺口粉饰成「配额充足」。

一个写入关卡,82 条不变式

所有 board 写入——来自 agent、来自 hook、来自 CLI 本身——都过引擎里同一道关卡:锁 → 变更 → 依赖重门控 → 82 条 lint 不变式(schema、图、业务规则)→ 原子落盘。非法转移和畸形字段以 exit 3 拒绝并列出 violations,于是「一次写对」是机械性质,而不是美好愿望。

两条版本线

插件与 ccm 各自独立发版:插件用裸 vX.Y.Z tag,ccmccm-vX.Y.Z tag。安装器解析两条线各自的最新版,你也可以分别 pin(--plugin-version / --ccm-version)。分开升级时先升 ccm——新插件可能依赖新引擎命令,而旧插件配新 ccm 按 additive 兼容原则处理。