@zhushanwen/pi-cw-tool 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/skills/pi-cw/SKILL.md +9 -11
- package/skills/pi-cw/design-v4.md +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhushanwen/pi-cw-tool",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Pi extension wrapping the `cw` CLI as role-restricted tools (cw_planning / cw_wave / cw_dev / cw_review) with per-tool action whitelists — hard-guarantees no self-review by layer-owner agents.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.ts",
|
package/skills/pi-cw/SKILL.md
CHANGED
|
@@ -50,8 +50,10 @@ cw create epic --slug <kebab-slug> --objective "<一句话目标,含可验收的
|
|
|
50
50
|
用 `subagent` 工具**后台**派发(`planning-agent` 是 cw-tool 内置的 agent 模板):
|
|
51
51
|
|
|
52
52
|
```
|
|
53
|
-
subagent(action="start", agent="planning-agent",
|
|
53
|
+
subagent(action="start", agent="planning-agent", slug="<epic-slug>-planning", fork=true,
|
|
54
54
|
task="<背景>这是 cw epic <epicId> 的层主 agent,目标:<原 objective>。这是递归编排,你会自递归派 feature/slice/wave 层 planning-agent。<目标>先调 cw handoff --unitId <epicId> 拿上下文与 guidance,按 guidance 的派发指导自递归展开并合并子树。<验收>cw status --unitId <epicId> 显示该 epic 子树全部 closed。")
|
|
55
|
+
# 不传 model 参数——默认继承主 agent 模型,递归传给所有下层(见「模型派发」)。
|
|
56
|
+
# 用户特别指定时才传 model="provider/modelId",单个 subagent 生效或作为全树根模型。
|
|
55
57
|
```
|
|
56
58
|
|
|
57
59
|
task 三要素:
|
|
@@ -87,19 +89,15 @@ cw frontier --root <epicId> # 看 epic 子树 frontier
|
|
|
87
89
|
- **worktree 隔离**:wave 层用 `worktree: true, fork: true` 派出(`worktree: true` 强制要求同时 `fork: true`,否则 subagent 工具运行时 throw「worktree:true requires fork:true」,派发即失败;各 wave 独立工作目录,并行不冲突);主 agent 派的 epic planning-agent 不需 worktree(它只编排不写码)。worktree 的合并与清理由 slice 层 planning-agent 派 chain workflow(merge-agent)处理,细节见 planning-agent 模板。
|
|
88
90
|
- **失败恢复靠 L0-L3**:cw gate fail / 审查 must-fix / 方案缺陷 / 父层拆错,各有恢复路径(L0 就地改重审 / L1 cw replan / L2 父 replan 级联 / L3 上报人),定义在 planning-agent 模板与 cw guidance,本 skill 不重复。
|
|
89
91
|
|
|
90
|
-
##
|
|
92
|
+
## 模型派发
|
|
91
93
|
|
|
92
|
-
|
|
94
|
+
**默认不指定 model —— 递归继承主 agent 模型**。pi subagent 的模型解析是三层(显式 `model` 参数 → agent 模板 frontmatter `model` → 父 agent 当前模型兜底直接透传),子进程启动时用 `--model` 固化该解析结果,其再派子时不指定则继续透传。因此**只要派发点不传 `model`(且 agent 模板 frontmatter 不写 `model`),整棵 cw 树所有 agent 自动同模型**——这是唯一能保证「递归传给所有 subagent」的机制,不需要也不应该逐层重复指定。
|
|
93
95
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
| wave 层主 | 本层 design + 调度,范围窄 | 中(glm-5.1) |
|
|
98
|
-
| dev | 写码 + 测试,量大 | 便宜 coding(ds-flash / glm-turbo) |
|
|
99
|
-
| review | 主观审查,需判断力 | 强推理(ds-pro / glm-5.1) |
|
|
100
|
-
| merge | git 操作,机械 | 便宜(glm-turbo) |
|
|
96
|
+
- **全树同模型**:用户在主 agent 切换模型,或根派发(第一个 planning-agent)时显式传一次 `model="provider/modelId"`,下层全部自动继承。模型在每次派发瞬间固化,中途切换只影响后续派发。
|
|
97
|
+
- **单点覆盖**:用户特别指定某 subagent 用特定模型时,只在该次派发传 `model` 参数。指定但模型不存在 / 鉴权未配置会**抛错不静默降级**(错误信息列出可用模型),不会出现「以为用了 X 实际用 Y」。
|
|
98
|
+
- **cw.config.json 不配置 model**:cw 引擎只读 `testRunner`,不读 model 字段;`perLayer.model` 放进去是无人消费的死字段。
|
|
101
99
|
|
|
102
|
-
|
|
100
|
+
各层职责性质仅作用户自主差异化时的参考(planning 强模型 / dev 便宜模型等),不作为默认行为——默认一律继承主 agent 模型。
|
|
103
101
|
|
|
104
102
|
## 标记说明
|
|
105
103
|
|
|
@@ -222,5 +222,5 @@ agent 不记流程,每 turn 调 cw 拿 guidance 照做。cw guidance 是流程
|
|
|
222
222
|
- **新增** 6 个 agent 模板:planning-agent / wave-agent(层主) / dev-agent / review-agent / merge-agent(+ 主 agent 用现有)
|
|
223
223
|
- **新增** cw-tool(pi 自定义工具,registerTool):包装 cw 命令,**按 role 限制可调 action**(层主不含审查命令),堵 bash 洞 + 硬保证独立 review。分配给 planning-agent / wave-agent(层主) / dev-agent(execute/test) / review-agent(审查) / 主 agent
|
|
224
224
|
- **cw guidance 增强**:每 action 返回四段(位置/下一步+派发指导/恢复指导/续turn指导),让接收 guidance 的 agent 按派发指导分情况派子(详见 §7)
|
|
225
|
-
-
|
|
225
|
+
- **~~cw.config.json:可能加 perLayer.model(planning 强模型/wave 便宜模型)~~** —— **已否决**:模型在派发点(subagent 工具 `model` 参数)决定,默认不指定 = 继承父 agent 模型(pi 三层解析:override → agent frontmatter → 父 agent 当前模型),递归全树同模型,无需也不应逐层配置;按层差异化只作参考,须用户显式指定才生效
|
|
226
226
|
- **不依赖 cw 引擎 E1-E6**(本项目用 cw 现状 action 名;cw-tool 包装层可屏蔽未来 E1 合并差异)
|