@liangjie559567/ultrapower 7.5.2 → 7.7.0

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 (167) hide show
  1. package/.claude-plugin/marketplace.json +2 -2
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/README.md +13 -2
  4. package/bridge/mcp-server.cjs +1 -0
  5. package/dist/cli/commands/repair.d.ts +3 -0
  6. package/dist/cli/commands/repair.d.ts.map +1 -0
  7. package/dist/cli/commands/repair.js +130 -0
  8. package/dist/cli/commands/repair.js.map +1 -0
  9. package/dist/features/analytics-dashboard/metrics-collector.d.ts.map +1 -1
  10. package/dist/features/analytics-dashboard/metrics-collector.js +4 -0
  11. package/dist/features/analytics-dashboard/metrics-collector.js.map +1 -1
  12. package/dist/features/analytics-dashboard/storage.d.ts +22 -2
  13. package/dist/features/analytics-dashboard/storage.d.ts.map +1 -1
  14. package/dist/features/analytics-dashboard/storage.js.map +1 -1
  15. package/dist/features/analytics-dashboard/tracker.d.ts.map +1 -1
  16. package/dist/features/analytics-dashboard/tracker.js +14 -2
  17. package/dist/features/analytics-dashboard/tracker.js.map +1 -1
  18. package/dist/features/personalized-recommendation/behavior-tracker.js +1 -1
  19. package/dist/features/personalized-recommendation/behavior-tracker.js.map +1 -1
  20. package/dist/features/personalized-recommendation/recommender.d.ts +1 -1
  21. package/dist/features/personalized-recommendation/recommender.d.ts.map +1 -1
  22. package/dist/features/personalized-recommendation/recommender.js +1 -1
  23. package/dist/features/personalized-recommendation/recommender.js.map +1 -1
  24. package/dist/features/quality-gate/gate-checker.d.ts.map +1 -1
  25. package/dist/features/quality-gate/gate-checker.js +2 -1
  26. package/dist/features/quality-gate/gate-checker.js.map +1 -1
  27. package/dist/hooks/bridge-converter.d.ts +8 -0
  28. package/dist/hooks/bridge-converter.d.ts.map +1 -1
  29. package/dist/hooks/bridge-converter.js +38 -0
  30. package/dist/hooks/bridge-converter.js.map +1 -1
  31. package/dist/hooks/handlers/route-map.js +6 -6
  32. package/dist/hooks/handlers/route-map.js.map +1 -1
  33. package/dist/hooks/handlers/stop-continuation.d.ts.map +1 -1
  34. package/dist/hooks/handlers/stop-continuation.js.map +1 -1
  35. package/dist/hooks/keyword-detector/conflict-resolver.d.ts +16 -0
  36. package/dist/hooks/keyword-detector/conflict-resolver.d.ts.map +1 -0
  37. package/dist/hooks/keyword-detector/conflict-resolver.js +41 -0
  38. package/dist/hooks/keyword-detector/conflict-resolver.js.map +1 -0
  39. package/dist/hooks/persistent-mode/index.js +2 -2
  40. package/dist/hooks/persistent-mode/index.js.map +1 -1
  41. package/dist/hooks/processors/permissionRequest.d.ts.map +1 -1
  42. package/dist/hooks/processors/permissionRequest.js.map +1 -1
  43. package/dist/hooks/ultrawork/index.js +3 -3
  44. package/dist/hooks/ultrawork/index.js.map +1 -1
  45. package/dist/hooks/workflow-gate/index.js +4 -4
  46. package/dist/hooks/workflow-gate/index.js.map +1 -1
  47. package/dist/hud/usage-api.d.ts.map +1 -1
  48. package/dist/hud/usage-api.js +3 -2
  49. package/dist/hud/usage-api.js.map +1 -1
  50. package/dist/index.js +1 -1
  51. package/dist/index.js.map +1 -1
  52. package/dist/installer/index.js +1 -1
  53. package/dist/installer/index.js.map +1 -1
  54. package/dist/lib/atomic-write.d.ts.map +1 -1
  55. package/dist/lib/atomic-write.js +23 -2
  56. package/dist/lib/atomic-write.js.map +1 -1
  57. package/dist/lib/auditLog.d.ts +1 -1
  58. package/dist/lib/auditLog.d.ts.map +1 -1
  59. package/dist/lib/crypto.d.ts +3 -0
  60. package/dist/lib/crypto.d.ts.map +1 -0
  61. package/dist/lib/crypto.js +60 -0
  62. package/dist/lib/crypto.js.map +1 -0
  63. package/dist/lib/deadlock-detector.d.ts +21 -0
  64. package/dist/lib/deadlock-detector.d.ts.map +1 -0
  65. package/dist/lib/deadlock-detector.js +74 -0
  66. package/dist/lib/deadlock-detector.js.map +1 -0
  67. package/dist/lib/fs-utils.d.ts +11 -0
  68. package/dist/lib/fs-utils.d.ts.map +1 -0
  69. package/dist/lib/fs-utils.js +32 -0
  70. package/dist/lib/fs-utils.js.map +1 -0
  71. package/dist/lib/logger.d.ts +7 -1
  72. package/dist/lib/logger.d.ts.map +1 -1
  73. package/dist/lib/logger.js +28 -4
  74. package/dist/lib/logger.js.map +1 -1
  75. package/dist/lib/state-adapter.d.ts +3 -2
  76. package/dist/lib/state-adapter.d.ts.map +1 -1
  77. package/dist/lib/state-adapter.js +12 -3
  78. package/dist/lib/state-adapter.js.map +1 -1
  79. package/dist/security/concurrency-control.d.ts +8 -1
  80. package/dist/security/concurrency-control.d.ts.map +1 -1
  81. package/dist/security/concurrency-control.js +22 -0
  82. package/dist/security/concurrency-control.js.map +1 -1
  83. package/dist/security/tenant-isolator.js.map +1 -1
  84. package/dist/state/index.d.ts +2 -0
  85. package/dist/state/index.d.ts.map +1 -1
  86. package/dist/state/index.js +8 -6
  87. package/dist/state/index.js.map +1 -1
  88. package/dist/state/migration/integrity.d.ts.map +1 -1
  89. package/dist/state/migration/integrity.js +1 -2
  90. package/dist/state/migration/integrity.js.map +1 -1
  91. package/dist/tools/lsp-tools.js.map +1 -1
  92. package/dist/workers/sqlite-adapter.d.ts.map +1 -1
  93. package/dist/workers/sqlite-adapter.js.map +1 -1
  94. package/docs/CLAUDE.md +2 -2
  95. package/docs/CODE_BASED_FLOW.md +12 -12
  96. package/docs/COMPATIBILITY.md +1 -1
  97. package/docs/FEATURES.md +16 -16
  98. package/docs/INSTALL.md +4 -4
  99. package/docs/MIGRATION.md +2 -2
  100. package/docs/OMC-CLAUDE.md +1 -1
  101. package/docs/REFERENCE.md +16 -16
  102. package/docs/UPGRADE_VERIFICATION.md +1 -1
  103. package/docs/agent-templates/README.md +2 -2
  104. package/docs/api/media/INSTALL.md +2 -2
  105. package/docs/api/media/MIGRATION.md +2 -2
  106. package/docs/api/media/REFERENCE.md +14 -14
  107. package/docs/api/media/mcp-server-usage.md +4 -4
  108. package/docs/architecture/ultrapower-flow-analysis.md +1 -1
  109. package/docs/audit/direct-write-scan.md +88 -0
  110. package/docs/audit/subagent-stop-scan.md +48 -0
  111. package/docs/dev-experience/README.md +226 -0
  112. package/docs/dev-experience/best-practices.md +364 -0
  113. package/docs/dev-experience/quick-reference.md +114 -0
  114. package/docs/dev-experience/troubleshooting-guide.md +280 -0
  115. package/docs/dev-standards/AGENTS.md +68 -68
  116. package/docs/getting-started/quickstart.md +1 -1
  117. package/docs/glossary.md +174 -0
  118. package/docs/guides/mcp-server-usage.md +4 -4
  119. package/docs/guides/tool-name-migration.md +12 -12
  120. package/docs/mcp/configuration.md +5 -5
  121. package/docs/mcp/performance.md +5 -5
  122. package/docs/mcp-compatibility-matrix.md +1 -1
  123. package/docs/partials/agent-tiers.md +24 -24
  124. package/docs/partials/features.md +1 -1
  125. package/docs/partials/verification-tiers.md +2 -2
  126. package/docs/plans/2026-02-24-superpowers-ultrapower-integration-design.md +2 -2
  127. package/docs/plans/2026-03-02-docs-comprehensive-update.md +16 -16
  128. package/docs/plans/2026-03-05-mcp-adoption-atomic-tasks.md +9 -9
  129. package/docs/plans/2026-03-14-mcp-intelligent-orchestration.md +679 -679
  130. package/docs/plans/2026-03-16-tech-debt-fixes.md +222 -0
  131. package/docs/prd/bugs-pain-points-audit-dag.md +297 -0
  132. package/docs/prd/bugs-pain-points-audit-draft.md +154 -0
  133. package/docs/prd/bugs-pain-points-audit-manifest.md +830 -0
  134. package/docs/prd/bugs-pain-points-audit-rough.md +654 -0
  135. package/docs/reports/tech-debt-verification-2026-03-16.md +87 -0
  136. package/docs/research/deadlock-detection-poc.md +275 -0
  137. package/docs/reviews/bugs-pain-points-audit/review_critic.md +213 -0
  138. package/docs/reviews/bugs-pain-points-audit/review_domain.md +247 -0
  139. package/docs/reviews/bugs-pain-points-audit/review_product.md +189 -0
  140. package/docs/reviews/bugs-pain-points-audit/review_tech.md +382 -0
  141. package/docs/reviews/bugs-pain-points-audit/review_ux.md +161 -0
  142. package/docs/reviews/bugs-pain-points-audit/summary.md +129 -0
  143. package/docs/reviews/bugs-pain-points-audit/tech-debt-v7.6.0-code-review.md +328 -0
  144. package/docs/security/command-injection-scan.md +223 -0
  145. package/docs/security/path-traversal-scan-report.md +229 -0
  146. package/docs/security/sensitive-data-inventory.md +170 -0
  147. package/docs/security/sensitive-data-violations.md +388 -0
  148. package/docs/shared/agent-tiers.md +24 -24
  149. package/docs/shared/features.md +1 -1
  150. package/docs/shared/verification-tiers.md +2 -2
  151. package/docs/standards/README.md +1 -1
  152. package/docs/standards/cascade-failure.md +324 -0
  153. package/docs/standards/runtime-protection.md +7 -0
  154. package/docs/tech-debt/classification.md +190 -0
  155. package/docs/tech-debt/cleanup-report.md +172 -0
  156. package/docs/testing/client-additional-test-fix.md +64 -0
  157. package/docs/testing/concurrent-write-test-fix.md +111 -0
  158. package/docs/testing/coverage-report.md +274 -0
  159. package/docs/testing/phase2-test-coverage-completion.md +223 -0
  160. package/docs/testing/phase2-week3-docs-completion.md +271 -0
  161. package/docs/testing/phase2-week4-observability-completion.md +324 -0
  162. package/docs/testing/phase3-completion.md +324 -0
  163. package/docs/testing/test-fix-progress-2026-03-16.md +75 -0
  164. package/docs/testing/test-fix-summary.md +197 -0
  165. package/docs/testing/timer-buffer-test-fix.md +117 -0
  166. package/docs/troubleshooting.md +1 -1
  167. package/package.json +10 -10
