@jennie-shawn/starwork 0.1.0-alpha.21 → 0.1.0-alpha.22

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.
@@ -2,180 +2,226 @@
2
2
 
3
3
  ## 状态
4
4
 
5
- - 版本:v0.8 accepted implementation note
5
+ - 版本:v0.9 implementation note
6
6
  - 所属模块:StarWork Skills
7
7
  - Skill 名称:`starworkMultiagent`
8
8
  - 相关命令:`starwork multiagent`
9
9
  - 相关 Core 能力:Agent Lanes
10
- - 实现状态:已按 Codex 标准线程工具边界收敛
11
- - 目标:帮助 Agent 把用户关于常用智能体、会话职责、多 Agent 分工、跨 lane 消息和共享输出的自然语言请求,转换成安全的 StarWork 协作流程
10
+ - 实现状态:友好引导体验改版中
11
+ - 目标:把用户关于多 AI 协作的自然语言请求,转成“先解释、再检查、再设计、先预览、确认后执行”的安全协作流程
12
12
 
13
13
  ## 一句话定义
14
14
 
15
- `starworkMultiagent` 是 StarWork Agent 协作设计与 Codex App 线程控制 skill。
15
+ `starworkMultiagent` 是 StarWork 的多 AI 协作顾问。
16
16
 
17
- 它不是 `starwork multiagent` 命令本身。Skill Codex App 正常路径中直接调用标准线程工具;CLI 只记录 StarWork 项目事实源。
17
+ 它面向用户时讲“AI 岗位、当前 AI 会话、可以整理或修改的范围、交接消息”;面向项目事实源时仍维护 Agent Lanes;面向 Codex App 时仍直接调用标准线程工具。
18
+
19
+ ## v0.9 用户体验原则
20
+
21
+ ### 用户看到 AI 岗位
22
+
23
+ 默认用户语言:
24
+
25
+ | 内部词 | 用户可见说法 |
26
+ |---|---|
27
+ | lane | AI 岗位 / 职责位 |
28
+ | session / thread | AI 会话 / 当前会话 |
29
+ | write_scope | 可以整理或修改的范围 |
30
+ | binding | 把这个会话登记到某个岗位 |
31
+ | shared output | 共享给其他 AI 的成果 |
32
+ | handoff | 交接消息 |
33
+ | CLI | StarWork 命令工具 |
34
+ | host / adapter | 你正在使用的 AI 工具 |
35
+ | dry-run | 先预览,不真正写入 |
36
+
37
+ 内部词只在用户追问机制、开发验收、调试记录或协议消息正文中出现。
38
+
39
+ ### 第一屏先解释流程
40
+
41
+ 用户说“创建 AI 团队 / 开启 MultiAgent / 创建多个 Agent”时,先输出:
18
42
 
19
43
  ```text
20
- 用户说“让开发 lane 开始修复 issue”
21
-
22
- starworkMultiagent 读取 StarWork binding
23
-
24
- Skill 组装 STARWORK:MULTIAGENT_MESSAGE
25
-
26
- send_message_to_thread 投递到目标 Codex thread
27
-
28
- multiagent request record 记录真实投递状态
44
+ 可以。我会先帮你把这个项目拆成几个清楚的 AI 岗位。
45
+
46
+ 每个岗位会有三件事:
47
+ 1. 它负责什么;
48
+ 2. 它可以整理或修改哪些内容;
49
+ 3. 它完成后要怎么交接。
50
+
51
+ 我会按这个顺序来:
52
+ 1. 先检查当前项目是否准备好;
53
+ 2. 再给你设计岗位方案;
54
+ 3. 先预览要写入的协作记录;
55
+ 4. 等你确认后再正式创建。
56
+
57
+ 检查和预览阶段不会改你的项目文件。
29
58
  ```
30
59
 
31
- ## 事实源
60
+ 第一屏不得出现 `lane`、`write_scope`、`binding`、`thread`、`CLI`、`doctor` 或具体 multiagent 子命令。
61
+
62
+ ### 只问自然问题
32
63
 
33
- Agent Lanes 协议事实源是:
64
+ 创建团队时,先问:
34
65
 
