dsh-lead-mode 0.1.6 → 0.1.7
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/cordis.patch.yml +1 -0
- package/package.json +1 -1
- package/skills/lead-mode/SKILL.md +62 -0
package/cordis.patch.yml
CHANGED
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
|
|
52
52
|
- 派活自包含。teammate 看不到你的上下文,把目标、约束、验收标准、已知失败、绝对路径都写进 prompt。
|
|
53
53
|
- 要求它收尾那条消息写清交付物。它收工时那条消息会随通知回到你手上。
|
|
54
|
+
- 派活时要求它第一步建工作日志(.scratch/<effort>/worklog-<mate>.md),收尾前补完最后一轮。
|
|
54
55
|
- 写作用域不重叠。一人一块文件。分不开的活排成依赖。
|
|
55
56
|
- 共享任务走 list、get、claim(带 revision)、干、complete。task 只是账本,不是唤醒通道。
|
|
56
57
|
- 等活就结束回合等通知:teammate 收工、或给你发消息,都会唤醒你。task 变更只唤醒正在 wait_agent 的调用方,不会唤醒空闲的你。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-lead-mode",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.7",
|
|
4
4
|
"description": "Lead mode for DSH: an agent preset, a working-method skill, a dependency self-check, and two reminders that tell you to enable the official Agent Teams. | 给 DSH 加 Lead 模式:预设、skill、依赖自检、两条前置提醒。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -99,12 +99,74 @@ teammate 收工时,它**最后那条消息**会随通知回到你手上,格
|
|
|
99
99
|
|
|
100
100
|
需要**中途**进度(干到一半问一句、或者要它先确认再继续)时,才另外要求它 `send_message` 给你。
|
|
101
101
|
|
|
102
|
+
还有一条硬要求,写进每张单里:开建工作日志是成员的第一件事,收尾前补完最后一轮。它是你的账本,成员被 `interrupt_agent` 打断也不丢账。格式见下面的「上下文变长怎么办」那节。
|
|
103
|
+
|
|
102
104
|
### 收尾消息可能被省掉
|
|
103
105
|
|
|
104
106
|
如果 teammate 在收工前刚给你发过 `send_message`,通知里不会重复它的收尾正文,而是写「It sent you a message just before finishing, so its closing message is omitted.」。
|
|
105
107
|
|
|
106
108
|
也就是说:你要么拿到收尾消息,要么拿到它发的那条,不会两个都没。
|
|
107
109
|
|
|
110
|
+
## 上下文变长怎么办:压缩、复用、交接、换人
|
|
111
|
+
|
|
112
|
+
### 为什么会丢
|
|
113
|
+
|
|
114
|
+
宿主对每个 agent 都自动压缩会话。压力到阈值就触发,会话 id 不变,早期节点被一条摘要替换。这就是**上下文降级**:细节只剩摘要,不再完整可见。
|
|
115
|
+
|
|
116
|
+
团队层没有关掉压缩的开关。Lead 也没有「压缩指定成员会话」的通道,只能等它自己触发。
|
|
117
|
+
|
|
118
|
+
成员活干长了,前面的细节会变薄。你不查,就当它还记得。
|
|
119
|
+
|
|
120
|
+
### 怎么检测
|
|
121
|
+
|
|
122
|
+
查这个成员的会话被压缩过几次:
|
|
123
|
+
|
|
124
|
+
1. `list_agents` 取成员的 `id`。
|
|
125
|
+
2. `session_event_search`,`session_id` 填那个 id,`event_types: ["compaction/start"]`,`surfaces: ["log-only"]`。
|
|
126
|
+
3. 命中 ≥1 次,就是该成员已被压缩,细节开始丢。
|
|
127
|
+
|
|
128
|
+
不要在 `wait_agent` 里套这个检查,也不要反复轮询。一次派活、验收之前查一次就够。
|
|
129
|
+
|
|
130
|
+
阈值不写死。各宿主不一样,写死会过期,你只需要知道怎么查。
|
|
131
|
+
|
|
132
|
+
### 交接阶梯
|
|
133
|
+
|
|
134
|
+
按代价从低到高排,能不换人就不换人。
|
|
135
|
+
|
|
136
|
+
1. 继续跑:命中 0–1 次、活快收尾,交给自动压缩兜住。
|
|
137
|
+
2. 重发窄单:用 `send_message` 给同一个成员一张更窄的单,只做剩下的部分。成员常驻,别急着换人。
|
|
138
|
+
3. 写交接文档:要求它先补完工作日志,再写 handoff,然后 `interrupt_agent`。
|
|
139
|
+
4. 换新成员:`spawn_teammate`,`context` 用 `fresh`。原因写死:`fork` 拷的是你 Lead 自己的历史,不是上一个成员的历史,所以拿不到前任的细节。
|
|
140
|
+
|
|
141
|
+
### 工作日志与交接文档放哪
|
|
142
|
+
|
|
143
|
+
位置固定在 `.scratch/<effort>/`。一人一个 `worklog-<mate>.md`,换人时写 `handoff-<mate>-<n>.md`。
|
|
144
|
+
|
|
145
|
+
`.scratch` 是 `obsidian-docs/scratch/` 的软链,笔记库能看见,不进 git。
|
|
146
|
+
|
|
147
|
+
工作日志(worklog)分两段:
|
|
148
|
+
|
|
149
|
+
| 段 | 写什么 |
|
|
150
|
+
|---|---|
|
|
151
|
+
| 状态摘要(头部,一屏内) | 任务 id 与标题、所属成员、写作用域、验收判据、当前状态 |
|
|
152
|
+
| 轮次记录(下面,只追加) | 一轮一条:做了什么、改了哪些文件、下一步、踩到的坑 |
|
|
153
|
+
|
|
154
|
+
交接文档(handoff)六块,全部用指针,不复制正文:
|
|
155
|
+
|
|
156
|
+
1. 接手关系:谁交给谁、交接原因、时间。
|
|
157
|
+
2. 任务与账本:task id、revision、owner、验收判据。
|
|
158
|
+
3. 文件账:已改、未改、只读过,全部绝对路径,加工作日志指针。
|
|
159
|
+
4. 验收:能复跑的命令,加最近一次输出摘要。
|
|
160
|
+
5. 死路与决策:试过什么不行、为什么选现在这条。
|
|
161
|
+
6. 下一步:接手第一件事、明确不做什么。
|
|
162
|
+
|
|
163
|
+
### 换人操作清单
|
|
164
|
+
|
|
165
|
+
- 先查名额:`/lead-mode` 报 `maxMembers`。换一次吃一个名额,创建失败的也占位,名字永不复用。
|
|
166
|
+
- 旧 task 你先 `team_task_update` 执行 `release`,续作成员再 `claim`。revision 会变。
|
|
167
|
+
- 续作成员名字加 `-r2` 后缀,与被接手的成员并存,不要复用旧名字。
|
|
168
|
+
- `interrupt_agent` 不清空它排队的消息,打断前确认工作日志已写完。
|
|
169
|
+
|
|
108
170
|
## 写作用域不重叠
|
|
109
171
|
|
|
110
172
|
两个 teammate 同时改一个文件,改动会互相覆盖,而且谁都发现不了。
|