@@ -0,0 +1,88 @@
1
+ # 直接写入点扫描报告
2
+
3
+ ## 扫描摘要
4
+ - 发现直接写入点: 3
5
+ - 需要修复: 3
6
+ - 测试代码中的写入: 已排除(测试环境可接受)
7
+
8
+ ## 发现的直接写入点
9
+
10
+ ### 1. src/lib/file-lock.ts:66
11
+ ```typescript
12
+ const meta: LockMeta = { pid: process.pid, timestamp: Date.now() };
13
+ fs.writeFileSync(lockFile, JSON.stringify(meta), 'utf8');
14
+ ```
15
+ **问题**: 未使用原子写入
16
+ **影响**: 并发写入可能导致锁元数据损坏
17
+ **严重性**: 高 - 锁机制本身需要可靠性
18
+ **修复方案**: 替换为 atomicWriteJsonSyncWithRetry
19
+
20
+ ### 2. src/features/state-manager/wal.ts:57
21
+ ```typescript
22
+ const walPath = path.join(this.walDir, `${id}.wal`);
23
+ fs.writeFileSync(walPath, JSON.stringify(entry, null, 2));
24
+ ```
25
+ **问题**: WAL 日志未使用原子写入
26
+ **影响**: WAL 损坏会导致状态恢复失败
27
+ **严重性**: 高 - WAL 是数据恢复的关键
28
+ **修复方案**: 替换为 atomicWriteJsonSyncWithRetry
29
+
30
+ ### 3. src/features/state-manager/wal.ts:69
31
+ ```typescript
32
+ entry.committed = true;
33
+ const walPath = path.join(this.walDir, `${id}.wal`);
34
+ fs.writeFileSync(walPath, JSON.stringify(entry, null, 2));
35
+ ```
36
+ **问题**: WAL commit 标记未使用原子写入
37
+ **影响**: commit 状态不一致可能导致重复执行
38
+ **严重性**: 高 - 影响事务完整性
39
+ **修复方案**: 替换为 atomicWriteJsonSyncWithRetry
40
+
41
+ ### 4. src/security/audit-logger.ts:70
42
+ ```typescript
43
+ fs.writeFileSync(this.logPath, JSON.stringify(this.events, null, 2));
44
+ ```
45
+ **问题**: 审计日志未使用原子写入
46
+ **影响**: 日志损坏可能导致审计追踪丢失
47
+ **严重性**: 中 - 影响安全审计能力
48
+ **修复方案**: 替换为 atomicWriteJsonSyncWithRetry
49
+
50
+ ## 修复清单
51
+
52
+ ### 高优先级(P0)
53
+ 1. src/lib/file-lock.ts:66 - acquireLock()
54
+ 2. src/features/state-manager/wal.ts:57 - begin()
55
+ 3. src/features/state-manager/wal.ts:69 - commit()
56
+
57
+ ### 中优先级(P1)
58
+ 4. src/security/audit-logger.ts:70 - save()
59
+
60
+ ## 修复模板
61
+
62
+ ```typescript
63
+ // 修复前
64
+ fs.writeFileSync(filePath, JSON.stringify(data));
65
+
66
+ // 修复后
67
+ import { atomicWriteJsonSyncWithRetry } from '../../lib/atomic-write.js';
68
+ atomicWriteJsonSyncWithRetry(filePath, data);
69
+ ```
70
+
71
+ ## 已排除项
72
+
73
+ 以下文件中的 writeFileSync 调用已排除(测试代码):
74
+ - tests/**/*.test.ts
75
+ - src/**/__tests__/**/*.test.ts
76
+ - benchmarks/run.ts
77
+
78
+ 测试代码中的直接写入是可接受的,因为:
79
+ 1. 测试环境不涉及生产并发
80
+ 2. 测试需要快速失败以发现问题
81
+ 3. 测试数据可重建
82
+
83
+ ## 验证建议
84
+
85
+ 修复后应执行:
86
+ 1. 单元测试:验证原子写入行为
87
+ 2. 并发测试:模拟多进程写入场景
88
+ 3. 故障注入:测试写入中断恢复能力
@@ -0,0 +1,48 @@
1
+ # SubagentStop 推断扫描报告
2
+
3
+ ## 扫描摘要
4
+ - 发现使用点: 1
5
+ - 需要修复: 0
6
+ - 状态: ✅ 全部合规
7
+
8
+ ## 发现的使用点
9
+
10
+ ### src/hooks/subagent-tracker/index.ts:683
11
+ ```typescript
12
+ // SDK does not provide `success` field, so default to 'completed' when undefined (Bug #1 fix)
13
+ const succeeded = input.success !== false;
14
+ ```
15
+
16
+ **状态**: ✅ 正确
17
+ **推断规则**: `input.success !== false` 正确处理三种情况:
18
+ - `undefined` (SDK 默认) → `true` (视为成功)
19
+ - `true` → `true` (明确成功)
20
+ - `false` → `false` (明确失败)
21
+
22
+ ## 扫描范围
23
+
24
+ | 扫描目标 | 结果 |
25
+ | -------- | ---- |
26
+ | TypeScript 源代码 | 1 个使用点 |
27
+ | 编译后 JS | 1 个使用点(同源) |
28
+ | 文档/注释 | 多处规范说明 |
29
+
30
+ ## 修复清单
31
+
32
+ 无需修复。代码已遵循规范:
33
+ - ✅ 使用 `input.success !== false` 而非直接读取
34
+ - ✅ 包含设计意图注释
35
+ - ✅ 符合 CLAUDE.md 安全规则
36
+
37
+ ## 规范验证
38
+
39
+ | 规范文档 | 验证结果 |
40
+ | -------- | -------- |
41
+ | CLAUDE.md (L130) | ✅ 遵循 |
42
+ | docs/FEATURES.md (L973-981) | ✅ 遵循 |
43
+ | docs/standards/anti-patterns.md (L48-58) | ✅ 遵循 |
44
+ | docs/standards/agent-lifecycle.md (L191-233) | ✅ 遵循 |
45
+
46
+ ## 结论
47
+
48
+ 代码库中 `input.success` 的使用已完全合规,无需进行修复操作。
@@ -0,0 +1,226 @@
1
+ # 开发体验文档
2
+
3
+ 欢迎来到 ultrapower 开发体验文档。本目录包含帮助开发者快速诊断问题、遵循最佳实践的完整指南。
4
+
5
+ ## 文档导航
6
+
7
+ ### 📋 [故障排除指南](./troubleshooting-guide.md)
8
+ 快速诊断和解决常见问题。
9
+
10
+ **包含内容**
11
+ - 状态污染问题诊断和修复
12
+ - 孤儿 agent 清理方法
13
+ - 状态验证失败处理
14
+ - `omc repair` 命令详细用法
15
+ - 预防措施和最佳实践
16
+
17
+ **快速开始**
18
+ ```bash
19
+ omc repair # 交互式向导
20
+ omc repair --dry-run # 预览修复
21
+ ```
22
+
23
+ ---
24
+
25
+ ### 🎯 [最佳实践指南](./best-practices.md)
26
+ 提高开发效率和代码质量的核心实践。
27
+
28
+ **包含内容**
29
+ - 工作流最佳实践(任务规划、代码审查、错误处理)
30
+ - 状态管理最佳实践(初始化、并发控制、备份)
31
+ - Agent 生命周期管理
32
+ - 代码质量标准(类型安全、路径安全、输入消毒)
33
+ - 测试策略和覆盖率目标
34
+ - 性能优化建议
35
+ - 调试技巧
36
+ - 提交和发布规范
37
+
38
+ **核心原则**
39
+ - 使用 Team 模式进行复杂任务
40
+ - 为并发工作创建独立 worktree
41
+ - 定期运行 `omc repair --validate-state`
42
+ - 使用 `/ultrapower:cancel` 正常退出
43
+
44
+ ---
45
+
46
+ ### ⚡ [快速参考卡片](./quick-reference.md)
47
+ 常用命令和问题速查表。
48
+
49
+ **包含内容**
50
+ - omc repair 命令速查
51
+ - 状态管理命令
52
+ - Agent 管理命令
53
+ - 常见错误和解决方案
54
+ - 工作流速查
55
+ - 日志查看命令
56
+ - 紧急恢复步骤
57
+
58
+ **快速查找**
59
+ ```bash
60
+ # 查看活跃状态
61
+ ls -la .omc/state/
62
+
63
+ # 验证状态完整性
64
+ omc repair --validate-state
65
+
66
+ # 清理孤儿 agent
67
+ omc repair --fix-orphan-agents
68
+ ```
69
+
70
+ ---
71
+
72
+ ## 常见场景
73
+
74
+ ### 我遇到了 "State already exists" 错误
75
+
76
+ → 查看 [故障排除指南 - 状态污染](./troubleshooting-guide.md#1-状态污染state-pollution)
77
+
78
+ ```bash
79
+ omc repair --fix-state-pollution
80
+ ```
81
+
82
+ ### 我想了解如何正确管理状态
83
+
84
+ → 查看 [最佳实践指南 - 状态管理](./best-practices.md#状态管理最佳实践)
85
+
86
+ ### 我需要快速查找一个命令
87
+
88
+ → 查看 [快速参考卡片](./quick-reference.md)
89
+
90
+ ### 我的 agent 任务超时了
91
+
92
+ → 查看 [最佳实践指南 - Agent 生命周期](./best-practices.md#agent-生命周期最佳实践)
93
+
94
+ ### 我想了解代码质量标准
95
+
96
+ → 查看 [最佳实践指南 - 代码质量](./best-practices.md#代码质量最佳实践)
97
+
98
+ ---
99
+
100
+ ## 核心命令
101
+
102
+ ### 诊断和修复
103
+
104
+ ```bash
105
+ # 交互式诊断向导
106
+ omc repair
107
+
108
+ # 预览修复(推荐先运行)
109
+ omc repair --fix-state-pollution --dry-run
110
+
111
+ # 执行修复
112
+ omc repair --fix-state-pollution
113
+
114
+ # 验证状态完整性
115
+ omc repair --validate-state
116
+
117
+ # 清理孤儿 agent
118
+ omc repair --fix-orphan-agents
119
+ ```
120
+
121
+ ### 状态检查
122
+
123
+ ```bash
124
+ # 查看活跃状态文件
125
+ ls -la .omc/state/
126
+
127
+ # 查看状态内容
128
+ cat .omc/state/autopilot-state.json | jq .
129
+
130
+ # 检查状态大小
131
+ du -sh .omc/state/
132
+ ```
133
+
134
+ ### 正常退出
135
+
136
+ ```bash
137
+ # 使用 cancel 命令(推荐)
138
+ /ultrapower:cancel
139
+
140
+ # 不要直接 Ctrl+C(会导致状态污染)
141
+ ```
142
+
143
+ ---
144
+
145
+ ## 工作流建议
146
+
147
+ ### 启动新任务
148
+
149
+ 1. 验证状态完整性
150
+ ```bash
151
+ omc repair --validate-state
152
+ ```
153
+
154
+ 2. 选择合适的执行模式
155
+ - 简单任务:`/autopilot`
156
+ - 复杂任务:`/team`
157
+ - 并行任务:`/ultrawork`
158
+
159
+ 3. 监控执行进度
160
+ ```bash
161
+ check_job_status <job-id>
162
+ ```
163
+
164
+ ### 完成任务
165
+
166
+ 1. 使用 cancel 命令正常退出
167
+ ```bash
168
+ /ultrapower:cancel
169
+ ```
170
+
171
+ 2. 验证状态已清理
172
+ ```bash
173
+ ls -la .omc/state/
174
+ ```
175
+
176
+ 3. 定期清理孤儿 agent
177
+ ```bash
178
+ omc repair --fix-orphan-agents --dry-run
179
+ ```
180
+
181
+ ---
182
+
183
+ ## 故障排除流程
184
+
185
+ ```
186
+ 遇到问题
187
+
188
+ 查看错误信息
189
+
190
+ 在快速参考卡片中查找
191
+
192
+ 按照故障排除指南诊断
193
+
194
+ 运行 omc repair --dry-run 预览
195
+
196
+ 执行修复
197
+
198
+ 验证问题已解决
199
+ ```
200
+
201
+ ---
202
+
203
+ ## 相关文档
204
+
205
+ - [开发标准](../dev-standards/dev-standards.md)
206
+ - [Hook 执行顺序](../standards/hook-execution-order.md)
207
+ - [状态机规范](../standards/state-machine.md)
208
+ - [Agent 生命周期](../standards/agent-lifecycle.md)
209
+ - [运行时保护](../standards/runtime-protection.md)
210
+
211
+ ---
212
+
213
+ ## 获取帮助
214
+
215
+ - **查看命令帮助**:`omc repair --help`
216
+ - **查看日志**:`tail -f .omc/logs/*.log`
217
+ - **检查状态**:`cat .omc/state/<mode>-state.json | jq .`
218
+ - **提交 issue**:https://github.com/anthropics/ultrapower/issues
219
+
220
+ ---
221
+
222
+ ## 文档更新日期
223
+
224
+ - 最后更新:2026-03-16
225
+ - 版本:1.0
226
+ - 适用于:ultrapower v7.5.2+
@@ -0,0 +1,364 @@
1
+ # 开发最佳实践指南
2
+
3
+ 本指南提供 ultrapower 开发的核心最佳实践,帮助团队提高效率和代码质量。
4
+
5
+ ## 工作流最佳实践
6
+
7
+ ### 1. 任务规划
8
+
9
+ **使用 Team 模式进行复杂任务**
10
+
11
+ ```bash
12
+ # 多 agent 协调执行
13
+ /team "实现用户认证功能"
14
+ ```
15
+
16
+ Team 会自动路由到:
17
+ - `explore` - 代码库探索
18
+ - `planner` - 任务分解
19
+ - `executor` - 代码实现
20
+ - `verifier` - 质量验证
21
+
22
+ **优势**
23
+ - 自动分阶段执行
24
+ - 并行处理独立任务
25
+ - 内置质量检查
26
+
27
+ ### 2. 代码审查
28
+
29
+ **使用专业审查 agent**
30
+
31
+ ```bash
32
+ # 代码质量审查
33
+ /code-review "src/hooks/handlers/post-tool-use.ts"
34
+
35
+ # 安全审查
36
+ /security-review "src/security/concurrency-control.ts"
37
+
38
+ # 性能审查
39
+ Task(subagent_type="ultrapower:performance-reviewer", prompt="...")
40
+ ```
41
+
42
+ **审查清单**
43
+ - [ ] 逻辑正确性
44
+ - [ ] 安全漏洞
45
+ - [ ] 性能瓶颈
46
+ - [ ] 代码风格
47
+ - [ ] 测试覆盖
48
+
49
+ ### 3. 错误处理
50
+
51
+ **统一的错误处理模式**
52
+
53
+ ```typescript
54
+ // ✅ 好的做法
55
+ try {
56
+ const result = await operation();
57
+ return result;
58
+ } catch (error) {
59
+ logger.error('Operation failed', { error, context });
60
+ throw new AppError('OPERATION_FAILED', 'User-friendly message', { cause: error });
61
+ }
62
+
63
+ // ❌ 避免
64
+ try {
65
+ await operation();
66
+ } catch (e) {
67
+ console.log('error'); // 不清晰
68
+ }
69
+ ```
70
+
71
+ **错误分类**
72
+ - `ValidationError` - 输入验证失败
73
+ - `StateError` - 状态管理问题
74
+ - `TimeoutError` - 执行超时
75
+ - `PermissionError` - 权限不足
76
+
77
+ ---
78
+
79
+ ## 状态管理最佳实践
80
+
81
+ ### 1. 状态初始化
82
+
83
+ **检查清单**
84
+
85
+ ```bash
86
+ # 启动前验证状态
87
+ omc repair --validate-state --dry-run
88
+
89
+ # 确保没有污染状态
90
+ ls -la .omc/state/
91
+ ```
92
+
93
+ ### 2. 并发控制
94
+
95
+ **使用独立 worktree**
96
+
97
+ ```bash
98
+ # 为每个并发任务创建独立 worktree
99
+ git worktree add ../work-feature-1 -b feature-1 dev
100
+ git worktree add ../work-feature-2 -b feature-2 dev
101
+
102
+ # 各自独立的 .omc/state/ 目录
103
+ ```
104
+
105
+ **避免状态冲突**
106
+ - 不要在多个 worktree 中共享 `.omc/state/`
107
+ - 使用 `--working-directory` 指定工作目录
108
+ - 定期清理过期状态
109
+
110
+ ### 3. 状态备份
111
+
112
+ ```bash
113
+ # 重要操作前备份
114
+ cp -r .omc/state .omc/state.backup.$(date +%s)
115
+
116
+ # 恢复备份
117
+ cp -r .omc/state.backup.1234567890/* .omc/state/
118
+ ```
119
+
120
+ ---
121
+
122
+ ## Agent 生命周期最佳实践
123
+
124
+ ### 1. 启动 Agent
125
+
126
+ **使用合适的 agent 类型**
127
+
128
+ | 任务类型 | 推荐 Agent | 模型 |
129
+ |---------|-----------|------|
130
+ | 代码库探索 | `explore` | haiku |
131
+ | 需求分析 | `analyst` | opus |
132
+ | 代码实现 | `executor` | sonnet |
133
+ | 质量验证 | `verifier` | sonnet |
134
+ | 架构设计 | `architect` | opus |
135
+
136
+ ### 2. 监控执行
137
+
138
+ ```bash
139
+ # 检查后台任务状态
140
+ check_job_status <job-id>
141
+
142
+ # 等待任务完成(最多 1 小时)
143
+ wait_for_job <job-id>
144
+
145
+ # 列出所有活跃任务
146
+ list_jobs --status_filter=active
147
+ ```
148
+
149
+ ### 3. 正常关闭
150
+
151
+ ```bash
152
+ # ✅ 推荐:使用 cancel 命令
153
+ /ultrapower:cancel
154
+
155
+ # ❌ 避免:直接 Ctrl+C
156
+ # 会导致状态污染和孤儿 agent
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 代码质量最佳实践
162
+
163
+ ### 1. 类型安全
164
+
165
+ ```typescript
166
+ // ✅ 使用严格类型
167
+ interface AgentConfig {
168
+ mode: ExecutionMode;
169
+ timeout: number;
170
+ retries: number;
171
+ }
172
+
173
+ // ❌ 避免 any
174
+ const config: any = { mode: 'autopilot' };
175
+ ```
176
+
177
+ ### 2. 路径安全
178
+
179
+ ```typescript
180
+ // ✅ 验证 mode 参数
181
+ import { assertValidMode } from './lib/validateMode';
182
+ const validMode = assertValidMode(mode);
183
+ const path = `.omc/state/${validMode}-state.json`;
184
+
185
+ // ❌ 直接拼接路径
186
+ const path = `.omc/state/${mode}-state.json`;
187
+ ```
188
+
189
+ ### 3. 输入消毒
190
+
191
+ ```typescript
192
+ // ✅ 使用白名单过滤
193
+ const sanitized = filterByWhitelist(input, ALLOWED_FIELDS);
194
+
195
+ // ❌ 直接使用用户输入
196
+ const config = JSON.parse(userInput);
197
+ ```
198
+
199
+ ---
200
+
201
+ ## 测试最佳实践
202
+
203
+ ### 1. 单元测试
204
+
205
+ ```bash
206
+ # 运行单次测试(不是 watch 模式)
207
+ npm test -- --run
208
+
209
+ # 运行特定文件
210
+ npm test -- src/hooks/__tests__/bridge-routing.test.ts --run
211
+
212
+ # 生成覆盖率报告
213
+ npm test -- --coverage --run
214
+ ```
215
+
216
+ ### 2. 集成测试
217
+
218
+ ```bash
219
+ # 测试 repair 命令
220
+ npm test -- src/cli/commands/repair.test.ts --run
221
+
222
+ # 测试状态管理
223
+ npm test -- src/state/__tests__/ --run
224
+ ```
225
+
226
+ ### 3. 测试覆盖率目标
227
+
228
+ - 核心库:> 90%
229
+ - 工具函数:> 85%
230
+ - 集成代码:> 70%
231
+
232
+ ---
233
+
234
+ ## 性能最佳实践
235
+
236
+ ### 1. 并行化策略
237
+
238
+ ```bash
239
+ # 使用 ultrawork 进行最大并行度
240
+ /ultrawork "并行执行多个独立任务"
241
+
242
+ # 使用 Team 进行阶段并行
243
+ /team "多阶段任务"
244
+ ```
245
+
246
+ ### 2. 资源监控
247
+
248
+ ```bash
249
+ # 检查状态文件大小
250
+ du -sh .omc/state/
251
+
252
+ # 检查 agent 目录大小
253
+ du -sh .omc/agents/
254
+
255
+ # 定期清理
256
+ omc repair --fix-orphan-agents
257
+ ```
258
+
259
+ ### 3. 超时配置
260
+
261
+ ```typescript
262
+ // 根据任务类型设置合理超时
263
+ const TIMEOUTS = {
264
+ quick: 30_000, // 30 秒
265
+ standard: 300_000, // 5 分钟
266
+ long: 1_800_000, // 30 分钟
267
+ };
268
+ ```
269
+
270
+ ---
271
+
272
+ ## 调试最佳实践
273
+
274
+ ### 1. 启用详细日志
275
+
276
+ ```bash
277
+ # 设置日志级别
278
+ export OMC_LOG_LEVEL=debug
279
+
280
+ # 查看日志
281
+ tail -f .omc/logs/*.log
282
+ ```
283
+
284
+ ### 2. 状态检查
285
+
286
+ ```bash
287
+ # 查看当前状态
288
+ cat .omc/state/autopilot-state.json | jq .
289
+
290
+ # 检查活跃 mode
291
+ ls -la .omc/state/
292
+ ```
293
+
294
+ ### 3. 逐步诊断
295
+
296
+ ```bash
297
+ # 1. 验证状态完整性
298
+ omc repair --validate-state
299
+
300
+ # 2. 检查孤儿 agent
301
+ omc repair --fix-orphan-agents --dry-run
302
+
303
+ # 3. 清理污染状态
304
+ omc repair --fix-state-pollution --dry-run
305
+ ```
306
+
307
+ ---
308
+
309
+ ## 提交和发布最佳实践
310
+
311
+ ### 1. 提交规范
312
+
313
+ ```bash
314
+ # 格式:type(scope): description
315
+ git commit -m "feat(repair): add state validation command"
316
+ git commit -m "fix(hooks): handle concurrent state writes"
317
+ git commit -m "docs(guide): add troubleshooting section"
318
+ ```
319
+
320
+ ### 2. PR 检查清单
321
+
322
+ - [ ] 代码通过 linter
323
+ - [ ] 所有测试通过
324
+ - [ ] 类型检查无错误
325
+ - [ ] 代码审查通过
326
+ - [ ] 文档已更新
327
+ - [ ] 向后兼容
328
+
329
+ ### 3. 发布流程
330
+
331
+ ```bash
332
+ # 1. 更新版本
333
+ npm version patch|minor|major
334
+
335
+ # 2. 构建
336
+ npm run build
337
+
338
+ # 3. 测试
339
+ npm test -- --run
340
+
341
+ # 4. 发布
342
+ npm publish
343
+ ```
344
+
345
+ ---
346
+
347
+ ## 常见陷阱和解决方案
348
+
349
+ | 陷阱 | 症状 | 解决方案 |
350
+ |------|------|--------|
351
+ | 状态污染 | "State already exists" | `omc repair --fix-state-pollution` |
352
+ | 孤儿 agent | 资源泄漏 | `omc repair --fix-orphan-agents` |
353
+ | 并发冲突 | 随机失败 | 使用独立 worktree |
354
+ | 超时 | 任务中断 | 增加超时时间或分解任务 |
355
+ | 权限错误 | 无法写入状态 | 检查 `.omc/` 目录权限 |
356
+
357
+ ---
358
+
359
+ ## 参考资源
360
+
361
+ - [故障排除指南](./troubleshooting-guide.md)
362
+ - [开发标准](../dev-standards/dev-standards.md)
363
+ - [Hook 执行顺序](../standards/hook-execution-order.md)
364
+ - [状态机规范](../standards/state-machine.md)