35
66
  ```text
36
- product/core/agent-lanes-spec.md
37
- product/planning/features/multiagent/specs/v0.8-skill-cli-minimal-boundary.md
67
+ 这个项目主要想完成什么?
68
+ 你希望哪些事情交给不同 AI 分开做?
69
+ 有没有哪些文件或内容不希望 AI 主动修改?
38
70
  ```
39
71
 
40
- SPEC 只规定 skill 如何判断、追问、调用标准线程工具和记录 CLI 状态,避免重复维护协议。
72
+ 不要向用户索要 lane id、write scope session id。Skill 根据回答生成内部字段。
41
73
 
42
- ## 设计边界
74
+ ### 先预览,再写入
43
75
 
44
- `starworkMultiagent` 应该做:
76
+ 创建或调整岗位前,用表格预览:
45
77
 
46
- - 判断用户是在初始化协作层、登记当前会话、增加 lane、绑定会话、释放会话、查看状态、发送跨 lane 指令,还是登记共享输出。
47
- - 采访 lane ID、职责、写入范围、真实 Codex thread id、共享输出受众。
48
- - Codex App 中直接调用 `create_thread`、`send_message_to_thread`、`read_thread`、`list_threads`、`set_thread_title`、`set_thread_pinned`、`set_thread_archived`。
49
- - Skill 自己组装 `STARWORK:MULTIAGENT_MESSAGE v1`。
50
- - `multiagent status --target <path> --json` 读取绑定。
51
- - 用 `multiagent bind` 记录真实 thread 绑定。
52
- - 用 `multiagent request record` 记录真实投递结果。
53
- - 用 `multiagent share` 登记共享输出索引。
78
+ | AI 岗位 | 负责什么 | 可以整理或修改的范围 | 交接方式 |
79
+ |---|---|---|---|
80
+ | 调研助手 | 整理资料和用户痛点 | 调研笔记、资料区 | 共享调研摘要 |
81
+ | 写作助手 | 写初稿和改表达 | 草稿、文档区 | 提交草稿给检查助手 |
82
+ | 检查助手 | 检查事实和风险 | 检查记录 | 给出修改建议 |
54
83
 
55
- `starworkMultiagent` 不应该做:
84
+ 表格后加:
56
85
 
57
- - 写死前端、后端、测试等默认职责。
58
- - 自动创建任务系统、锁系统或 JSON manifest。
59
- - 静默修改 `matters/registry.md`。
60
- - 替用户决定项目一定需要多少 lane。
61
- - 把 lane workspace 当成项目正式输出目录。
62
- - 搬运或复制共享输出文件。
63
- - 在 Codex App 正常路径中把会话创建、消息投递、读取、命名、置顶或归档交给 CLI 伪装完成。
64
- - 在标准工具不可见或失败时宣称已自动送达。
86
+ ```text
87
+ 如果这个方案没问题,我再创建这些协作记录。
88
+ ```
65
89
 
66
- ## 用户语义与主流程
90
+ 所有写入前说明:
67
91
 
68
- | 用户语义 | Skill 判断 | 主流程 |
69
- |---|---|---|
70
- | “把当前会话创建为一个常用智能体,负责 X” | 登记当前会话为一个稳定职责位 | 必要时 `init` / `add`,标准工具处理宿主显示动作,再 `bind` |
71
- | “初始化 multiagent / Agent Lanes” | 创建协议文件和可选空 lane | `multiagent init` |
72
- | “新增一个负责 X 的 Agent” | 创建稳定职责位,当前不一定绑定 session | `multiagent add` |
73
- | “把当前 Codex 绑定到 review” | 将当前具体会话绑定到已有 lane | `multiagent bind` |
74
- | “释放这个职责位” | 解除当前 session 绑定 | `set_thread_archived` 可选,再 `multiagent release` |
75
- | “看看当前分工” | 只读查看协作状态 | `multiagent status --target <path> --json` |
76
- | “这个输出给 writing 和 review 看” | 登记共享输出索引 | `multiagent share` |
77
- | “让开发 lane 开始开发” | 结构化跨会话指令 | `status` 读取绑定,Skill 组装消息,`send_message_to_thread` 投递,`request record` 记录 |
78
- | “看看开发 lane 做到哪了” | 宿主观察加 StarWork 状态汇总 | `status` 读取绑定,再 `read_thread` / `list_threads` |
79
- | “创建产品、开发、验收三个智能体” | 创建并绑定可工作的独立会话 | 必要时 `doctor` / `init` / `add`,再 `create_thread` / `set_thread_title` / `set_thread_pinned` / `bind` |
92
+ ```text
93
+ 下面是预览,还不会真正写入。
94
+ ```
95
+
96
+ 写入后说明:
97
+
98
+ ```text
99
+ 这次只写入了协作记录,没有改你的业务内容。
100
+ ```
101
+
102
+ 如果会修改正式文件,列出文件、目的和确认点。
80
103
 
