vibe-coding-master 0.0.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.
Files changed (52) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +226 -0
  3. package/dist/backend/adapters/claude-adapter.js +38 -0
  4. package/dist/backend/adapters/command-runner.js +33 -0
  5. package/dist/backend/adapters/filesystem.js +60 -0
  6. package/dist/backend/adapters/git-adapter.js +33 -0
  7. package/dist/backend/api/artifact-routes.js +109 -0
  8. package/dist/backend/api/message-routes.js +90 -0
  9. package/dist/backend/api/project-routes.js +17 -0
  10. package/dist/backend/api/session-routes.js +64 -0
  11. package/dist/backend/api/task-routes.js +30 -0
  12. package/dist/backend/errors.js +29 -0
  13. package/dist/backend/runtime/node-pty-runtime.js +162 -0
  14. package/dist/backend/runtime/session-registry.js +36 -0
  15. package/dist/backend/runtime/terminal-runtime.js +1 -0
  16. package/dist/backend/server.js +159 -0
  17. package/dist/backend/services/artifact-service.js +170 -0
  18. package/dist/backend/services/command-dispatcher.js +37 -0
  19. package/dist/backend/services/message-service.js +217 -0
  20. package/dist/backend/services/project-service.js +71 -0
  21. package/dist/backend/services/session-service.js +221 -0
  22. package/dist/backend/services/status-service.js +21 -0
  23. package/dist/backend/services/task-service.js +88 -0
  24. package/dist/backend/templates/handoff.js +76 -0
  25. package/dist/backend/templates/message-envelope.js +27 -0
  26. package/dist/backend/templates/role-command.js +21 -0
  27. package/dist/backend/templates/role-messaging-context.js +44 -0
  28. package/dist/backend/ws/terminal-ws.js +60 -0
  29. package/dist/cli/vcmctl.js +141 -0
  30. package/dist/main.js +63 -0
  31. package/dist/shared/constants.js +45 -0
  32. package/dist/shared/types/api.js +1 -0
  33. package/dist/shared/types/artifact.js +1 -0
  34. package/dist/shared/types/message.js +1 -0
  35. package/dist/shared/types/project.js +1 -0
  36. package/dist/shared/types/role.js +1 -0
  37. package/dist/shared/types/session.js +1 -0
  38. package/dist/shared/types/task.js +1 -0
  39. package/dist/shared/types/terminal.js +1 -0
  40. package/dist/shared/validation/artifact-check.js +64 -0
  41. package/dist/shared/validation/slug-check.js +22 -0
  42. package/dist-frontend/assets/index-Bah6k-Ix.css +32 -0
  43. package/dist-frontend/assets/index-EMaQuIB6.js +58 -0
  44. package/dist-frontend/index.html +13 -0
  45. package/docs/cc-best-practices.md +2142 -0
  46. package/docs/product-design.md +1597 -0
  47. package/docs/v1-architecture-design.md +1431 -0
  48. package/docs/v1-implementation-plan.md +1949 -0
  49. package/docs/v1-message-bus-orchestration-design.md +534 -0
  50. package/package.json +60 -0
  51. package/scripts/clean-build.mjs +12 -0
  52. package/scripts/fix-node-pty-spawn-helper.mjs +31 -0