81
- ## Skill-owned Message
104
+ ### 不套模板
82
105
 
83
- Skill 直接渲染完整消息,不向 CLI 索要消息模板。
106
+ Skill 可以用内容创作、课程制作、产品开发、资料整理等少量例子帮助用户理解拆分方式,但必须说明:
84
107
 
85
- Instruction Message 必须包含:
108
+ ```text
109
+ 这些只是参考,我会根据你当前这个项目重新设计,不会直接套模板。
110
+ ```
111
+
112
+ 不得把示例做成固定模板选择器。
113
+
114
+ ## v0.8 调用边界
115
+
116
+ v0.9 只改变用户交互层,不改变 v0.8 工具边界。
117
+
118
+ Codex App 正常路径继续直接调用:
86
119
 
87
- - `STARWORK:MULTIAGENT_MESSAGE v1` 包装。
88
- - `message_type: instruction`。
89
- - `request_id`、`from_lane`、`to_lane`、`created_at`、`recorded_in`。
90
- - 用户指令正文。
91
- - write scope、安全边界和当前工作区。
92
- - 完成后回报要求。
120
+ - `create_thread`
121
+ - `send_message_to_thread`
122
+ - `read_thread`
123
+ - `list_threads`
124
+ - `set_thread_title`
125
+ - `set_thread_pinned`
126
+ - `set_thread_archived`
93
127
 
94
- Launch Message 使用同一包装,但正文应描述 lane 职责、写入范围、当前工作区、启动后的第一步和回报方式。
128
+ CLI 只记录 StarWork 项目事实源:
95
129
 
96
- ## 常见入口:创建 Agent 团队
130
+ - `starwork doctor --target <path> --json`
131
+ - `starwork multiagent init`
132
+ - `starwork multiagent add`
133
+ - `starwork multiagent bind`
134
+ - `starwork multiagent release`
135
+ - `starwork multiagent status --target <path> --json`
136
+ - `starwork multiagent share`
137
+ - `starwork multiagent request record`
97
138
 
98
- “创建 Agent 团队”不是只创建 lane。完整成功标准是:每个目标职责都有 lane、每个 lane 已绑定可工作的独立 session,或者输出中明确说明哪些 lane 未完成以及阻塞原因。
139
+ Codex App 正常路径不得恢复旧的 CLI 自动投递、创建或消息模板路径。
99
140
 
100
- 流程:
141
+ ## 主要流程
101
142
 
102
- 1. `starwork doctor --target <path> --json` 确认工作台健康;如需启用协作层,使用 `multiagent init`。
103
- 2. 对缺失 lane 使用 `multiagent add`,先 dry-run,用户确认后写入。
104
- 3. Skill 为每个 lane 组装 Launch Message。
105
- 4. 用 `create_thread` 创建独立 Codex thread。
106
- 5. 用 `set_thread_title` 设置短标题,格式固定 `<职责名> Agent`。
107
- 6. 用户要求置顶时,用 `set_thread_pinned`。
108
- 7. `create_thread` 返回 thread id 后,用 `multiagent bind` 记录绑定。
109
- 8. 任一标准工具失败时,输出 `manual_handoff_required`,给出完整可复制 Launch Message,并明确尚未自动创建或绑定。
143
+ ### 创建 AI 团队
110
144
 