@@ -0,0 +1,1597 @@
1
+ # VibeCodingMaster 产品设计文档
2
+
3
+ 版本:v0.1
4
+ 日期:2026-05-29
5
+ 状态:产品设计草案
6
+ 依据:`docs/cc-best-practices.md`
7
+
8
+ ## 1. 产品定位
9
+
10
+ VibeCodingMaster 是面向 Claude Code 的本地 GUI 多 session 工作台,也是 AI Project Manager 和 Harness Manager。
11
+
12
+ 它把用户的自然语言需求转化为可计划、可执行、可验证、可审查、可沉淀的工程任务,并在一个图形化任务工作台中托管多个 Claude Code role sessions,让用户可以在 `project-manager`、`architect`、`coder`、`reviewer` 等 session 之间切换、沟通、观察输出和管理交接 artifact。
13
+
14
+ 一句话:
15
+
16
+ > VibeCodingMaster 不是让用户手动管理一堆终端和 prompt,而是把多个 Claude Code sessions 放进一个可视化、有角色、有契约、有测试、有交接、有验收的本地工程工作台里。
17
+
18
+ 核心闭环:
19
+
20
+ ```text
21
+ user intent
22
+ -> GUI task workspace
23
+ -> project manager session clarification
24
+ -> project manager command planning
25
+ -> task severity classification
26
+ -> task spec
27
+ -> required role route
28
+ -> role session cockpit
29
+ -> role-specific command generation
30
+ -> architecture plan
31
+ -> public contract review
32
+ -> Claude Code implementation
33
+ -> validation
34
+ -> independent AI review
35
+ -> replan when needed
36
+ -> PR / final acceptance
37
+ -> project memory update
38
+ ```
39
+
40
+ ## 2. 产品背景
41
+
42
+ Claude Code 已经可以在真实项目中高效写代码,但复杂项目里的失败通常不是因为模型完全不会写代码,而是因为缺少工程控制层:
43
+
44
+ - 需求没有被澄清,Claude Code 直接开始改代码。
45
+ - 任务没有 scope、non-goals、public contract、test contract。
46
+ - 一个 session 同时承担架构、编码、测试、review,导致自我确认。
47
+ - 任务进度、实现偏差、验证结果和决策只留在聊天里,无法跨 session 延续。
48
+ - 文档、模块边界、测试策略和代码变化不同步。
49
+ - AI 发现了计划问题,但没有正式 Replan 协议,只能边做边改。
50
+ - 代码完成后缺少独立 reviewer 和验收清单。
51
+
52
+ 最新最佳实践的核心判断是:
53
+
54
+ > AI coding reliability comes from two things: public contract design prevents architecture drift, and public contract tests prevent behavior drift.
55
+
56
+ VibeCodingMaster 的产品机会,就是把这条原则变成日常 AI 编程工作流。
57
+
58
+ ## 3. 核心价值
59
+
60
+ ### 3.1 对用户
61
+
62
+ - 用户可以用自然语言描述需求,不需要手写复杂 Claude Code prompt。
63
+ - 用户能在编码前看到清晰的实现方案和风险。
64
+ - 用户能知道 Claude Code 做了什么、为什么这么做、如何验证。
65
+ - 用户能把长期项目的经验沉淀到 repo,而不是沉没在聊天记录里。
66
+
67
+ ### 3.2 对工程团队
68
+
69
+ - 降低 AI 编码带来的架构漂移。
70
+ - 降低行为回归和测试缺失。
71
+ - 让高风险任务进入更严格的角色路由和 human approval。
72
+ - 让 AI 生成代码具备可审计的任务、计划、验证和 review 证据。
73
+
74
+ ### 3.3 对 Claude Code
75
+
76
+ - 给 Claude Code 提供正确上下文,而不是大量噪音。
77
+ - 把模糊需求转成明确 task spec。
78
+ - 用 public contract 限制可变范围。
79
+ - 用 contract tests 和 validation commands 提供可执行反馈。
80
+ - 用 handoff artifacts 跨 session 保留任务状态。
81
+
82
+ ## 4. 目标用户
83
+
84
+ ### 4.1 Solo Builder
85
+
86
+ 已经使用 Claude Code 做大量开发,但经常遇到:
87
+
88
+ - 改错文件。
89
+ - 一次做太多。
90
+ - 上下文丢失。
91
+ - 测试没跑。
92
+ - 代码能跑但架构变形。
93
+
94
+ VibeCodingMaster 帮他把想法整理成小步、可验证、可回滚的任务。
95
+
96
+ ### 4.2 Tech Lead
97
+
98
+ 希望团队使用 Claude Code 提升吞吐量,但担心:
99
+
100
+ - 架构边界被打穿。
101
+ - 测试质量下降。
102
+ - public API 被随意修改。
103
+ - 高风险业务逻辑缺少审查。
104
+
105
+ VibeCodingMaster 提供角色制、contract gate、review gate 和最终验收流程。
106
+
107
+ ### 4.3 Product-minded Founder
108
+
109
+ 能表达产品意图,但不能稳定写出高质量工程 prompt。
110
+
111
+ VibeCodingMaster 把业务语言转成:
112
+
113
+ - task spec
114
+ - architecture plan
115
+ - public surface contract
116
+ - validation plan
117
+ - PR summary
118
+
119
+ ## 5. 产品原则
120
+
121
+ ### 5.1 Repo 是事实源
122
+
123
+ 重要项目知识必须进入 repo,成为 Claude Code 可读取、可版本化、可 review 的 artifact。
124
+
125
+ 核心 artifact:
126
+
127
+ ```text
128
+ CLAUDE.md
129
+ docs/
130
+ .ai/task-specs/
131
+ .ai/handoffs/
132
+ .ai/state/
133
+ .ai/generated/
134
+ tools/
135
+ ```
136
+
137
+ ### 5.2 Public Contract 优先
138
+
139
+ 普通 feature、bug fix、PR 不能只说“改哪些文件”,还要定义:
140
+
141
+ - public/exported functions
142
+ - public methods
143
+ - module APIs
144
+ - service / controller / repository public entry points
145
+ - route handlers / command handlers
146
+ - hooks
147
+ - externally used component props
148
+
149
+ VibeCodingMaster 必须在编码前帮助用户锁定这些公共边界。
150
+
151
+ ### 5.3 Public Contract Tests 是验收底线
152
+
153
+ 新增或修改 public function 必须有契约测试。
154
+
155
+ 最低要求:
156
+
157
+ - happy path
158
+ - boundary or failure path
159
+
160
+ 高风险业务还需要:
161
+
162
+ - invalid input
163
+ - permission or state constraints
164
+ - side effects
165
+ - idempotency
166
+ - historical regressions
167
+
168
+ ### 5.4 角色分离
169
+
170
+ 复杂任务中,不允许一个 Claude Code session 同时拥有架构、编码、最终测试和独立 review。
171
+
172
+ 默认角色链:
173
+
174
+ ```text
175
+ project manager -> architect -> coder -> reviewer -> human approval
176
+ ```
177
+
178
+ ### 5.5 文件交接,不靠聊天记忆
179
+
180
+ 角色之间通过 handoff artifacts 交接:
181
+
182
+ ```text
183
+ .ai/handoffs/<task-slug>/
184
+ architecture-plan.md
185
+ implementation-log.md
186
+ validation-log.md
187
+ review-report.md
188
+ ```
189
+
190
+ 聊天记录可以辅助理解,但不能作为长期事实源。
191
+
192
+ ### 5.6 Replan 是正式流程
193
+
194
+ 当计划和代码现实不一致时,不能悄悄改方向。
195
+
196
+ VibeCodingMaster 必须触发:
197
+
198
+ ```text
199
+ Stop
200
+ -> Explain blocker
201
+ -> Compare approved plan with code reality
202
+ -> List options
203
+ -> Recommend new plan
204
+ -> Ask approval if scope or risk changed
205
+ -> Update docs
206
+ -> Continue
207
+ ```
208
+
209
+ ### 5.7 流程按风险分级
210
+
211
+ VibeCodingMaster 不是让所有任务都变重,而是按任务风险选择流程重量。
212
+
213
+ 小任务要快,复杂任务要稳,高风险任务要有硬 gate。
214
+
215
+ ### 5.8 GUI 是主交互入口
216
+
217
+ V1 的主入口不是 CLI,而是本地 GUI 工作台。
218
+
219
+ 用户应该通过页面完成:
220
+
221
+ - 选择本地 repo。
222
+ - 创建任务。
223
+ - 启动或停止 role sessions。
224
+ - 切换 `project-manager / architect / coder / reviewer`。
225
+ - 直接在 session 面板里和 Claude Code 沟通。
226
+ - 查看 role command、handoff artifacts、logs、状态和风险。
227
+
228
+ CLI 可以作为开发、调试或自动化入口保留,但不能成为 V1 的主要用户体验。
229
+
230
+ ### 5.9 终端是能力,不是产品界面
231
+
232
+ Claude Code 本质上仍然是交互式终端程序,VibeCodingMaster 可以使用 embedded terminal 来承载它。
233
+
234
+ 但用户不应该被迫理解:
235
+
236
+ - pseudo-terminal。
237
+ - process id。
238
+ - terminal stream。
239
+ - WebSocket message。
240
+ - input/output bridge。
241
+
242
+ 这些只应该是底层实现细节。产品界面表达的是任务、角色、会话、状态、artifact 和验收。
243
+
244
+ ## 6. 核心概念
245
+
246
+ ### 6.1 Project Manager
247
+
248
+ VibeCodingMaster 的核心角色是 Project Manager。
249
+
250
+ Project Manager 是面向用户的沟通者,也是面向 AI 角色的指令调度者。它不只是记录流程,而是负责把用户的业务语言逐步转成其他角色可以准确执行的命令。
251
+
252
+ 它负责:
253
+
254
+ - 和用户对话,澄清需求。
255
+ - 把用户输入整理成 task brief 和 task spec。
256
+ - 判断任务严重级别。
257
+ - 选择 required role route。
258
+ - 决定下一步应该调用 architect、coder、reviewer 还是 specialist。
259
+ - 为每个角色准备准确、完整、边界清楚的 role command。
260
+ - 确保 handoff artifacts 存在。
261
+ - 调度 Claude Code 的 architect、coder、reviewer session。
262
+ - 收集 validation evidence。
263
+ - 判断是否需要 Replan。
264
+ - 维护项目状态和最终验收。
265
+
266
+ 它不应该成为一个“什么都自己做”的 coding session。
267
+
268
+ 它发给其他角色的命令必须包含:
269
+
270
+ - role identity
271
+ - task spec path
272
+ - required input artifacts
273
+ - allowed scope
274
+ - public surface contract
275
+ - test contract
276
+ - stop conditions
277
+ - validation commands
278
+ - expected output artifact path
279
+ - escalation / Replan triggers
280
+
281
+ 换句话说:
282
+
283
+ ```text
284
+ Project Manager = user-facing conversation owner + role command dispatcher
285
+ ```
286
+
287
+ 它负责让每个 AI 角色“收到正确任务”,但不替代该角色完成任务。
288
+
289
+ ### 6.2 Task Spec
290
+
291
+ Task Spec 是用户需求进入工程系统的入口。
292
+
293
+ 建议路径:
294
+
295
+ ```text
296
+ .ai/task-specs/<task-slug>.md
297
+ ```
298
+
299
+ 标准结构:
300
+
301
+ ```md
302
+ # Task Spec
303
+
304
+ ## Goal
305
+ ## Background
306
+ ## Scope
307
+ ## Non-goals
308
+ ## Task Severity
309
+ ## Required Role Route
310
+ ## Handoff Directory
311
+ ## Relevant Files
312
+ ## File Responsibilities
313
+ ## Public Surface Contract
314
+ ## Test Contract
315
+ ## Architecture Constraints
316
+ ## Stop Conditions
317
+ ## Expected Behavior
318
+ ## Validation Commands
319
+ ## Definition of Done
320
+ ## Risks
321
+ ## Questions
322
+ ```
323
+
324
+ ### 6.3 Architecture Plan
325
+
326
+ Architecture Plan 是 architect role 的输出。
327
+
328
+ 建议路径:
329
+
330
+ ```text
331
+ .ai/handoffs/<task-slug>/architecture-plan.md
332
+ ```
333
+
334
+ 它定义:
335
+
336
+ - task classification
337
+ - required role route
338
+ - modules and files
339
+ - file responsibilities
340
+ - public surface contract
341
+ - dependency direction
342
+ - data flow
343
+ - phases
344
+ - validation per phase
345
+ - rollback / replan triggers
346
+ - risks
347
+ - docs to update
348
+
349
+ ### 6.4 Implementation Log
350
+
351
+ Implementation Log 是 coder role 的输出。
352
+
353
+ 建议路径:
354
+
355
+ ```text
356
+ .ai/handoffs/<task-slug>/implementation-log.md
357
+ ```
358
+
359
+ 它记录:
360
+
361
+ - files changed
362
+ - public surface changed
363
+ - tests added / updated
364
+ - validation run
365
+ - deviations from architecture plan
366
+ - follow-ups
367
+
368
+ ### 6.5 Validation Log
369
+
370
+ Validation Log 是任务级验证证据。
371
+
372
+ 建议路径:
373
+
374
+ ```text
375
+ .ai/handoffs/<task-slug>/validation-log.md
376
+ ```
377
+
378
+ 它是单个任务的权威验证记录。
379
+ `.ai/state/validation-log.md` 只是跨任务滚动索引。
380
+
381
+ ### 6.6 Review Report
382
+
383
+ Review Report 是 reviewer role 的输出。
384
+
385
+ 建议路径:
386
+
387
+ ```text
388
+ .ai/handoffs/<task-slug>/review-report.md
389
+ ```
390
+
391
+ 它必须覆盖:
392
+
393
+ - role / handoff compliance
394
+ - scope review
395
+ - architecture review
396
+ - public contract review
397
+ - test review
398
+ - missing tests added
399
+ - validation evidence
400
+ - docs sync
401
+ - findings
402
+ - decision
403
+
404
+ ### 6.7 Role Command
405
+
406
+ Role Command 是 Project Manager 发给每个 AI 角色的可执行指令。
407
+
408
+ 它不是普通聊天 prompt,而是由结构化上下文编译出来的任务命令。
409
+
410
+ Role Command 的输入:
411
+
412
+ - user intent
413
+ - task spec
414
+ - required role route
415
+ - architecture plan
416
+ - public surface contract
417
+ - test contract
418
+ - handoff paths
419
+ - validation requirements
420
+ - stop conditions
421
+ - current task state
422
+
423
+ Role Command 必须写入当前 VCM task 的 canonical handoff directory:
424
+
425
+ ```text
426
+ .ai/handoffs/<task-slug>/role-commands/<role>.md
427
+ ```
428
+
429
+ Project Manager 不得为同一个 VCM task 创建或使用另一个 `.ai/handoffs/<other-task>/` 目录。如果 task slug 不对,Project Manager 必须停下来要求用户创建或选择正确的 VCM task。
430
+
431
+ Role Command 的输出形式:
432
+
433
+ ```text
434
+ Start the architect role for task <task-slug>.
435
+
436
+ Read:
437
+ - <task spec path>
438
+ - <relevant docs>
439
+
440
+ Produce:
441
+ - .ai/handoffs/<task-slug>/architecture-plan.md
442
+
443
+ Rules:
444
+ - define public surface contract
445
+ - define test contract
446
+ - do not edit production code
447
+ - stop and escalate if ...
448
+ ```
449
+
450
+ VibeCodingMaster 应保存每次发出的 Role Command,方便后续审计、复现和优化。
451
+
452
+ ## 7. 任务分级与角色路由
453
+
454
+ VibeCodingMaster 根据任务类型自动推荐 role route。
455
+
456
+ | 等级 | 任务类型 | 示例 | 推荐路由 |
457
+ | --- | --- | --- | --- |
458
+ | T0 | trivial | 文案、注释、无行为变化的小配置 | `coder`,可选 review checklist |
459
+ | T1 | small scoped change | 单文件 bug、简单测试、已知模式修复 | `coder -> fresh review` 或 `coder -> reviewer` |
460
+ | T2 | ordinary feature | 有边界的多文件 feature、普通 PR | `architect -> coder -> reviewer` |
461
+ | T3 | cross-module / architectural | 跨模块改动、重构、新 public surface | `architect -> coder -> reviewer` |
462
+ | T4 | high-risk | auth、permission、payment、billing、schema、public API、security | `architect -> specialist -> coder -> reviewer -> human approval` |
463
+ | T5 | large rewrite / greenfield | 新子系统、大迁移、长期重构 | `architect`,然后每个 phase 循环 `coder -> reviewer`,阶段边界做 architect review |
464
+
465
+ 当分类不明确时,选择更严格的路由。
466
+
467
+ ## 8. 端到端工作流
468
+
469
+ ### 8.1 新项目初始化
470
+
471
+ 用户连接一个 repo 后,VibeCodingMaster 执行 Harness Scan:
472
+
473
+ ```text
474
+ Scan repo
475
+ -> identify language, framework, package manager
476
+ -> identify test commands
477
+ -> inspect directory and module boundaries
478
+ -> check CLAUDE.md
479
+ -> check docs/ARCHITECTURE.md
480
+ -> check docs/MODULE_MAP.md
481
+ -> check docs/TESTING.md
482
+ -> check module-local CLAUDE.md
483
+ -> check validation tools
484
+ -> check generated artifacts
485
+ -> report harness gaps
486
+ ```
487
+
488
+ 输出 Project Harness Report:
489
+
490
+ - 当前 harness level。
491
+ - 缺失的核心文档。
492
+ - 缺失的 validation commands。
493
+ - 高风险模块。
494
+ - 是否存在 generated artifact freshness check。
495
+ - 是否适合执行非平凡 AI coding。
496
+
497
+ ### 8.2 用户提出需求
498
+
499
+ 用户输入自然语言:
500
+
501
+ ```text
502
+ 帮我把账单里的优惠券和部分退款逻辑修一下。
503
+ ```
504
+
505
+ VibeCodingMaster 不直接让 Claude Code 编码,而是先澄清:
506
+
507
+ - 期望行为是什么?
508
+ - 哪些入口受影响?
509
+ - 是否允许改 public API?
510
+ - 是否允许改 schema?
511
+ - 是否涉及权限、支付、数据删除?
512
+ - 成功标准是什么?
513
+ - 需要保留哪些兼容行为?
514
+
515
+ ### 8.3 生成 Task Spec
516
+
517
+ VibeCodingMaster 根据用户回答和代码库扫描生成 Task Spec。
518
+
519
+ 关键要求:
520
+
521
+ - 至少定义 file responsibilities。
522
+ - 普通任务定义 public surface contract。
523
+ - 新增或修改 public function 定义 test contract。
524
+ - 高风险任务定义 human approval gate。
525
+
526
+ ### 8.4 Preflight Architecture Review
527
+
528
+ VibeCodingMaster 调用 Claude Code architect session 或等价架构角色生成 `architecture-plan.md`。
529
+
530
+ 随后可调用独立模型做 Preflight Review,例如 ChatGPT、Gemini 或 fresh Claude session。
531
+
532
+ Preflight Review 输出:
533
+
534
+ ```text
535
+ Decision: approve / request_changes / block
536
+
537
+ Critical Issues:
538
+ Architecture Risks:
539
+ Public Contract Risks:
540
+ Missing Context:
541
+ Test Requirements:
542
+ Suggested Plan Changes:
543
+ Final Recommendation:
544
+ ```
545
+
546
+ 如果 decision 是 `request_changes`,回到 architect 修改计划。
547
+ 如果 decision 是 `block`,停止并请求用户或 human reviewer 决策。
548
+
549
+ ### 8.5 Coder 执行
550
+
551
+ Coder role 只执行 approved plan。
552
+
553
+ 执行 prompt 必须包含:
554
+
555
+ - task spec path
556
+ - architecture plan path
557
+ - scope
558
+ - public surface contract
559
+ - test contract
560
+ - validation commands
561
+ - stop conditions
562
+ - handoff log path
563
+
564
+ Coder 不能静默改变:
565
+
566
+ - scope
567
+ - public contract
568
+ - module responsibility
569
+ - architecture direction
570
+ - test strategy
571
+
572
+ 如需改变,必须触发 Replan。
573
+
574
+ ### 8.6 Validation
575
+
576
+ VibeCodingMaster 按任务风险选择验证层级:
577
+
578
+ ```text
579
+ L0 Fast Checks
580
+ format, lint, typecheck, architecture boundary, dependency rules
581
+
582
+ L1 Focused Unit / Contract Tests
583
+ changed-file tests, public contract tests, regression tests
584
+
585
+ L2 Module / Integration Tests
586
+ module service tests, DB integration, API contract
587
+
588
+ L3 Smoke E2E
589
+ core user journeys, browser/API smoke flows
590
+
591
+ L4 Full Regression / Release Suite
592
+ historical replay, visual, accessibility, perf, cross-browser
593
+ ```
594
+
595
+ 默认规则:
596
+
597
+ - T0:L0。
598
+ - T1:L0 + focused L1。
599
+ - T2:L0 + L1 + relevant L2。
600
+ - T3:L0 + L1 + L2。
601
+ - T4:L0 + L1 + L2 + relevant L3,release 前 L4。
602
+ - T5:每个 phase 有独立 validation plan。
603
+
604
+ ### 8.7 Independent Review
605
+
606
+ Reviewer role 使用 fresh context 或独立 reviewer session。
607
+
608
+ Review 优先级:
609
+
610
+ 1. correctness
611
+ 2. security / permission risk
612
+ 3. regressions
613
+ 4. missing tests
614
+ 5. architecture boundary violations
615
+ 6. public contract mismatch
616
+ 7. docs sync
617
+
618
+ Reviewer 可以做小范围、低风险、review-scoped fixes,例如:
619
+
620
+ - 增强测试断言。
621
+ - 增加小的边界测试。
622
+ - 修复测试 fixture。
623
+ - 修复明显 typo、import、lint。
624
+
625
+ Reviewer 不能接管中大型实现。如果发现业务逻辑或架构问题,必须退回 coder 或 architect。
626
+
627
+ ### 8.8 Final Acceptance
628
+
629
+ VibeCodingMaster 的最终验收检查:
630
+
631
+ ```text
632
+ behavior is correct
633
+ + architecture is compliant
634
+ + public contract is accurate
635
+ + tests are sufficient
636
+ + validation evidence exists
637
+ + docs are synced
638
+ + plan deviations are traceable
639
+ ```
640
+
641
+ 最终报告必须包含:
642
+
643
+ ```text
644
+ Task severity:
645
+ Role sessions used:
646
+ Handoff artifacts:
647
+ Files changed:
648
+ Public surface changed:
649
+ Tests added/updated:
650
+ Validation run:
651
+ Architecture checks:
652
+ Docs updated:
653
+ Plan deviations:
654
+ Remaining risks:
655
+ Decision:
656
+ ```
657
+
658
+ ## 9. 产品功能模块
659
+
660
+ ### 9.1 Chat Intake
661
+
662
+ 负责和用户沟通,把自然语言变成工程需求。
663
+
664
+ 能力:
665
+
666
+ - 识别任务类型。
667
+ - 判断风险等级。
668
+ - 追问关键需求。
669
+ - 识别 high-risk boundaries。
670
+ - 生成 task brief。
671
+
672
+ ### 9.2 Task Spec Builder
673
+
674
+ 负责生成和维护 `.ai/task-specs/<task-slug>.md`。
675
+
676
+ 能力:
677
+
678
+ - scope / non-goals。
679
+ - severity classification。
680
+ - required role route。
681
+ - file responsibilities。
682
+ - public surface contract。
683
+ - test contract。
684
+ - validation commands。
685
+ - stop conditions。
686
+
687
+ ### 9.3 Role Route Manager
688
+
689
+ 负责根据任务分级选择 role route。
690
+
691
+ 能力:
692
+
693
+ - 推荐 `architect / coder / reviewer / specialist`。
694
+ - 检查当前 session role 是否匹配。
695
+ - 阻止错误角色继续执行。
696
+ - 在 GUI 中引导用户启动或切换到正确 Claude Code role session。
697
+
698
+ ### 9.4 Handoff Manager
699
+
700
+ 负责管理 `.ai/handoffs/<task-slug>/`。
701
+
702
+ 能力:
703
+
704
+ - 创建 handoff directory。
705
+ - 校验 artifact schema。
706
+ - 检查前置 artifact 是否存在。
707
+ - 汇总角色输出。
708
+ - 标记缺失或不一致内容。
709
+
710
+ ### 9.5 Contract Manager
711
+
712
+ 负责管理 public surface contract 和 test contract。
713
+
714
+ 能力:
715
+
716
+ - 识别 public functions / module APIs。
717
+ - 记录输入、输出、副作用、错误行为、依赖规则。
718
+ - 检查代码变更是否修改 public surface。
719
+ - 提醒新增或更新 contract tests。
720
+ - 调用 `tools/check-public-surface` 和 `tools/check-contract-tests`。
721
+
722
+ ### 9.6 Prompt Compiler
723
+
724
+ 负责把 VibeCodingMaster 的结构化任务上下文编译成 AI 角色可以准确执行的完整命令。
725
+
726
+ 它服务于 Project Manager,是 Project Manager “给其他角色发准确命令”的核心能力。
727
+
728
+ 输入:
729
+
730
+ - 用户原始需求。
731
+ - Task Spec。
732
+ - Required Role Route。
733
+ - Architecture Plan。
734
+ - Public Surface Contract。
735
+ - Test Contract。
736
+ - Handoff Directory。
737
+ - Validation Commands。
738
+ - Stop Conditions。
739
+ - 当前任务状态。
740
+
741
+ 输出:
742
+
743
+ - architect role command。
744
+ - coder role command。
745
+ - reviewer role command。
746
+ - specialist role command。
747
+ - human approval brief。
748
+
749
+ 每个 role command 必须回答:
750
+
751
+ - 你是谁。
752
+ - 你要读什么。
753
+ - 你要产出什么。
754
+ - 你可以改什么。
755
+ - 你不能改什么。
756
+ - 什么情况下必须停止。
757
+ - 你必须运行或检查哪些验证。
758
+ - 你的完成标准是什么。
759
+
760
+ ### 9.7 Session Cockpit
761
+
762
+ V1 的核心产品模块。负责在 GUI 中管理一个任务里的多个 Claude Code role sessions。
763
+
764
+ 推荐结构:
765
+
766
+ ```text
767
+ Task Workspace: <task-slug>
768
+
769
+ Role sessions:
770
+ project-manager
771
+ architect
772
+ coder
773
+ reviewer
774
+
775
+ Each role session:
776
+ embedded terminal
777
+ input channel
778
+ output stream
779
+ status badge
780
+ role command link
781
+ raw log link
782
+ handoff artifact link
783
+ ```
784
+
785
+ 能力:
786
+
787
+ - 在页面中展示一个任务下的所有 role sessions。
788
+ - 允许用户用 tabs 或 split view 切换 `project-manager`、`architect`、`coder`、`reviewer`。
789
+ - 在每个 session 面板中嵌入真实 Claude Code 交互终端。
790
+ - 支持用户直接在当前 role session 中输入、确认权限、继续对话。
791
+ - 支持启动、停止、重启、恢复单个 role session。
792
+ - 展示每个 role session 的状态:not started / starting / running / waiting / blocked / done / crashed。
793
+ - 展示每个 role session 对应的 role command、raw log 和 handoff artifact。
794
+ - 支持把 Project Manager 生成的 role command 从 GUI 发送到目标 role session。
795
+ - 支持将 terminal output 持续写入 task logs。
796
+
797
+ 原则:
798
+
799
+ - GUI 是主入口,终端编排是底层能力。
800
+ - 一个任务默认对应一个 session cockpit。
801
+ - 一个角色默认对应一个 Claude Code session。
802
+ - 多个 role session 可以同时存在,但写代码仍遵守 single-writer rule。
803
+ - VibeCodingMaster 负责 session lifecycle、可见性、artifact 管理和状态汇总,不替代 role agent 的专业判断。
804
+
805
+ ### 9.8 Terminal Runtime Manager
806
+
807
+ 负责在本地机器上托管 Claude Code 的交互式终端进程,并把输入输出桥接到 GUI。
808
+
809
+ V1 推荐:
810
+
811
+ ```text
812
+ GUI frontend
813
+ -> WebSocket
814
+ -> local Node backend
815
+ -> node-pty
816
+ -> claude --agent <role> [permission option]
817
+ ```
818
+
819
+ 能力:
820
+
821
+ - 为每个 role 创建 pseudo-terminal。
822
+ - 将终端输出流式推送到前端 embedded terminal。
823
+ - 将用户键盘输入从前端写回对应 pty。
824
+ - 允许 backend 在用户触发时向 pty 写入短指令。
825
+ - 允许 backend 监听 pty output,并用于日志、状态和 GUI 提醒。
826
+ - 支持 resize。
827
+ - 支持进程退出、异常、重启和状态上报。
828
+ - 支持将 raw terminal stream 保存到 logs。
829
+
830
+ 权限模式:
831
+
832
+ - GUI 在每个 role session 的 Start / Restart 上方提供权限选项。
833
+ - `默认`:不额外传权限参数,使用 Claude Code 默认权限行为。
834
+ - `bypassPermissions`:启动参数为 `--permission-mode bypassPermissions`。
835
+ - `--dangerously-skip-permissions`:启动参数为 `--dangerously-skip-permissions`。
836
+ - 选项只影响新启动或重启的 session,不自动改变已经运行中的 Claude Code 进程。
837
+
838
+ 自动化边界:
839
+
840
+ - V1 可以程序化写入 terminal input,但只用于用户触发的 command dispatch。
841
+ - V1 可以程序化读取 terminal output,但只做 raw log、轻量状态和 UI 提醒。
842
+ - V1 不自动确认 Claude Code 权限提示。
843
+ - V1 允许用户在启动 session 时主动选择较宽松的 Claude Code 权限模式。
844
+ - V1 不让 PM 自动连续驱动 architect / coder / reviewer。
845
+ - V1 不根据 terminal output 自动执行高风险下一步。
846
+
847
+ ### 9.9 Claude Code Adapter
848
+
849
+ 负责将 Prompt Compiler 生成的 role command 交给 Claude Code 执行,或生成可复制的 Claude Code prompt。
850
+
851
+ 能力:
852
+
853
+ - 启动或恢复 architect session。
854
+ - 启动或恢复 coder session。
855
+ - 启动或恢复 reviewer session。
856
+ - 注入 artifact paths。
857
+ - 注入 stop conditions。
858
+ - 收集执行输出。
859
+ - 处理 Claude Code 交互式权限确认和等待状态。
860
+
861
+ V1 中,Claude Code Adapter 主要通过 Terminal Runtime Manager 工作。它不直接实现翻译功能;翻译由 `project-manager` agent 根据自己的 role prompt 完成。
862
+
863
+ ### 9.10 Cross-Model Reviewer
864
+
865
+ 负责让另一个 AI 模型审查计划或代码。
866
+
867
+ 能力:
868
+
869
+ - Preflight Plan Review。
870
+ - Public Contract Review。
871
+ - Test Contract Review。
872
+ - Code Diff Review。
873
+ - Security Review。
874
+ - Architecture Review。
875
+
876
+ 价值:
877
+
878
+ - 避免实现 session 自我确认。
879
+ - 在编码前发现方案问题。
880
+ - 在 PR 前发现遗漏测试、边界问题和架构漂移。
881
+
882
+ ### 9.11 Validation Runner
883
+
884
+ 负责验证命令管理。
885
+
886
+ 能力:
887
+
888
+ - 推荐验证层级。
889
+ - 运行或指导运行 validation commands。
890
+ - 摘要失败日志。
891
+ - 要求失败后 rerun。
892
+ - 写入 task-level validation log。
893
+
894
+ ### 9.12 Replan Controller
895
+
896
+ 负责处理计划偏差。
897
+
898
+ 能力:
899
+
900
+ - 识别 replan trigger。
901
+ - 冻结当前实现状态。
902
+ - 比较 plan 和 code reality。
903
+ - 生成选项:patch forward、partial rollback、full rollback。
904
+ - 记录用户或 human reviewer 的决策。
905
+ - 更新 task spec、architecture plan 和 docs。
906
+
907
+ ### 9.13 Project Memory
908
+
909
+ 负责项目长期状态。
910
+
911
+ 文件:
912
+
913
+ ```text
914
+ .ai/state/progress.md
915
+ .ai/state/decisions.md
916
+ .ai/state/validation-log.md
917
+ .ai/state/known-issues.md
918
+ .ai/state/scratch.md
919
+ ```
920
+
921
+ 能力:
922
+
923
+ - 记录 active tasks。
924
+ - 记录架构和设计决策。
925
+ - 记录 deferred findings。
926
+ - 记录 validation index。
927
+ - 清理 session-local scratch。
928
+
929
+ ### 9.14 PR Assistant
930
+
931
+ 负责把任务结果整理成 PR。
932
+
933
+ PR 描述应包含:
934
+
935
+ - task summary。
936
+ - task spec link。
937
+ - architecture plan link。
938
+ - files changed。
939
+ - public surface changed。
940
+ - tests added / updated。
941
+ - validation evidence。
942
+ - docs sync。
943
+ - remaining risks。
944
+
945
+ ## 10. 信息架构
946
+
947
+ 推荐 repo 结构:
948
+
949
+ ```text
950
+ repo/
951
+ CLAUDE.md
952
+
953
+ docs/
954
+ ARCHITECTURE.md
955
+ MODULE_MAP.md
956
+ TESTING.md
957
+ SECURITY.md
958
+ DEPENDENCY_RULES.md
959
+ cc-best-practices.md
960
+ product-design.md
961
+ exec-plans/
962
+ active/
963
+ completed/
964
+
965
+ .claude/
966
+ settings.json
967
+ skills/
968
+ agents/
969
+ architect.md
970
+ coder.md
971
+ reviewer.md
972
+ optional/
973
+ security-specialist.md
974
+ migration-specialist.md
975
+ performance-specialist.md
976
+ frontend-qa.md
977
+ commands/
978
+
979
+ .ai/
980
+ task-specs/
981
+ handoffs/
982
+ state/
983
+ generated/
984
+
985
+ tools/
986
+ check-fast
987
+ check-changed
988
+ check-module
989
+ check-e2e-smoke
990
+ check-boundaries
991
+ check-public-surface
992
+ check-contract-tests
993
+ check-generated-artifacts
994
+ check-docs-freshness
995
+ check-agent-rules
996
+ ```
997
+
998
+ ## 11. 关键界面
999
+
1000
+ ### 11.1 Project Dashboard
1001
+
1002
+ 显示:
1003
+
1004
+ - 已连接 repo。
1005
+ - active tasks。
1006
+ - task severity。
1007
+ - required role route。
1008
+ - 每个任务的 session health。
1009
+ - blocked tasks。
1010
+ - recent validation failures。
1011
+ - known issues。
1012
+ - harness health。
1013
+ - 最近打开的 role session。
1014
+
1015
+ ### 11.2 Task Workspace
1016
+
1017
+ 一个任务的主工作台。
1018
+
1019
+ 左侧:
1020
+
1021
+ - 任务列表。
1022
+ - 用户需求。
1023
+ - task spec。
1024
+ - required role route。
1025
+ - open questions。
1026
+
1027
+ 中间:
1028
+
1029
+ - role session tabs。
1030
+ - embedded Claude Code terminal。
1031
+ - 当前 role 的输入框和输出流。
1032
+ - session toolbar:start / stop / restart / clear view / open log。
1033
+ - role status:starting / running / waiting / blocked / done / crashed。
1034
+ - acceptance checklist。
1035
+
1036
+ ### 11.3 Session Console
1037
+
1038
+ 显示单个 Claude Code role session 的完整交互界面:
1039
+
1040
+ - role name。
1041
+ - agent command,例如 `claude --agent architect`。
1042
+ - terminal viewport。
1043
+ - terminal input。
1044
+ - running / waiting / crashed 状态。
1045
+ - last output time。
1046
+ - raw log path。
1047
+ - restart / stop / mark done 操作。
1048
+
1049
+ Session Console 必须支持 Claude Code 的交互式确认场景,例如权限确认、继续执行确认、失败后用户补充指令。
1050
+
1051
+ ### 11.4 Handoff Files
1052
+
1053
+ V1 不在任务主界面展示独立 artifact panel。role commands、handoff artifacts 和 raw logs 仍保存在任务目录中,作为 Claude Code sessions 之间的文件级事实源;GUI 优先把空间留给 embedded terminal。
1054
+
1055
+ ### 11.5 Contract View
1056
+
1057
+ 显示当前任务涉及的 public surface:
1058
+
1059
+ - public function name。
1060
+ - owner module。
1061
+ - inputs。
1062
+ - outputs。
1063
+ - side effects。
1064
+ - error behavior。
1065
+ - dependency rules。
1066
+ - existing tests。
1067
+ - required tests。
1068
+ - contract status。
1069
+
1070
+ ### 11.6 Review Inbox
1071
+
1072
+ 集中处理:
1073
+
1074
+ - Preflight Review findings。
1075
+ - Code Review findings。
1076
+ - Replan requests。
1077
+ - Missing test warnings。
1078
+ - Docs sync warnings。
1079
+ - Human approval gates。
1080
+
1081
+ ### 11.7 Harness Health
1082
+
1083
+ 显示:
1084
+
1085
+ - root `CLAUDE.md` 是否存在。
1086
+ - module-local `CLAUDE.md` 覆盖率。
1087
+ - architecture docs 是否存在。
1088
+ - testing docs 是否存在。
1089
+ - validation tools 是否存在。
1090
+ - generated artifacts 是否 freshness-checked。
1091
+ - role agents 是否存在。
1092
+ - hooks / CI gates 是否存在。
1093
+ - known issues 是否过期。
1094
+
1095
+ ## 12. 数据对象
1096
+
1097
+ ### 12.1 Project
1098
+
1099
+ ```json
1100
+ {
1101
+ "id": "project_123",
1102
+ "name": "VibeCodingMaster",
1103
+ "repoPath": "/path/to/repo",
1104
+ "defaultBranch": "main",
1105
+ "harnessHealth": "partial",
1106
+ "validationCommands": [
1107
+ "tools/check-fast",
1108
+ "tools/check-changed"
1109
+ ]
1110
+ }
1111
+ ```
1112
+
1113
+ ### 12.2 Task
1114
+
1115
+ ```json
1116
+ {
1117
+ "id": "task_123",
1118
+ "slug": "coupon-partial-refund",
1119
+ "title": "Fix coupon and partial refund calculation",
1120
+ "severity": "T4",
1121
+ "status": "planning",
1122
+ "requiredRoleRoute": [
1123
+ "architect",
1124
+ "billing-specialist",
1125
+ "coder",
1126
+ "reviewer",
1127
+ "human-approval"
1128
+ ],
1129
+ "specPath": ".ai/task-specs/coupon-partial-refund.md",
1130
+ "handoffDirectory": ".ai/handoffs/coupon-partial-refund"
1131
+ }
1132
+ ```
1133
+
1134
+ ### 12.3 Public Contract
1135
+
1136
+ ```json
1137
+ {
1138
+ "symbol": "RefundService.calculateRefundAmount",
1139
+ "module": "billing",
1140
+ "signatureStatus": "unchanged",
1141
+ "inputs": ["invoiceId", "request"],
1142
+ "output": "Money",
1143
+ "sideEffects": [],
1144
+ "errorBehavior": ["throws when invoice is not refundable"],
1145
+ "dependencyRules": ["must not call payment adapter internals"],
1146
+ "requiredTests": [
1147
+ "happy path",
1148
+ "refund cannot exceed post-discount total",
1149
+ "invalid invoice state"
1150
+ ]
1151
+ }
1152
+ ```
1153
+
1154
+ ### 12.4 Review
1155
+
1156
+ ```json
1157
+ {
1158
+ "id": "review_123",
1159
+ "type": "preflight_plan",
1160
+ "reviewer": "cross_model_reviewer",
1161
+ "decision": "request_changes",
1162
+ "findings": [
1163
+ {
1164
+ "severity": "high",
1165
+ "category": "public_contract",
1166
+ "message": "The plan changes refund behavior but does not define consumer-facing contract tests."
1167
+ }
1168
+ ]
1169
+ }
1170
+ ```
1171
+
1172
+ ### 12.5 Role Session
1173
+
1174
+ ```json
1175
+ {
1176
+ "id": "session_architect_123",
1177
+ "claudeSessionId": "00000000-0000-4000-8000-000000000001",
1178
+ "taskSlug": "coupon-partial-refund",
1179
+ "role": "architect",
1180
+ "status": "running",
1181
+ "command": "claude --agent architect --permission-mode bypassPermissions",
1182
+ "permissionMode": "bypassPermissions",
1183
+ "terminalBackend": "node-pty",
1184
+ "logPath": ".ai/handoffs/coupon-partial-refund/logs/architect.log",
1185
+ "roleCommandPath": ".ai/handoffs/coupon-partial-refund/role-commands/architect.md",
1186
+ "handoffArtifactPath": ".ai/handoffs/coupon-partial-refund/architecture-plan.md",
1187
+ "startedAt": "2026-05-29T00:00:00+08:00",
1188
+ "lastOutputAt": "2026-05-29T00:03:14+08:00"
1189
+ }
1190
+ ```
1191
+
1192
+ ### 12.6 Terminal Event
1193
+
1194
+ ```json
1195
+ {
1196
+ "id": "evt_123",
1197
+ "sessionId": "session_architect_123",
1198
+ "type": "output",
1199
+ "timestamp": "2026-05-29T00:03:14+08:00",
1200
+ "data": "Architecture Summary..."
1201
+ }
1202
+ ```
1203
+
1204
+ ## 13. MVP 范围
1205
+
1206
+ ### 13.1 V1 产品定位
1207
+
1208
+ V1 只做一件事:
1209
+
1210
+ > 做一个本地 GUI Session Cockpit,让用户可以在一个任务工作台中启动、切换、查看、输入和管理多个 Claude Code role sessions。
1211
+
1212
+ V1 不在产品层做翻译功能。
1213
+ 用户输入和 Claude Code 输出的中英翻译,交给 `.claude/agents/project-manager.md` 中定义的 Project Manager 角色完成。
1214
+
1215
+ V1 的核心判断标准不是“CLI 是否能控制多个终端”,而是:
1216
+
1217
+ > 用户是否可以不离开 GUI,就完成多 Claude Code sessions 的创建、切换、沟通、观察、日志保存和 handoff artifact 查看。
1218
+
1219
+ ### 13.2 V1 必须支持
1220
+
1221
+ 1. 启动本地 GUI 应用。
1222
+ 2. 连接或选择本地 Git repo。
1223
+ 3. 检查本机是否安装 Claude Code。
1224
+ 4. 创建任务 workspace。
1225
+ 5. 为任务创建 handoff directory:
1226
+ - `.ai/handoffs/<task-slug>/`
1227
+ - `.ai/handoffs/<task-slug>/role-commands/`
1228
+ - `.ai/handoffs/<task-slug>/logs/`
1229
+ 6. 在 GUI 中展示 role session tabs:
1230
+ - `project-manager`
1231
+ - `architect`
1232
+ - `coder`
1233
+ - `reviewer`
1234
+ 7. 在对应 role session 中启动 Claude Code:
1235
+ - 首次启动:`claude --agent <role> --session-id <uuid>`
1236
+ - 恢复启动:`claude --agent <role> --resume <uuid>`
1237
+ 8. 在页面中嵌入每个 Claude Code session 的终端输出和输入。
1238
+ 9. 支持用户切换 role session 并直接沟通。
1239
+ 10. 支持 Claude Code 权限确认、等待用户输入、失败后补充指令等交互式场景。
1240
+ 11. 展示每个 role session 的状态:not started / starting / running / waiting / blocked / done / crashed。
1241
+ 12. 支持启动、停止、重启某个 role session。
1242
+ 13. 支持 Project Manager 生成 role command artifact。
1243
+ 14. 支持用户在 GUI 中查看 role command,并一键发送到目标 role session。
1244
+ 15. 将每个 role session 的 raw output 保存为日志。
1245
+ 16. 在 GUI 中查看 architecture-plan / implementation-log / validation-log / review-report。
1246
+ 17. 检查 handoff artifacts 是否存在、是否为空、是否包含必要标题。
1247
+ 18. 展示当前任务的状态摘要和下一步建议。
1248
+ 19. 在 `.vcm/sessions/<task-slug>.json` 中记录每个 role 的 `claudeSessionId`,支持异常中断后 Resume。
1249
+ 20. 保留 CLI 作为开发和调试入口,但不要求用户用 CLI 完成主流程。
1250
+
1251
+ ### 13.3 V1 明确不做
1252
+
1253
+ - SaaS 多用户协作。
1254
+ - 企业权限和审计。
1255
+ - 完整 Desktop 打包和自动更新。
1256
+ - 产品层翻译管线。
1257
+ - 独立翻译模型调用。
1258
+ - 自动生成完整 Task Spec。
1259
+ - 自动做 Preflight Review。
1260
+ - 自动做 Cross-Model Code Review。
1261
+ - 自动判断 public contract 和 test contract。
1262
+ - 自动运行 validation commands。
1263
+ - 自动创建 PR。
1264
+ - Jira / Linear / GitHub 双向同步。
1265
+ - 云端 session 托管。
1266
+ - 多 repo / 多任务并行调度。
1267
+ - 多 worktree 自动管理。
1268
+ - 让用户手动管理底层 terminal process。
1269
+
1270
+ 这些能力可以作为后续版本演进。V1 的判断标准不是“PM 流程是否全部自动化”,而是“GUI 是否让多 Claude Code role sessions 变得可见、可切换、可沟通、可恢复、可交接”。
1271
+
1272
+ ### 13.4 V1 本地执行机制
1273
+
1274
+ 推荐 V1 使用本地 Web GUI:
1275
+
1276
+ ```text
1277
+ Browser UI / Desktop shell
1278
+ -> local Node backend
1279
+ -> WebSocket terminal bridge
1280
+ -> node-pty
1281
+ -> claude --agent <role>
1282
+ ```
1283
+
1284
+ 职责分离:
1285
+
1286
+ - Frontend 负责工作台、tabs、terminal viewport、状态展示。
1287
+ - Backend 负责 repo 连接、进程生命周期、pty I/O、日志写入、artifact 读写。
1288
+ - Claude Code role session 负责实际沟通和执行。
1289
+ - Handoff artifacts 负责跨 session 传递稳定结果。
1290
+
1291
+ V1 的 terminal runtime 固定为:
1292
+
1293
+ ```text
1294
+ TerminalRuntime implementation = node-pty
1295
+ ```
1296
+
1297
+ 后续如果要增强持久性,应优先改进本地 backend lifecycle、session registry、raw logs 和恢复体验,而不是引入额外终端复用层。
1298
+
1299
+ ### 13.5 Controller-Mediated Role Command
1300
+
1301
+ 推荐文件:
1302
+
1303
+ ```text
1304
+ .ai/handoffs/<task-slug>/
1305
+ role-commands/
1306
+ architect.md
1307
+ coder.md
1308
+ reviewer.md
1309
+ logs/
1310
+ project-manager.log
1311
+ architect.log
1312
+ coder.log
1313
+ reviewer.log
1314
+ architecture-plan.md
1315
+ implementation-log.md
1316
+ validation-log.md
1317
+ review-report.md
1318
+ ```
1319
+
1320
+ Project Manager 不直接无限制控制其他 Claude Code sessions。
1321
+
1322
+ 正确模型:
1323
+
1324
+ ```text
1325
+ Project Manager session
1326
+ -> writes role command artifact
1327
+ -> GUI shows command artifact to user
1328
+ -> user approves or sends from GUI
1329
+ -> VibeCodingMaster backend writes short instruction to target role session
1330
+ -> target role session executes
1331
+ -> backend records raw log
1332
+ -> handoff artifact becomes stable result
1333
+ ```
1334
+
1335
+ 也就是说:
1336
+
1337
+ - PM 负责“决定发什么命令”。
1338
+ - GUI 负责让用户看见、确认和发送。
1339
+ - Backend 负责把命令送进正确 role session。
1340
+ - Role agent 负责执行命令并输出结果。
1341
+ - Handoff artifacts 负责跨 session 传递稳定结果。
1342
+
1343
+ ### 13.6 V1 交互形态
1344
+
1345
+ 第一版应该是本地 GUI:
1346
+
1347
+ ```text
1348
+ Open VibeCodingMaster
1349
+ -> Select repo
1350
+ -> New task
1351
+ -> Start project-manager session
1352
+ -> PM clarifies task
1353
+ -> Start architect session
1354
+ -> Send architect command
1355
+ -> View architecture-plan.md
1356
+ -> Start coder session
1357
+ -> Send coder command
1358
+ -> View implementation-log.md and validation-log.md
1359
+ -> Start reviewer session
1360
+ -> Send reviewer command
1361
+ -> View review-report.md
1362
+ -> Final acceptance
1363
+ ```
1364
+
1365
+ CLI 可以保留为:
1366
+
1367
+ - 启动 dev server。
1368
+ - 调试 backend。
1369
+ - 导出状态。
1370
+ - 执行自动化 smoke test。
1371
+
1372
+ 但用户主流程必须在 GUI 中完成。
1373
+
1374
+ ## 14. 成功指标
1375
+
1376
+ ### 14.1 V1 稳定性指标
1377
+
1378
+ - GUI 启动成功率。
1379
+ - repo 连接成功率。
1380
+ - role session 创建成功率。
1381
+ - Claude Code role session 启动成功率。
1382
+ - embedded terminal 输入输出成功率。
1383
+ - WebSocket 断线重连成功率。
1384
+ - role command 从 GUI 发送成功率。
1385
+ - session output 保存为 raw log 的成功率。
1386
+ - stop / restart / recover 成功率。
1387
+
1388
+ ### 14.2 流程指标
1389
+
1390
+ - 每个任务都有 GUI workspace 的比例。
1391
+ - 每个 role session 都有 raw log 的比例。
1392
+ - 每个 role command 都有 artifact 的比例。
1393
+ - 用户能在 GUI 中查看 handoff artifacts 的比例。
1394
+ - PM 能读取 architect / coder / reviewer 输出并生成状态摘要的比例。
1395
+ - 用户在 role session 中手动介入后,VibeCodingMaster 能恢复 session 状态的比例。
1396
+
1397
+ ### 14.3 用户体验指标
1398
+
1399
+ - 用户手写 prompt 长度下降。
1400
+ - 用户可以清楚看到每个 role session 当前状态。
1401
+ - 用户可以在 GUI 中切换到任意 Claude Code role session。
1402
+ - 用户可以直接在 GUI 中输入、确认权限和继续对话。
1403
+ - 用户觉得多 Claude Code session 的切换和管理成本下降。
1404
+ - 用户愿意用 VibeCodingMaster 启动下一次多角色任务。
1405
+
1406
+ ## 15. 里程碑
1407
+
1408
+ ### Phase 1:Local GUI Shell
1409
+
1410
+ - 创建本地 Web GUI 或 Desktop shell。
1411
+ - 支持选择本地 repo。
1412
+ - 显示 Project Dashboard。
1413
+ - 显示 Task Workspace。
1414
+ - 创建 `.vcm` 和 `.ai/handoffs/` 基础目录。
1415
+
1416
+ ### Phase 2:Embedded Claude Code Sessions
1417
+
1418
+ - 使用 `node-pty` 启动 `claude --agent <role>`。
1419
+ - 使用 xterm.js 嵌入 terminal。
1420
+ - 支持 terminal input / output / resize。
1421
+ - 支持 `project-manager / architect / coder / reviewer` tabs。
1422
+ - 支持 stop / restart / crashed 状态。
1423
+
1424
+ ### Phase 3:Task Artifacts Panel
1425
+
1426
+ - 创建 `.ai/handoffs/<task-slug>/`。
1427
+ - 创建 `role-commands/` 和 `logs/`。
1428
+ - 展示 architecture-plan / implementation-log / validation-log / review-report。
1429
+ - 检查 handoff artifact 是否存在。
1430
+ - 检查 handoff artifact schema completeness。
1431
+ - 支持从 artifact 跳转到对应 role session。
1432
+
1433
+ ### Phase 4:GUI Role Command Dispatch
1434
+
1435
+ - PM 生成 architect.md。
1436
+ - GUI 展示 command 并允许用户发送到 architect session。
1437
+ - PM 生成 coder.md。
1438
+ - GUI 展示 command 并允许用户发送到 coder session。
1439
+ - PM 生成 reviewer.md。
1440
+ - GUI 展示 command 并允许用户发送到 reviewer session。
1441
+ - Backend 保存 raw logs 和 dispatch event。
1442
+
1443
+ ### Phase 5:后续增强
1444
+
1445
+ - Task Spec Builder。
1446
+ - public contract / test contract gate。
1447
+ - Preflight Review。
1448
+ - Cross-Model Code Review。
1449
+ - validation runner。
1450
+ - GitHub PR integration。
1451
+ - session persistence hardening。
1452
+ - Desktop packaging。
1453
+
1454
+ ## 16. 主要风险
1455
+
1456
+ ### 16.1 Claude Code 交互终端嵌入复杂
1457
+
1458
+ 风险:Claude Code 是交互式终端程序,GUI 必须完整支持 ANSI output、键盘输入、resize、权限确认、长输出和等待用户输入。
1459
+
1460
+ 应对:
1461
+
1462
+ - 使用 xterm.js 承载终端显示。
1463
+ - 使用 node-pty 承载真实 pty。
1464
+ - 保留 raw terminal stream。
1465
+ - 支持用户直接在当前 session 面板中输入。
1466
+ - 对 waiting / crashed / exited 状态做显式提示。
1467
+
1468
+ ### 16.2 Session 持久性和恢复
1469
+
1470
+ 风险:页面刷新、backend 重启或进程崩溃可能导致 session 丢失。
1471
+
1472
+ 应对:
1473
+
1474
+ - Backend 持有 session registry。
1475
+ - 原始输出全部保存到 logs。
1476
+ - 关键结论以 handoff artifacts 为准。
1477
+ - 页面刷新后从 backend 重新订阅 session。
1478
+ - 后续增强本地 backend lifecycle、session metadata 和恢复体验。
1479
+
1480
+ ### 16.3 多 session 资源和成本
1481
+
1482
+ 风险:同时启动多个 Claude Code sessions 会消耗本地资源、上下文和 token。
1483
+
1484
+ 应对:
1485
+
1486
+ - 默认按角色路由逐步启动 session。
1487
+ - T0/T1 只启动 project-manager 和 coder。
1488
+ - 未使用 role session 保持 not started。
1489
+ - UI 显示运行中 session 和资源提示。
1490
+
1491
+ ### 16.4 PM 直接控制其他 session 的权限过大
1492
+
1493
+ 风险:如果 Project Manager agent 可以无限制向其他 session 写入指令,可能误发命令、覆盖用户输入或形成 agent 间失控循环。
1494
+
1495
+ 应对:
1496
+
1497
+ - 采用 controller-mediated 模式。
1498
+ - PM 只产出 role command artifact。
1499
+ - GUI 显示 role command,用户可确认后发送。
1500
+ - Backend 负责发送短指令和记录 dispatch。
1501
+ - 对高风险命令要求用户确认。
1502
+
1503
+ ### 16.5 流程过重
1504
+
1505
+ 风险:用户只是想改一个小 bug,却被迫打开完整多角色工作台。
1506
+
1507
+ 应对:
1508
+
1509
+ - T0/T1 提供 lightweight task mode。
1510
+ - T0/T1 可以只启动 `project-manager` 和 `coder`。
1511
+ - T2 以上才推荐完整 role route。
1512
+ - UI 中默认折叠高级 contract 字段,但内部仍保留检查。
1513
+
1514
+ ### 16.6 AI Review 不可靠
1515
+
1516
+ 风险:Reviewer 模型会误判、漏判或提出过度设计建议。
1517
+
1518
+ 应对:
1519
+
1520
+ - 使用结构化 review output。
1521
+ - 要求引用代码证据。
1522
+ - 区分 block、request changes、suggestion。
1523
+ - 高风险任务保留 human approval。
1524
+
1525
+ ### 16.7 Handoff 成为形式主义
1526
+
1527
+ 风险:角色交接文件被创建,但内容空洞。
1528
+
1529
+ 应对:
1530
+
1531
+ - 用 schema check 检查关键字段。
1532
+ - reviewer 检查 handoff compliance。
1533
+ - final acceptance 把 handoff artifact 作为硬条件。
1534
+ - UI 中直接显示 missing / incomplete / ok。
1535
+
1536
+ ### 16.8 文档漂移
1537
+
1538
+ 风险:VibeCodingMaster 生成大量文档,但后续不更新。
1539
+
1540
+ 应对:
1541
+
1542
+ - `tools/check-docs-freshness`。
1543
+ - Replan 时强制同步文档。
1544
+ - PR template 加 docs sync checklist。
1545
+ - 月度 harness review 删除无用文档。
1546
+
1547
+ ### 16.9 和 Claude Code 原生能力重叠
1548
+
1549
+ 风险:Claude Code 原生增强后,简单 prompt wrapper 或简单多终端管理被替代。
1550
+
1551
+ 应对:
1552
+
1553
+ - 不把核心价值放在 prompt 美化。
1554
+ - 不把核心价值放在 terminal 包装。
1555
+ - 核心放在 GUI session cockpit、project orchestration、public contract、test contract、handoff、review gate、acceptance。
1556
+
1557
+ ### 16.10 GUI 产品复杂度上升
1558
+
1559
+ 风险:GUI、terminal runtime、backend process manager 一起做,复杂度高于 CLI。
1560
+
1561
+ 应对:
1562
+
1563
+ - V1 只做本地单用户。
1564
+ - V1 只做一个 repo、一个 task workspace 的核心路径。
1565
+ - V1 不做自动 review、自动 validation、自动 PR。
1566
+ - 先把 embedded Claude Code sessions 和 handoff artifact visibility 做扎实。
1567
+
1568
+ ### 16.11 安全和权限边界不清
1569
+
1570
+ 风险:用户以为 GUI 是 sandbox,但 Claude Code 实际仍在本地 repo 环境运行。
1571
+
1572
+ 应对:
1573
+
1574
+ - 在 repo 连接和 session 启动前明确提示。
1575
+ - 显示当前 repo path 和 branch。
1576
+ - 高风险任务保留 human approval。
1577
+ - 后续接入 Claude Code permissions/hooks。
1578
+ - 不隐藏 Claude Code 的权限确认。
1579
+
1580
+ ## 17. 产品判断
1581
+
1582
+ VibeCodingMaster 的机会不是做一个更会聊天的 Claude Code 外壳,而是做 Claude Code 之上的工程管理层。
1583
+
1584
+ 最小可行定位:
1585
+
1586
+ > 面向 Claude Code 的本地 GUI 多 session 工作台。它用一个任务页面托管 project-manager、architect、coder、reviewer 等 Claude Code sessions,让用户可以切换沟通、查看输出、管理 handoff artifacts,并逐步用 public contract、contract tests、独立 review 和 human approval 管住高风险任务。
1587
+
1588
+ 长期形态:
1589
+
1590
+ ```text
1591
+ Claude Code = coding engine
1592
+ VibeCodingMaster = GUI session cockpit + project manager + harness manager + quality gatekeeper
1593
+ ```
1594
+
1595
+ 如果 VibeCodingMaster 只做 prompt 优化,它很容易被插件或 Claude Code 原生能力替代。
1596
+ 如果它只做 CLI 或 terminal 包装,也很难成为用户每天愿意打开的产品。
1597
+ 如果它做到 GUI session cockpit、角色路由、handoff 管理、contract gate、validation evidence、review gate、Replan 和项目记忆,它就会成为 AI 编程团队的工程控制台。