111
- ## 常见入口:发送跨 lane 指令
145
+ 1. 用户语言第一屏说明 AI 岗位是什么。
146
+ 2. 只读检查项目是否准备好,并说明只读取、不写入。
147
+ 3. 用自然问题采访项目目标、分工需求和禁止主动修改的内容。
148
+ 4. 给岗位表格预览,并等待用户确认。
149
+ 5. 用户确认后写入协作记录。
150
+ 6. 需要独立 Codex 会话时,用 `create_thread` 创建,用 `set_thread_title` 命名,必要时用 `set_thread_pinned` 置顶,再用 `multiagent bind` 记录真实会话。
151
+ 7. 汇报时区分岗位已创建、会话已绑定、消息已送达和目标任务已完成。
112
152
 
113
- 流程:
153
+ ### 绑定当前会话
114
154
 
115
- 1. 用 `multiagent status --target <path> --json` 读取目标 lane binding。
116
- 2. 未绑定时,先协助用户绑定已有会话或创建新会话。
117
- 3. Skill 组装 Instruction Message。
118
- 4. 用 `send_message_to_thread` 投递。
119
- 5. 成功后运行:
155
+ 先说:
120
156
 
121
- ```bash
122
- starwork multiagent request record --from <from-lane> --to <to-lane> --message "<text>" --host-delivery delivered_via_codex_thread_tool --delivery-tool send_message_to_thread --target <path> --yes
157
+ ```text
158
+ 我可以把当前这个 AI 会话登记成一个长期岗位。以后你就可以说“让验收助手继续处理”,而不是每次从头解释。
123
159
  ```
124
160
 
125
- 6. 如果标准工具失败,输出 `manual_handoff_required` 和完整消息;如果只是补记已经发生的人工动作,使用 `recorded_only`。
161
+ 如果拿不到当前会话 ID,先允许用户“稍后绑定”,不要一上来要求 `codex:<thread-id>`。
162
+
163
+ ### 跨岗位交接
126
164
 
127
- ## `request record` 状态语义
165
+ 先说:
128
166
 
129
- `--host-delivery` 支持:
167
+ ```text
168
+ 我会把这条任务整理成一段交接消息,发送给对应的 AI 岗位,并记录在项目协作记录里。
169
+
170
+ 这表示消息送达了,不表示对方已经完成任务。需要的话,我可以接着帮你查看它的进展。
171
+ ```
130
172
 
131
- - `delivered_via_codex_thread_tool`:Codex App 标准线程工具真实投递成功。
132
- - `recorded_only`:仅记录事实,不表示自动送达。
133
- - `manual_handoff_required`:需要用户复制消息到目标会话。
134
- - `failed`:投递或记录失败。
135
- - `delivered`:历史兼容值;Codex App 正常路径不要新写入该状态。
173
+ 成功投递后用 `multiagent request record` 记录 `delivered_via_codex_thread_tool`。
136
174
 
137
- ## Lane Workspace 与正式输出
175
+ ### 查看进展
138
176
 
139
- 每个 lane 默认拥有一个过程工作区:
177
+ 汇报分三块:
140
178
 
141
179
  ```text
142
- _系统/协作/lanes/<lane-id>/workspace/
143
- _system/collaboration/lanes/<lane-id>/workspace/
180
+ 1. AI 会话最近状态:<summary>
181
+ 2. 岗位工作记录:<worklog summary>
182
+ 3. 共享成果:<shared output summary>
144
183
  ```
145
184
 
146
- 它用于:
185
+ 不要把会话最近有回复直接说成任务完成。
147
186
 
148
- - 调研笔记。
149
- - 未确认草稿。
150
- - 中间分析。
151
- - 临时实验结果。
152
- - 给同一 lane 后续会话看的上下文材料。
187
+ ## 降级与安全接入
153
188
 
154
- 项目正式输出目录用于:
189
+ 目标目录不是 StarWork 工作台时,说:
155
190
 
156
- - 用户认可的最终交付物。
157
- - 项目正式文档。
158
- - 发布稿、确认稿、版本记录。
159
- - 可被整个项目长期引用的稳定成果。
191
+ ```text
192
+ 我还不能确认这个目录已经适合开启多 AI 分工。
193
+
194
+ 为了避免写错位置,我建议先完成项目接入检查。这个过程会先预览,不会直接改文件。
195
+ ```
196
+
197
+ AI 入口文档处于 `pending_merge` 时,说这是为了避免不同 AI 读到不一致规则,然后转入 `starworkInit` 安全接入。
198
+
199
+ 自动线程工具不可用时,说:
160
200
 
161
- workspace 内容需要其他 lane 读取时,建议生成 `starwork multiagent share ... --path "_系统/协作/lanes/<lane-id>/workspace/<file>"`。
201
+ ```text
202
+ 当前这个 AI 工具暂时不能自动把消息送到另一个会话。
203
+
204
+ 我会换成更稳妥的方式:生成一段交接消息,让你复制给目标 AI 会话。
205
+ 这样项目记录仍然清楚,也不会误以为任务已经自动完成。
206
+ ```
162
207
 
163
- ## 安全约束
208
+ 必须展示完整 `STARWORK:MULTIAGENT_MESSAGE`,并明确“还没有自动送达”。不得说已通知或已发送成功。
164
209
 
165
- - 写入类 CLI 命令默认先 dry-run。
166
- - 用户明确要求执行或确认后,才使用 `--yes`。
167
- - 只读 `status` 可以直接运行。
168
- - 不创建默认 lane 模板。
169
- - 不静默覆盖已有绑定。
170
- - 不绕过 StarWork 工作区边界。
171
- - 不修改 `matters/registry.md`。
172
- - 不把 lane workspace 当成项目正式事实源。
173
- - 标准线程工具不可见或失败时,不调用 CLI 子命令伪装自动投递或自动创建。
210
+ ## 状态口径
211
+
212
+ | 状态 | 可以说 | 不可以说 |
213
+ |---|---|---|
214
+ | 岗位已创建 | 已经创建了 AI 岗位 | Agent 已经开始工作 |
215
+ | 会话已绑定 | 这个岗位已经有对应 AI 会话 | 任务已经完成 |
216
+ | 消息已送达 | 交接消息已发送给目标会话 | 目标会话已经完成任务 |
217
+ | 目标任务已完成 | 目标会话已明确回报完成,或 worklog / shared output 有完成证据 | 只因消息已发送就说完成 |
174
218
 
175
219
  ## 验收标准
176
220
 
177
- - 给定“让开发 lane 开始实现”,skill 用 `multiagent status --target <path> --json` 查绑定,自己组装 `STARWORK:MULTIAGENT_MESSAGE v1`,用 `send_message_to_thread` 投递,再用 `multiagent request record` 写入 `delivered_via_codex_thread_tool`。
178
- - 给定“创建产品、开发、验收三个智能体”,skill 用 `create_thread` 建会话,用 `set_thread_title` 设置 `<职责名> Agent`,必要时用 `set_thread_pinned`,再用 `multiagent bind` 记录。
179
- - 给定“看看开发 lane 做到哪了”,skill 用 `multiagent status --target <path> --json` 查绑定,再用 `read_thread` 或 `list_threads` 观察。
180
- - 给定标准线程工具不可见或失败,skill 输出 `manual_handoff_required` 和完整可复制消息,并说明尚未自动送达。
181
- - 给定“这个输出给 writing 和 review 看”,skill 生成 `starwork multiagent share ...`,不移动原文件。
221
+ - 第一屏包含 AI 岗位、负责什么、可以整理或修改哪些内容、交接、先预览和确认后。
222
+ - 第一屏不包含内部词:lane、write_scope、binding、thread、CLI、doctor、multiagent init、multiagent add。
223
+ - 创建团队时先问项目目标、分工需求和禁止主动修改内容。
224
+ - 创建或调整岗位前用表格预览,并有“如果这个方案没问题,我再创建这些协作记录。”
225
+ - 写入前说“下面是预览,还不会真正写入”;写入后说“这次只写入了协作记录,没有改你的业务内容。”
226
+ - 自动工具不可用时说明还没有自动送达,并给出完整可复制交接消息。
227
+ - v0.8 禁止项扫描继续通过。