zero-workspace 0.0.2

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 (507) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +187 -0
  3. package/config/component-versions.json +16 -0
  4. package/config/scenarioCapabilities.json +29 -0
  5. package/config/version-notes.yaml +244 -0
  6. package/dist/adapters/OutputAdapter.d.ts +79 -0
  7. package/dist/adapters/OutputAdapter.d.ts.map +1 -0
  8. package/dist/adapters/OutputAdapter.js +124 -0
  9. package/dist/adapters/OutputAdapter.js.map +1 -0
  10. package/dist/cli/check-node-version.d.ts +3 -0
  11. package/dist/cli/check-node-version.d.ts.map +1 -0
  12. package/dist/cli/check-node-version.js +153 -0
  13. package/dist/cli/check-node-version.js.map +1 -0
  14. package/dist/cli/plugins.d.ts +41 -0
  15. package/dist/cli/plugins.d.ts.map +1 -0
  16. package/dist/cli/plugins.js +742 -0
  17. package/dist/cli/plugins.js.map +1 -0
  18. package/dist/cli/rebuild.d.ts +63 -0
  19. package/dist/cli/rebuild.d.ts.map +1 -0
  20. package/dist/cli/rebuild.js +989 -0
  21. package/dist/cli/rebuild.js.map +1 -0
  22. package/dist/cli/repair.d.ts +7 -0
  23. package/dist/cli/repair.d.ts.map +1 -0
  24. package/dist/cli/repair.js +925 -0
  25. package/dist/cli/repair.js.map +1 -0
  26. package/dist/cli/setup.d.ts +7 -0
  27. package/dist/cli/setup.d.ts.map +1 -0
  28. package/dist/cli/setup.js +452 -0
  29. package/dist/cli/setup.js.map +1 -0
  30. package/dist/cli/update.d.ts +10 -0
  31. package/dist/cli/update.d.ts.map +1 -0
  32. package/dist/cli/update.js +426 -0
  33. package/dist/cli/update.js.map +1 -0
  34. package/dist/cli/webui.d.ts +6 -0
  35. package/dist/cli/webui.d.ts.map +1 -0
  36. package/dist/cli/webui.js +210 -0
  37. package/dist/cli/webui.js.map +1 -0
  38. package/dist/http/index.d.ts +3 -0
  39. package/dist/http/index.d.ts.map +1 -0
  40. package/dist/http/index.js +15 -0
  41. package/dist/http/index.js.map +1 -0
  42. package/dist/http/middleware/errorHandler.d.ts +16 -0
  43. package/dist/http/middleware/errorHandler.d.ts.map +1 -0
  44. package/dist/http/middleware/errorHandler.js +79 -0
  45. package/dist/http/middleware/errorHandler.js.map +1 -0
  46. package/dist/http/routes/admin.d.ts +3 -0
  47. package/dist/http/routes/admin.d.ts.map +1 -0
  48. package/dist/http/routes/admin.js +730 -0
  49. package/dist/http/routes/admin.js.map +1 -0
  50. package/dist/http/routes/backup.d.ts +3 -0
  51. package/dist/http/routes/backup.d.ts.map +1 -0
  52. package/dist/http/routes/backup.js +172 -0
  53. package/dist/http/routes/backup.js.map +1 -0
  54. package/dist/http/routes/config.d.ts +3 -0
  55. package/dist/http/routes/config.d.ts.map +1 -0
  56. package/dist/http/routes/config.js +157 -0
  57. package/dist/http/routes/config.js.map +1 -0
  58. package/dist/http/routes/context.d.ts +3 -0
  59. package/dist/http/routes/context.d.ts.map +1 -0
  60. package/dist/http/routes/context.js +82 -0
  61. package/dist/http/routes/context.js.map +1 -0
  62. package/dist/http/routes/log.d.ts +3 -0
  63. package/dist/http/routes/log.d.ts.map +1 -0
  64. package/dist/http/routes/log.js +105 -0
  65. package/dist/http/routes/log.js.map +1 -0
  66. package/dist/http/routes/memo.d.ts +6 -0
  67. package/dist/http/routes/memo.d.ts.map +1 -0
  68. package/dist/http/routes/memo.js +29 -0
  69. package/dist/http/routes/memo.js.map +1 -0
  70. package/dist/http/routes/node.d.ts +3 -0
  71. package/dist/http/routes/node.d.ts.map +1 -0
  72. package/dist/http/routes/node.js +251 -0
  73. package/dist/http/routes/node.js.map +1 -0
  74. package/dist/http/routes/state.d.ts +3 -0
  75. package/dist/http/routes/state.d.ts.map +1 -0
  76. package/dist/http/routes/state.js +48 -0
  77. package/dist/http/routes/state.js.map +1 -0
  78. package/dist/http/routes/workspace.d.ts +3 -0
  79. package/dist/http/routes/workspace.d.ts.map +1 -0
  80. package/dist/http/routes/workspace.js +249 -0
  81. package/dist/http/routes/workspace.js.map +1 -0
  82. package/dist/http/server.d.ts +10 -0
  83. package/dist/http/server.d.ts.map +1 -0
  84. package/dist/http/server.js +284 -0
  85. package/dist/http/server.js.map +1 -0
  86. package/dist/http/services.d.ts +93 -0
  87. package/dist/http/services.d.ts.map +1 -0
  88. package/dist/http/services.js +297 -0
  89. package/dist/http/services.js.map +1 -0
  90. package/dist/index.d.ts +3 -0
  91. package/dist/index.d.ts.map +1 -0
  92. package/dist/index.js +1073 -0
  93. package/dist/index.js.map +1 -0
  94. package/dist/prompts/guidanceContent.d.ts +18 -0
  95. package/dist/prompts/guidanceContent.d.ts.map +1 -0
  96. package/dist/prompts/guidanceContent.js +814 -0
  97. package/dist/prompts/guidanceContent.js.map +1 -0
  98. package/dist/prompts/index.d.ts +2 -0
  99. package/dist/prompts/index.d.ts.map +1 -0
  100. package/dist/prompts/index.js +4 -0
  101. package/dist/prompts/index.js.map +1 -0
  102. package/dist/prompts/instructions.d.ts +56 -0
  103. package/dist/prompts/instructions.d.ts.map +1 -0
  104. package/dist/prompts/instructions.js +1343 -0
  105. package/dist/prompts/instructions.js.map +1 -0
  106. package/dist/services/BackupService.d.ts +104 -0
  107. package/dist/services/BackupService.d.ts.map +1 -0
  108. package/dist/services/BackupService.js +549 -0
  109. package/dist/services/BackupService.js.map +1 -0
  110. package/dist/services/CapabilityService.d.ts +38 -0
  111. package/dist/services/CapabilityService.d.ts.map +1 -0
  112. package/dist/services/CapabilityService.js +256 -0
  113. package/dist/services/CapabilityService.js.map +1 -0
  114. package/dist/services/ConfigService.d.ts +35 -0
  115. package/dist/services/ConfigService.d.ts.map +1 -0
  116. package/dist/services/ConfigService.js +105 -0
  117. package/dist/services/ConfigService.js.map +1 -0
  118. package/dist/services/ContextService.d.ts +65 -0
  119. package/dist/services/ContextService.d.ts.map +1 -0
  120. package/dist/services/ContextService.js +503 -0
  121. package/dist/services/ContextService.js.map +1 -0
  122. package/dist/services/DetectionService.d.ts +76 -0
  123. package/dist/services/DetectionService.d.ts.map +1 -0
  124. package/dist/services/DetectionService.js +262 -0
  125. package/dist/services/DetectionService.js.map +1 -0
  126. package/dist/services/DispatchService.d.ts +267 -0
  127. package/dist/services/DispatchService.d.ts.map +1 -0
  128. package/dist/services/DispatchService.js +1357 -0
  129. package/dist/services/DispatchService.js.map +1 -0
  130. package/dist/services/EventService.d.ts +81 -0
  131. package/dist/services/EventService.d.ts.map +1 -0
  132. package/dist/services/EventService.js +187 -0
  133. package/dist/services/EventService.js.map +1 -0
  134. package/dist/services/GuidanceService.d.ts +64 -0
  135. package/dist/services/GuidanceService.d.ts.map +1 -0
  136. package/dist/services/GuidanceService.js +259 -0
  137. package/dist/services/GuidanceService.js.map +1 -0
  138. package/dist/services/HealthService.d.ts +43 -0
  139. package/dist/services/HealthService.d.ts.map +1 -0
  140. package/dist/services/HealthService.js +276 -0
  141. package/dist/services/HealthService.js.map +1 -0
  142. package/dist/services/InstallationService.d.ts +62 -0
  143. package/dist/services/InstallationService.d.ts.map +1 -0
  144. package/dist/services/InstallationService.js +204 -0
  145. package/dist/services/InstallationService.js.map +1 -0
  146. package/dist/services/LogService.d.ts +35 -0
  147. package/dist/services/LogService.d.ts.map +1 -0
  148. package/dist/services/LogService.js +189 -0
  149. package/dist/services/LogService.js.map +1 -0
  150. package/dist/services/MemoService.d.ts +39 -0
  151. package/dist/services/MemoService.d.ts.map +1 -0
  152. package/dist/services/MemoService.js +288 -0
  153. package/dist/services/MemoService.js.map +1 -0
  154. package/dist/services/NodeService.d.ts +90 -0
  155. package/dist/services/NodeService.d.ts.map +1 -0
  156. package/dist/services/NodeService.js +958 -0
  157. package/dist/services/NodeService.js.map +1 -0
  158. package/dist/services/OpenSpecParser.d.ts +43 -0
  159. package/dist/services/OpenSpecParser.d.ts.map +1 -0
  160. package/dist/services/OpenSpecParser.js +191 -0
  161. package/dist/services/OpenSpecParser.js.map +1 -0
  162. package/dist/services/ReferenceService.d.ts +35 -0
  163. package/dist/services/ReferenceService.d.ts.map +1 -0
  164. package/dist/services/ReferenceService.js +195 -0
  165. package/dist/services/ReferenceService.js.map +1 -0
  166. package/dist/services/RepairService.d.ts +36 -0
  167. package/dist/services/RepairService.d.ts.map +1 -0
  168. package/dist/services/RepairService.js +429 -0
  169. package/dist/services/RepairService.js.map +1 -0
  170. package/dist/services/SearchService.d.ts +34 -0
  171. package/dist/services/SearchService.d.ts.map +1 -0
  172. package/dist/services/SearchService.js +293 -0
  173. package/dist/services/SearchService.js.map +1 -0
  174. package/dist/services/SessionService.d.ts +136 -0
  175. package/dist/services/SessionService.d.ts.map +1 -0
  176. package/dist/services/SessionService.js +297 -0
  177. package/dist/services/SessionService.js.map +1 -0
  178. package/dist/services/StateService.d.ts +97 -0
  179. package/dist/services/StateService.d.ts.map +1 -0
  180. package/dist/services/StateService.js +846 -0
  181. package/dist/services/StateService.js.map +1 -0
  182. package/dist/services/TutorialService.d.ts +114 -0
  183. package/dist/services/TutorialService.d.ts.map +1 -0
  184. package/dist/services/TutorialService.js +1262 -0
  185. package/dist/services/TutorialService.js.map +1 -0
  186. package/dist/services/WorkspaceService.d.ts +273 -0
  187. package/dist/services/WorkspaceService.d.ts.map +1 -0
  188. package/dist/services/WorkspaceService.js +1764 -0
  189. package/dist/services/WorkspaceService.js.map +1 -0
  190. package/dist/services/index.d.ts +15 -0
  191. package/dist/services/index.d.ts.map +1 -0
  192. package/dist/services/index.js +14 -0
  193. package/dist/services/index.js.map +1 -0
  194. package/dist/storage/FileSystemAdapter.d.ts +223 -0
  195. package/dist/storage/FileSystemAdapter.d.ts.map +1 -0
  196. package/dist/storage/FileSystemAdapter.js +384 -0
  197. package/dist/storage/FileSystemAdapter.js.map +1 -0
  198. package/dist/storage/JsonStorage.d.ts +158 -0
  199. package/dist/storage/JsonStorage.d.ts.map +1 -0
  200. package/dist/storage/JsonStorage.js +613 -0
  201. package/dist/storage/JsonStorage.js.map +1 -0
  202. package/dist/storage/MarkdownStorage.d.ts +178 -0
  203. package/dist/storage/MarkdownStorage.d.ts.map +1 -0
  204. package/dist/storage/MarkdownStorage.js +918 -0
  205. package/dist/storage/MarkdownStorage.js.map +1 -0
  206. package/dist/storage/SessionBindingStorage.d.ts +69 -0
  207. package/dist/storage/SessionBindingStorage.d.ts.map +1 -0
  208. package/dist/storage/SessionBindingStorage.js +131 -0
  209. package/dist/storage/SessionBindingStorage.js.map +1 -0
  210. package/dist/storage/index.d.ts +6 -0
  211. package/dist/storage/index.d.ts.map +1 -0
  212. package/dist/storage/index.js +6 -0
  213. package/dist/storage/index.js.map +1 -0
  214. package/dist/tools/capability.d.ts +18 -0
  215. package/dist/tools/capability.d.ts.map +1 -0
  216. package/dist/tools/capability.js +73 -0
  217. package/dist/tools/capability.js.map +1 -0
  218. package/dist/tools/config.d.ts +14 -0
  219. package/dist/tools/config.d.ts.map +1 -0
  220. package/dist/tools/config.js +61 -0
  221. package/dist/tools/config.js.map +1 -0
  222. package/dist/tools/context.d.ts +22 -0
  223. package/dist/tools/context.d.ts.map +1 -0
  224. package/dist/tools/context.js +139 -0
  225. package/dist/tools/context.js.map +1 -0
  226. package/dist/tools/dispatch.d.ts +41 -0
  227. package/dist/tools/dispatch.d.ts.map +1 -0
  228. package/dist/tools/dispatch.js +380 -0
  229. package/dist/tools/dispatch.js.map +1 -0
  230. package/dist/tools/help.d.ts +44 -0
  231. package/dist/tools/help.d.ts.map +1 -0
  232. package/dist/tools/help.js +227 -0
  233. package/dist/tools/help.js.map +1 -0
  234. package/dist/tools/import.d.ts +17 -0
  235. package/dist/tools/import.d.ts.map +1 -0
  236. package/dist/tools/import.js +96 -0
  237. package/dist/tools/import.js.map +1 -0
  238. package/dist/tools/index.d.ts +12 -0
  239. package/dist/tools/index.d.ts.map +1 -0
  240. package/dist/tools/index.js +13 -0
  241. package/dist/tools/index.js.map +1 -0
  242. package/dist/tools/log.d.ts +21 -0
  243. package/dist/tools/log.d.ts.map +1 -0
  244. package/dist/tools/log.js +93 -0
  245. package/dist/tools/log.js.map +1 -0
  246. package/dist/tools/memo.d.ts +26 -0
  247. package/dist/tools/memo.d.ts.map +1 -0
  248. package/dist/tools/memo.js +188 -0
  249. package/dist/tools/memo.js.map +1 -0
  250. package/dist/tools/node.d.ts +34 -0
  251. package/dist/tools/node.d.ts.map +1 -0
  252. package/dist/tools/node.js +328 -0
  253. package/dist/tools/node.js.map +1 -0
  254. package/dist/tools/search.d.ts +14 -0
  255. package/dist/tools/search.d.ts.map +1 -0
  256. package/dist/tools/search.js +95 -0
  257. package/dist/tools/search.js.map +1 -0
  258. package/dist/tools/session.d.ts +22 -0
  259. package/dist/tools/session.d.ts.map +1 -0
  260. package/dist/tools/session.js +127 -0
  261. package/dist/tools/session.js.map +1 -0
  262. package/dist/tools/state.d.ts +10 -0
  263. package/dist/tools/state.d.ts.map +1 -0
  264. package/dist/tools/state.js +79 -0
  265. package/dist/tools/state.js.map +1 -0
  266. package/dist/tools/workspace.d.ts +38 -0
  267. package/dist/tools/workspace.d.ts.map +1 -0
  268. package/dist/tools/workspace.js +240 -0
  269. package/dist/tools/workspace.js.map +1 -0
  270. package/dist/types/capability.d.ts +36 -0
  271. package/dist/types/capability.d.ts.map +1 -0
  272. package/dist/types/capability.js +3 -0
  273. package/dist/types/capability.js.map +1 -0
  274. package/dist/types/confirmation.d.ts +35 -0
  275. package/dist/types/confirmation.d.ts.map +1 -0
  276. package/dist/types/confirmation.js +3 -0
  277. package/dist/types/confirmation.js.map +1 -0
  278. package/dist/types/context.d.ts +174 -0
  279. package/dist/types/context.d.ts.map +1 -0
  280. package/dist/types/context.js +3 -0
  281. package/dist/types/context.js.map +1 -0
  282. package/dist/types/errors.d.ts +81 -0
  283. package/dist/types/errors.d.ts.map +1 -0
  284. package/dist/types/errors.js +154 -0
  285. package/dist/types/errors.js.map +1 -0
  286. package/dist/types/guidance.d.ts +162 -0
  287. package/dist/types/guidance.d.ts.map +1 -0
  288. package/dist/types/guidance.js +4 -0
  289. package/dist/types/guidance.js.map +1 -0
  290. package/dist/types/health.d.ts +61 -0
  291. package/dist/types/health.d.ts.map +1 -0
  292. package/dist/types/health.js +3 -0
  293. package/dist/types/health.js.map +1 -0
  294. package/dist/types/index.d.ts +10 -0
  295. package/dist/types/index.d.ts.map +1 -0
  296. package/dist/types/index.js +11 -0
  297. package/dist/types/index.js.map +1 -0
  298. package/dist/types/memo.d.ts +132 -0
  299. package/dist/types/memo.d.ts.map +1 -0
  300. package/dist/types/memo.js +3 -0
  301. package/dist/types/memo.js.map +1 -0
  302. package/dist/types/node.d.ts +316 -0
  303. package/dist/types/node.d.ts.map +1 -0
  304. package/dist/types/node.js +3 -0
  305. package/dist/types/node.js.map +1 -0
  306. package/dist/types/repair.d.ts +62 -0
  307. package/dist/types/repair.d.ts.map +1 -0
  308. package/dist/types/repair.js +4 -0
  309. package/dist/types/repair.js.map +1 -0
  310. package/dist/types/search.d.ts +58 -0
  311. package/dist/types/search.d.ts.map +1 -0
  312. package/dist/types/search.js +3 -0
  313. package/dist/types/search.js.map +1 -0
  314. package/dist/types/settings.d.ts +109 -0
  315. package/dist/types/settings.d.ts.map +1 -0
  316. package/dist/types/settings.js +30 -0
  317. package/dist/types/settings.js.map +1 -0
  318. package/dist/types/workspace.d.ts +357 -0
  319. package/dist/types/workspace.d.ts.map +1 -0
  320. package/dist/types/workspace.js +3 -0
  321. package/dist/types/workspace.js.map +1 -0
  322. package/dist/utils/contentValidation.d.ts +47 -0
  323. package/dist/utils/contentValidation.d.ts.map +1 -0
  324. package/dist/utils/contentValidation.js +93 -0
  325. package/dist/utils/contentValidation.js.map +1 -0
  326. package/dist/utils/devLog.d.ts +43 -0
  327. package/dist/utils/devLog.d.ts.map +1 -0
  328. package/dist/utils/devLog.js +94 -0
  329. package/dist/utils/devLog.js.map +1 -0
  330. package/dist/utils/errorLogger.d.ts +27 -0
  331. package/dist/utils/errorLogger.d.ts.map +1 -0
  332. package/dist/utils/errorLogger.js +105 -0
  333. package/dist/utils/errorLogger.js.map +1 -0
  334. package/dist/utils/git.d.ts +123 -0
  335. package/dist/utils/git.d.ts.map +1 -0
  336. package/dist/utils/git.js +400 -0
  337. package/dist/utils/git.js.map +1 -0
  338. package/dist/utils/hash.d.ts +32 -0
  339. package/dist/utils/hash.d.ts.map +1 -0
  340. package/dist/utils/hash.js +37 -0
  341. package/dist/utils/hash.js.map +1 -0
  342. package/dist/utils/id.d.ts +54 -0
  343. package/dist/utils/id.d.ts.map +1 -0
  344. package/dist/utils/id.js +96 -0
  345. package/dist/utils/id.js.map +1 -0
  346. package/dist/utils/index.d.ts +8 -0
  347. package/dist/utils/index.d.ts.map +1 -0
  348. package/dist/utils/index.js +9 -0
  349. package/dist/utils/index.js.map +1 -0
  350. package/dist/utils/logger.d.ts +42 -0
  351. package/dist/utils/logger.d.ts.map +1 -0
  352. package/dist/utils/logger.js +228 -0
  353. package/dist/utils/logger.js.map +1 -0
  354. package/dist/utils/manualChangeFormatter.d.ts +8 -0
  355. package/dist/utils/manualChangeFormatter.d.ts.map +1 -0
  356. package/dist/utils/manualChangeFormatter.js +21 -0
  357. package/dist/utils/manualChangeFormatter.js.map +1 -0
  358. package/dist/utils/paramValidator.d.ts +35 -0
  359. package/dist/utils/paramValidator.d.ts.map +1 -0
  360. package/dist/utils/paramValidator.js +214 -0
  361. package/dist/utils/paramValidator.js.map +1 -0
  362. package/dist/utils/port.d.ts +7 -0
  363. package/dist/utils/port.d.ts.map +1 -0
  364. package/dist/utils/port.js +28 -0
  365. package/dist/utils/port.js.map +1 -0
  366. package/dist/utils/processManager.d.ts +53 -0
  367. package/dist/utils/processManager.d.ts.map +1 -0
  368. package/dist/utils/processManager.js +267 -0
  369. package/dist/utils/processManager.js.map +1 -0
  370. package/dist/utils/sessionLogger.d.ts +28 -0
  371. package/dist/utils/sessionLogger.d.ts.map +1 -0
  372. package/dist/utils/sessionLogger.js +142 -0
  373. package/dist/utils/sessionLogger.js.map +1 -0
  374. package/dist/utils/time.d.ts +15 -0
  375. package/dist/utils/time.d.ts.map +1 -0
  376. package/dist/utils/time.js +32 -0
  377. package/dist/utils/time.js.map +1 -0
  378. package/dist/utils/validation.d.ts +23 -0
  379. package/dist/utils/validation.d.ts.map +1 -0
  380. package/dist/utils/validation.js +88 -0
  381. package/dist/utils/validation.js.map +1 -0
  382. package/docs//346/227/245/345/277/227/347/263/273/347/273/237.md +389 -0
  383. package/docs//347/224/250/346/210/267/346/211/213/345/206/214.md +1446 -0
  384. package/docs//347/224/250/346/210/267/346/211/213/345/206/214/344/270/216/346/212/200/346/234/257/346/214/207/345/215/227.md +873 -0
  385. package/package.json +94 -0
  386. package/plugin/README.md +141 -0
  387. package/plugin/agents/zero-executor.md +114 -0
  388. package/plugin/agents/zero-reviewer.md +133 -0
  389. package/plugin/docs/diagnostic-guide.md +128 -0
  390. package/plugin/hooks/hooks.json.deprecated +70 -0
  391. package/plugin/scripts/cursor-hook-entry.cjs +217 -0
  392. package/plugin/scripts/hook-entry.cjs +663 -0
  393. package/plugin/scripts/openspec-import.cjs +714 -0
  394. package/plugin/scripts/shared/binding.cjs +98 -0
  395. package/plugin/scripts/shared/config.cjs +65 -0
  396. package/plugin/scripts/shared/context.cjs +120 -0
  397. package/plugin/scripts/shared/index.cjs +34 -0
  398. package/plugin/scripts/shared/logger.cjs +196 -0
  399. package/plugin/scripts/shared/reminder.cjs +261 -0
  400. package/plugin/scripts/shared/utils.cjs +62 -0
  401. package/plugin/scripts/shared/workspace.cjs +322 -0
  402. package/plugin/skills/aligning-intent/SKILL.md +275 -0
  403. package/plugin/skills/analyzing-measurements/SKILL.md +223 -0
  404. package/plugin/skills/bootstrapping-workspace/SKILL.md +260 -0
  405. package/plugin/skills/designing-solutions/SKILL.md +363 -0
  406. package/plugin/skills/diagnosing-issues/SKILL.md +219 -0
  407. package/plugin/skills/discovering-context/SKILL.md +283 -0
  408. package/plugin/skills/dispatching-parent/SKILL.md +399 -0
  409. package/plugin/skills/executing-task/SKILL.md +340 -0
  410. package/plugin/skills/memo-create/SKILL.md +222 -0
  411. package/plugin/skills/planning-verification/SKILL.md +245 -0
  412. package/plugin/skills/preparing-dispatch/SKILL.md +299 -0
  413. package/plugin/skills/researching-tech/SKILL.md +223 -0
  414. package/plugin/skills/reviewing-quality/SKILL.md +354 -0
  415. package/plugin/skills/reviewing-spec/SKILL.md +333 -0
  416. package/plugin/skills/starting-info-flow/SKILL.md +196 -0
  417. package/web/README.md +5 -0
  418. package/web/dist/assets/DocsView-Bls_Vjsr.css +1 -0
  419. package/web/dist/assets/DocsView-Cxc0B63r.js +1447 -0
  420. package/web/dist/assets/HomeView-C7df9thb.js +9 -0
  421. package/web/dist/assets/HomeView-ufUdnfHk.css +1 -0
  422. package/web/dist/assets/MarkdownContent-DXp6CtSP.js +308 -0
  423. package/web/dist/assets/MarkdownContent-NFqiOBLH.css +1 -0
  424. package/web/dist/assets/NotFoundView-BYX1oZAn.css +1 -0
  425. package/web/dist/assets/NotFoundView-zrc0lT9q.js +1 -0
  426. package/web/dist/assets/WorkspaceView-BckqgNcX.js +27 -0
  427. package/web/dist/assets/WorkspaceView-J1dgpYMx.css +1 -0
  428. package/web/dist/assets/WsConfirmDialog-C1CvL4my.css +1 -0
  429. package/web/dist/assets/WsConfirmDialog-gLEP7uBD.js +4 -0
  430. package/web/dist/assets/arc-DPkKTkUT.js +1 -0
  431. package/web/dist/assets/architectureDiagram-VXUJARFQ-CEGpqUlZ.js +36 -0
  432. package/web/dist/assets/blockDiagram-VD42YOAC-Bv-mqdQH.js +122 -0
  433. package/web/dist/assets/c4Diagram-YG6GDRKO-DRyPatZ_.js +10 -0
  434. package/web/dist/assets/channel-B84mKLDZ.js +1 -0
  435. package/web/dist/assets/chunk-4BX2VUAB-c7DivX0u.js +1 -0
  436. package/web/dist/assets/chunk-55IACEB6-CGKTaLlo.js +1 -0
  437. package/web/dist/assets/chunk-B4BG7PRW-Czhx5Q_P.js +165 -0
  438. package/web/dist/assets/chunk-DI55MBZ5-CQVA7hcZ.js +220 -0
  439. package/web/dist/assets/chunk-FMBD7UC4-hEiPmi7V.js +15 -0
  440. package/web/dist/assets/chunk-QN33PNHL-rL6yYI-E.js +1 -0
  441. package/web/dist/assets/chunk-QZHKN3VN-BRyHBBzq.js +1 -0
  442. package/web/dist/assets/chunk-TZMSLE5B-D4PXmTz9.js +1 -0
  443. package/web/dist/assets/classDiagram-2ON5EDUG-CNn53ohi.js +1 -0
  444. package/web/dist/assets/classDiagram-v2-WZHVMYZB-CNn53ohi.js +1 -0
  445. package/web/dist/assets/cose-bilkent-S5V4N54A-BAREnRga.js +1 -0
  446. package/web/dist/assets/cytoscape.esm-BnkdMOzK.js +321 -0
  447. package/web/dist/assets/dagre-6UL2VRFP-DaYzb3MT.js +4 -0
  448. package/web/dist/assets/defaultLocale-C4B-KCzX.js +1 -0
  449. package/web/dist/assets/diagram-PSM6KHXK-BFltDqvd.js +24 -0
  450. package/web/dist/assets/diagram-QEK2KX5R-CR4VU2La.js +43 -0
  451. package/web/dist/assets/diagram-S2PKOQOG-0UfIeT-1.js +24 -0
  452. package/web/dist/assets/erDiagram-Q2GNP2WA-Bo17Xmng.js +60 -0
  453. package/web/dist/assets/flowDiagram-NV44I4VS-CzqhQp8s.js +162 -0
  454. package/web/dist/assets/ganttDiagram-JELNMOA3-TXwXtUcq.js +267 -0
  455. package/web/dist/assets/gitGraphDiagram-NY62KEGX-CoFQTy9O.js +65 -0
  456. package/web/dist/assets/graph-CIQcRIVd.js +1 -0
  457. package/web/dist/assets/index-BgLd_o_M.css +1 -0
  458. package/web/dist/assets/index-Cd_J3fZn.js +30 -0
  459. package/web/dist/assets/infoDiagram-WHAUD3N6-Dq0xXfVu.js +2 -0
  460. package/web/dist/assets/init-Gi6I4Gst.js +1 -0
  461. package/web/dist/assets/journeyDiagram-XKPGCS4Q-jIg5BOfC.js +139 -0
  462. package/web/dist/assets/kanban-definition-3W4ZIXB7-D2giu6aZ.js +89 -0
  463. package/web/dist/assets/katex-XbL3y5x-.js +261 -0
  464. package/web/dist/assets/layout-Bm-XCM-8.js +1 -0
  465. package/web/dist/assets/linear-FbekP9OZ.js +1 -0
  466. package/web/dist/assets/min-BrRCpYmF.js +1 -0
  467. package/web/dist/assets/mindmap-definition-VGOIOE7T-o-4ubbY9.js +68 -0
  468. package/web/dist/assets/noto-emoji-0-400-normal-BTQbhB77.woff +0 -0
  469. package/web/dist/assets/noto-emoji-0-400-normal-DHdy6Uhy.woff2 +0 -0
  470. package/web/dist/assets/noto-emoji-1-400-normal-0IvkdXBB.woff +0 -0
  471. package/web/dist/assets/noto-emoji-1-400-normal-BY9OovbM.woff2 +0 -0
  472. package/web/dist/assets/noto-emoji-10-400-normal-D9w4QCof.woff2 +0 -0
  473. package/web/dist/assets/noto-emoji-10-400-normal-DtCumcZR.woff +0 -0
  474. package/web/dist/assets/noto-emoji-11-400-normal-BboTlyvx.woff +0 -0
  475. package/web/dist/assets/noto-emoji-12-400-normal-BB5pgBKj.woff2 +0 -0
  476. package/web/dist/assets/noto-emoji-12-400-normal-g186qhiA.woff +0 -0
  477. package/web/dist/assets/noto-emoji-2-400-normal-BKCR1azW.woff2 +0 -0
  478. package/web/dist/assets/noto-emoji-2-400-normal-BYH0KhDr.woff +0 -0
  479. package/web/dist/assets/noto-emoji-3-400-normal-CnPTUeEK.woff +0 -0
  480. package/web/dist/assets/noto-emoji-3-400-normal-TrTb2VQM.woff2 +0 -0
  481. package/web/dist/assets/noto-emoji-4-400-normal-BxD0KVdj.woff +0 -0
  482. package/web/dist/assets/noto-emoji-4-400-normal-s_n9EyG1.woff2 +0 -0
  483. package/web/dist/assets/noto-emoji-5-400-normal-C190AIxR.woff +0 -0
  484. package/web/dist/assets/noto-emoji-5-400-normal-Ctfx4xc6.woff2 +0 -0
  485. package/web/dist/assets/noto-emoji-6-400-normal-DlXlXWt7.woff +0 -0
  486. package/web/dist/assets/noto-emoji-6-400-normal-NzsjD754.woff2 +0 -0
  487. package/web/dist/assets/noto-emoji-7-400-normal-BHP8KeA6.woff2 +0 -0
  488. package/web/dist/assets/noto-emoji-7-400-normal-CtuKhtAZ.woff +0 -0
  489. package/web/dist/assets/noto-emoji-8-400-normal-DR49ZFe7.woff +0 -0
  490. package/web/dist/assets/noto-emoji-8-400-normal-Dvmkf6b2.woff2 +0 -0
  491. package/web/dist/assets/noto-emoji-9-400-normal-BeHJQ2iK.woff2 +0 -0
  492. package/web/dist/assets/noto-emoji-9-400-normal-BlXmCgeQ.woff +0 -0
  493. package/web/dist/assets/ordinal-Cboi1Yqb.js +1 -0
  494. package/web/dist/assets/pieDiagram-ADFJNKIX-C45wSpld.js +30 -0
  495. package/web/dist/assets/quadrantDiagram-AYHSOK5B-tv-_fe-W.js +7 -0
  496. package/web/dist/assets/reduce-CoLNNlNb.js +1 -0
  497. package/web/dist/assets/requirementDiagram-UZGBJVZJ-Dn6PDfkL.js +64 -0
  498. package/web/dist/assets/sankeyDiagram-TZEHDZUN-CbXTZAsG.js +10 -0
  499. package/web/dist/assets/sequenceDiagram-WL72ISMW-B-o1CUJ5.js +145 -0
  500. package/web/dist/assets/stateDiagram-FKZM4ZOC-hzrupXQi.js +1 -0
  501. package/web/dist/assets/stateDiagram-v2-4FDKWEC3-DN-c2M96.js +1 -0
  502. package/web/dist/assets/timeline-definition-IT6M3QCI-R5SP9GDo.js +61 -0
  503. package/web/dist/assets/treemap-KMMF4GRG-Pg9KlUOt.js +128 -0
  504. package/web/dist/assets/xychartDiagram-PRI3JC2R-C3vbJhd1.js +7 -0
  505. package/web/dist/favicon.svg +13 -0
  506. package/web/dist/index.html +17 -0
  507. package//351/205/215/347/275/256/346/226/271/345/274/217.md +330 -0
@@ -0,0 +1,873 @@
1
+ # ZeroWorkspace 用户手册与技术指南
2
+
3
+ ---
4
+
5
+ ## 能力概览
6
+
7
+ ### 核心能力一览
8
+
9
+ **持久化工作区**
10
+ - 任务信息跨会话保持,不因对话结束而丢失
11
+ - 随时继续之前的任务,上下文完整恢复
12
+ - 支持多工作区并行管理
13
+
14
+ **结构化任务管理**
15
+ - 将复杂任务分解为可追踪的节点树
16
+ - 每个节点有明确的状态:待处理、进行中、已完成
17
+ - 自动记录执行过程和结论
18
+
19
+ **状态机约束**
20
+ - 物理级防止 AI 跳步:必须按流程推进
21
+ - 强制完成前置步骤才能进入下一阶段
22
+ - 状态转换规则内置,无法绕过
23
+
24
+ **派发系统**
25
+ - 执行与审查分离:执行者专注实现,审查者验证质量
26
+ - 双重保障:Spec Review(规范审查)+ Quality Review(质量审查)
27
+ - 防止简化实现、遗漏需求
28
+
29
+ **能力包系统**
30
+ - 按需加载专业技能(调试、重构、测试设计等)
31
+ - 标准化流程引导,确保执行质量
32
+ - 可扩展,支持自定义能力包
33
+
34
+ **MEMO 知识库**
35
+ - 团队知识沉淀与共享
36
+ - 支持结构化标签分类
37
+ - 可导出为独立文档
38
+
39
+ ### 与现有方案对比
40
+
41
+ | 特性 | Claude Code Plan 模式 | OpenSpec | ZeroWorkspace |
42
+ |------|----------------------|----------|----------------|
43
+ | 任务持久化 | 单次会话,关闭即丢失 | 静态文件,需手动维护 | 跨会话持久,自动保存 |
44
+ | 上下文保持 | 对话压缩后丢失关键信息 | 需手动同步上下文 | 可AI自动唤起,并通过HOOK保持信息 |
45
+ | 执行跟踪 | 无状态,靠对话记忆 | 无执行跟踪机制 | 完整状态机,实时追踪 |
46
+ | 质量保障 | 依赖 AI 自觉性 | 规范约束,无强制力 | 状态机约束 + 派发审查 |
47
+ | 复杂任务分解 | 手动分解,易遗漏 | 预定义结构,不够灵活 | 动态分解,按需调整 |
48
+ | 知识沉淀 | 无,对话结束即消失 | 需要手动归档管理 | 工作区持久化 |
49
+ | 复杂项目管理 | 无,只能单次规划 | 大型项目管理复杂,占用上下文 | 通过拓扑结构高效管理复杂项目计划 |
50
+ | 多人协作 | 不支持 | 通过文件共享 | MEMO + 工作区导出 |
51
+
52
+ ### 相比 Claude Code 默认模式的优势
53
+
54
+ **Plan 模式的局限**:
55
+ - 规划只存在于当前对话,无法跨会话延续
56
+ - 长对话压缩后,之前的规划细节会丢失
57
+ - 没有执行状态追踪,AI 可能重复或遗漏步骤
58
+ - 无法强制 AI 按规划执行,容易偏离
59
+
60
+ **ZeroWorkspace 的解决方案**:
61
+ - 工作区持久化存储,任务可跨天、跨周延续
62
+ - 关键上下文自动注入,压缩不影响任务继续
63
+ - 状态机物理约束,必须完成当前步骤才能继续
64
+ - 派发系统强制审查,防止偷工减料
65
+
66
+ ### 相比 OpenSpec 的优势
67
+
68
+ **OpenSpec 的局限**:
69
+ - 需要预先编写完整规范,前期成本高
70
+ - 静态文件,执行过程中难以调整
71
+ - 没有执行跟踪,不知道进度和状态
72
+ - 规范与执行分离,容易脱节
73
+
74
+ **ZeroWorkspace 的解决方案**:
75
+ - 动态规划,边执行边完善
76
+ - 实时调整任务结构,灵活应对变化
77
+ - 完整的执行状态追踪和日志记录
78
+ - 规划与执行一体化,信息始终同步
79
+
80
+ ### 解决的核心痛点
81
+
82
+ **1. 长对话上下文丢失**
83
+
84
+ 问题:Claude 对话过长时会自动压缩,导致之前讨论的需求、决策、代码位置等关键信息丢失。
85
+
86
+ 解决:工作区自动保护关键信息,压缩时注入必要上下文,确保 AI 始终了解任务全貌。
87
+
88
+ **2. AI 跳步偷懒**
89
+
90
+ 问题:AI 有时会跳过分析步骤直接给出"简化实现",或者遗漏需求中的细节。
91
+
92
+ 解决:状态机强制按流程执行,派发系统双重审查,物理级防止偷工减料。
93
+
94
+ **3. 复杂任务失控**
95
+
96
+ 问题:多步骤任务容易混乱,不知道做到哪里了,哪些完成了哪些没完成。
97
+
98
+ 解决:结构化节点树 + 状态追踪,清晰展示任务全貌和当前进度。
99
+
100
+ **4. 知识无法沉淀**
101
+
102
+ 问题:每次对话结束,讨论的技术方案、踩过的坑、做出的决策都消失了。
103
+
104
+ 解决:MEMO 系统持久化存储,支持标签分类和搜索,团队知识可累积复用。
105
+
106
+ **5. 跨会话任务中断**
107
+
108
+ 问题:关闭对话后再次打开,需要重新描述任务背景,AI 不记得之前的进展。
109
+
110
+ 解决:工作区完整保存任务状态,一句"继续之前的任务"即可恢复上下文。
111
+
112
+ ### 优势场景
113
+
114
+ **复杂功能开发**
115
+
116
+ 适用于涉及多个模块、多个文件的新功能实现。工作区帮助分解任务、追踪进度、确保每个模块都被正确实现。
117
+
118
+ 示例:实现用户认证系统(注册、登录、权限、Token 管理)
119
+
120
+ **大规模重构**
121
+
122
+ 适用于需要严格控制范围和质量的代码重构。状态机约束确保重构按计划进行,派发审查保证重构质量。
123
+
124
+ 示例:将单体应用拆分为微服务架构
125
+
126
+ **Bug 深度排查**
127
+
128
+ 适用于需要多轮调试、持续追踪的复杂问题。工作区记录每次尝试和结论,避免重复排查。
129
+
130
+ 示例:排查偶发的内存泄漏问题
131
+
132
+ **技术调研**
133
+
134
+ 适用于需要沉淀结论、后续复用的研究任务。MEMO 记录调研结果,方便团队参考。
135
+
136
+ 示例:评估多个技术方案的优劣
137
+
138
+ **团队协作**
139
+
140
+ 适用于多人接力开发的场景。通过工作区导出和 MEMO 共享,团队成员可以快速了解上下文。
141
+
142
+ 示例:前端开发完成后交接给后端联调
143
+
144
+ ---
145
+
146
+ ## 第一部分:用户手册
147
+
148
+ ### 1. 简介
149
+
150
+ ZeroWorkspace 就像是 AI 的项目管理系统。
151
+
152
+ 想象你在和一个能干但健忘的同事合作——他很聪明,但对话一长就忘了早期的决策;任务一复杂就容易跑偏。ZeroWorkspace 就是给这个"同事"配的任务管理工具:把大任务拆成小步骤,每步都记录下来,随时能回顾进度。
153
+
154
+ **核心概念**
155
+
156
+ | 概念 | 说明 |
157
+ |------|------|
158
+ | 工作台 | ZeroWorkspace 本身,管理所有工作区的平台 |
159
+ | 工作区 | 单个任务的完整记录,包含一棵任务树 |
160
+ | 节点 | 任务树中的每个任务单元 |
161
+
162
+ 工作台是你的办公桌,工作区是桌上的每个项目文件夹,节点是文件夹里的待办事项。
163
+
164
+ **谁会受益?**
165
+
166
+ - 你:知道 AI 在做什么、做到哪了,能随时调整方向
167
+ - AI:有结构化的任务管理,不再迷失在长对话中
168
+ - 项目:所有变更有迹可循,出问题能回溯
169
+
170
+ ### 2. 快速开始
171
+
172
+ **安装**
173
+
174
+ ```bash
175
+ npm install -g zero-workspace
176
+ zero-workspace setup # 自动检测环境并配置
177
+ ```
178
+
179
+ **启动 WebUI 服务(推荐)**
180
+
181
+ ```bash
182
+ zero-workspace webui # 启动后保持终端窗口打开
183
+ ```
184
+
185
+ 启动后访问终端显示的地址(默认 `http://localhost:19540`)即可查看任务进度。
186
+
187
+ 其他管理命令:
188
+ ```bash
189
+ zero-workspace webui status # 查看服务状态
190
+ zero-workspace webui stop # 停止服务
191
+ zero-workspace webui restart # 重启服务
192
+ ```
193
+
194
+ **支持的 AI 助手**
195
+
196
+ | AI 助手 | 支持程度 | 说明 |
197
+ |---------|---------|------|
198
+ | Claude Code | 完全支持 | 所有功能可用,推荐使用 |
199
+ | Cursor | 基础支持 | 派发模式降级为主进程执行 |
200
+ | 其他 MCP 兼容助手 | 基础功能 | 支持 MCP 即可使用核心功能 |
201
+
202
+ **第一次使用**
203
+
204
+ 在对话中明确提及"工作区"或"工作台"即可触发:
205
+
206
+ ```
207
+ 你:用工作台帮我实现一个用户登录功能
208
+ ```
209
+
210
+ 或者:
211
+
212
+ ```
213
+ 你:创建一个工作区,帮我做用户登录功能
214
+ ```
215
+
216
+ AI 会自动创建工作区并开始工作。
217
+
218
+ **对话示例**
219
+
220
+ ```
221
+ 你:用工作台帮我实现一个用户登录功能
222
+
223
+ AI:好的,我来创建工作区管理这个任务。
224
+
225
+ 工作区已创建:用户登录功能
226
+ WebUI 地址:http://localhost:19540/workspace/ws-xxx
227
+
228
+ 让我先了解一下你的项目情况...
229
+ [AI 开始探索代码库]
230
+
231
+ 我看到你的项目是一个 Express + React 应用。
232
+ 我制定了以下计划:
233
+ 1. 设计登录 API 接口
234
+ 2. 实现后端认证逻辑
235
+ 3. 创建前端登录表单
236
+ 4. 添加登录状态管理
237
+
238
+ 确认开始执行吗?
239
+
240
+ 你:好
241
+
242
+ AI:开始执行第一个任务...
243
+ [逐步完成每个任务]
244
+
245
+ 所有任务已完成!
246
+ 新增文件:src/routes/auth.js, src/components/Login.tsx
247
+ 修改文件:src/App.tsx, src/store/index.ts
248
+ ```
249
+
250
+ 关键点:
251
+ - 不需要学新命令——用自然语言说任务就行
252
+ - AI 会主动创建工作区——不需要手动操作
253
+ - 计划需要你确认——AI 不会擅自开始执行
254
+ - 过程可视化——随时打开 WebUI 看进度
255
+
256
+ ### 3. 核心概念
257
+
258
+ **节点类型**
259
+
260
+ | 类型 | 用途 | 说明 |
261
+ |------|------|------|
262
+ | planning(规划) | 拆分和组织子任务 | 像文件夹,可包含多个子节点 |
263
+ | execution(执行) | 实际执行工作 | 像文件,写代码、调研、测试 |
264
+
265
+ **节点状态**
266
+
267
+ 执行节点:pending(等待) -> implementing(执行中) -> completed(完成) / failed(失败)
268
+
269
+ 规划节点:pending -> planning(规划中) -> monitoring(等待子任务) -> completed
270
+
271
+ **MEMO 草稿区**
272
+
273
+ 独立于节点树的存储区,用于存放长内容(设计文档、调研结果等)。适合跨节点复用的内容,可被多个节点引用,支持导出为独立文档。
274
+
275
+ **派发模式**
276
+
277
+ | 模式 | 特点 | 适用场景 |
278
+ |------|------|----------|
279
+ | 普通模式 | AI 直接执行 | 简单任务、强依赖上下文的任务 |
280
+ | 派发模式 | 子任务派发给独立 Agent,完成后审查 | 复杂任务、可独立执行的子任务 |
281
+
282
+ 派发模式下,每个子任务会经过执行和审查两个阶段,确保质量。
283
+
284
+ **能力包**
285
+
286
+ 根据任务场景自动推荐的功能模块:
287
+
288
+ | 能力 | 用途 |
289
+ |------|------|
290
+ | intent_alignment | 意图对齐——澄清需求,确认验收标准 |
291
+ | context_discovery | 上下文探索——扫描项目,理解架构 |
292
+ | solution_design | 方案设计——设计接口和实现路径 |
293
+ | verification_strategy | 验证策划——设计测试用例 |
294
+ | diagnosis | 问题诊断——定位 bug 根因 |
295
+ | tech_research | 技术调研——评估技术选型 |
296
+
297
+ ### 4. 使用流程
298
+
299
+ 一个任务从开始到结束会经过 5 个阶段:
300
+
301
+ **阶段一:启动任务**
302
+
303
+ 在对话中明确提及"工作区"或"工作台":
304
+
305
+ ```
306
+ 你:用工作台帮我实现搜索功能
307
+ AI:好的,我来创建工作区管理这个任务。
308
+ 工作区:搜索功能开发
309
+ WebUI:http://localhost:19540/workspace/ws-xxx
310
+ 这个任务属于哪种场景?新功能/Bug修复/性能优化/总结分析?
311
+ ```
312
+
313
+ **阶段二:信息收集/整理**
314
+
315
+ 根据你提供信息的完整度,AI 会选择:
316
+ - 信息收集:你只说了"帮我做XXX",AI 主动扫描项目、读文档
317
+ - 信息总结:你已详细描述需求,AI 整理确认
318
+
319
+ **阶段三:确认计划**
320
+
321
+ 这是最重要的检查点——AI 会在这里暂停,等你确认:
322
+
323
+ ```
324
+ AI:我制定了以下计划:
325
+ 1. 设计搜索接口
326
+ 2. 实现后端搜索逻辑
327
+ 3. 创建前端搜索组件
328
+ 4. 添加搜索防抖
329
+ 确认开始执行吗?
330
+
331
+ 你:好 / 第3个先不做 / 加一个分页功能
332
+ ```
333
+
334
+ **阶段四:执行任务**
335
+
336
+ AI 按顺序执行计划,每个任务都会:
337
+ 1. 开始前:标记任务为"进行中"
338
+ 2. 执行时:写代码、记录日志
339
+ 3. 完成后:写结论、标记为"已完成"
340
+
341
+ 可随时问"做到哪了?"查看进度。
342
+
343
+ **阶段五:完成交付**
344
+
345
+ 所有任务完成后,AI 汇报:新增/修改的文件、测试方式、完成情况总结。
346
+
347
+ ### 5. 场景指南
348
+
349
+ **场景 1:新功能开发**
350
+
351
+ 适用于实现新的功能模块。
352
+
353
+ ```
354
+ 你:用工作台帮我实现用户登录功能
355
+
356
+ 触发词:实现、开发、新增、添加
357
+ AI 行为:
358
+ 1. 扫描项目结构,理解现有架构
359
+ 2. 与你澄清需求细节
360
+ 3. 制定实现计划并确认
361
+ 4. 逐步实现,每步记录结论
362
+ ```
363
+
364
+ **场景 2:Bug 调试修复**
365
+
366
+ 适用于定位和修复问题。
367
+
368
+ ```
369
+ 你:用工作台帮我排查这个 bug:用户登录后偶尔会跳转失败
370
+
371
+ 触发词:修复、排查、调试、解决
372
+ AI 行为:
373
+ 1. 复现问题,收集信息
374
+ 2. 分析可能原因
375
+ 3. 逐个验证假设
376
+ 4. 找到根因后修复
377
+ ```
378
+
379
+ **场景 3:代码优化重构**
380
+
381
+ 适用于改进现有代码。
382
+
383
+ ```
384
+ 你:用工作台帮我重构用户模块,现在太乱了
385
+
386
+ 触发词:重构、优化、整理、清理
387
+ AI 行为:
388
+ 1. 分析当前代码问题
389
+ 2. 设计改进方案
390
+ 3. 分步重构,确保每步可回滚
391
+ 4. 验证重构后功能正常
392
+ ```
393
+
394
+ **场景 4:技术调研/文档总结**
395
+
396
+ 适用于研究和记录。
397
+
398
+ ```
399
+ 你:用工作台帮我调研 React 状态管理方案
400
+
401
+ 触发词:调研、分析、总结、对比
402
+ AI 行为:
403
+ 1. 收集各方案信息
404
+ 2. 多维度对比分析
405
+ 3. 给出推荐建议
406
+ 4. 将结论记录到 MEMO
407
+ ```
408
+
409
+ ### 6. 进阶功能
410
+
411
+ **继续之前的任务**
412
+
413
+ 关掉对话后,下次开启新对话时:
414
+
415
+ ```
416
+ 你:看看工作区的状态
417
+
418
+ AI:博客评论功能 (ws-abc123)
419
+ 整体进度:2/3 任务已完成
420
+ 任务 1:创建评论数据模型(已完成)
421
+ 任务 2:实现评论 API(已完成)
422
+ 任务 3:创建评论组件(进行中)
423
+
424
+ 你:继续任务 3
425
+
426
+ AI:好的,让我先回顾一下任务 3 的进展...
427
+ ```
428
+
429
+ 推荐流程:先查看状态 -> 确认聚焦点 -> 决定下一步。
430
+
431
+ **追加需求 / 重开任务**
432
+
433
+ ```
434
+ 你:(任务已完成)还想加一个评论点赞功能
435
+ AI:好的,在当前工作区新增任务...
436
+
437
+ 你:这个做错了,重新做一遍
438
+ AI:好的,我把这个任务重新打开...
439
+ ```
440
+
441
+ **多工作区管理**
442
+
443
+ ```
444
+ 你:我现在有几个工作区?
445
+ AI:你有 3 个工作区:
446
+ 1. 博客评论功能 - 进行中
447
+ 2. 首页性能优化 - 已完成
448
+ 3. 用户登录修复 - 已完成
449
+
450
+ 你:切换到评论功能
451
+ AI:已切换,当前进度...
452
+ ```
453
+
454
+ **工作区归档**
455
+
456
+ 完成的工作区建议归档而非删除,可供后期复盘:
457
+
458
+ ```
459
+ 你:把这个工作区归档
460
+ AI:已归档工作区:博客评论功能
461
+ ```
462
+
463
+ **导入导出**
464
+
465
+ | 操作 | 入口 | 说明 |
466
+ |------|------|------|
467
+ | 导出 | 工作区详情页 -> EXPORT 按钮 | 导出为 .twsp 文件 |
468
+ | 导入 | 设置 -> 索引管理 -> 管理 | 拖拽 .twsp 文件或目录 |
469
+
470
+ **WebUI 功能**
471
+
472
+ 访问 `http://localhost:19540` 可以:
473
+ - 任务树视图:树状展示所有节点,颜色区分状态
474
+ - 节点详情:点击节点查看需求、结论、日志
475
+ - 进度统计:各状态节点数量,完成百分比
476
+ - MEMO 查看:查看 AI 记录的备忘信息
477
+ - 实时更新:自动刷新,无需手动刷新
478
+
479
+ ### 7. 问题诊断
480
+
481
+ **常见问题**
482
+
483
+ | 问题 | 解答 |
484
+ |------|------|
485
+ | 必须用工作区吗? | 不是。简单任务可以不用,复杂任务建议用 |
486
+ | 不提"工作区"会怎样? | AI 直接执行,不创建工作区 |
487
+ | 为什么要确认计划? | 防止 AI 跑偏,看一眼只需 10 秒 |
488
+ | 任务太大怎么办? | 说"帮我拆分",AI 会分解任务 |
489
+ | AI 做错了怎么办? | 说"重新做"或"回滚" |
490
+ | 关掉对话后工作区还在吗? | 在,存储在项目 .zero-workspace/ 目录 |
491
+ | WebUI 打不开? | 运行 `zero-workspace webui restart` |
492
+
493
+ **发现问题的信号**
494
+
495
+ | 现象 | 解决方法 |
496
+ |------|----------|
497
+ | AI 直接执行不问确认 | "先展示计划让我确认" |
498
+ | 节点直接变成完成 | "请先 start 节点再执行" |
499
+ | AI 长时间没响应 | "怎么了?有什么问题吗" |
500
+ | 结论很模糊 | "这个节点的结论是什么" |
501
+ | 做了一半说完成 | "验收标准是什么?都满足了吗" |
502
+
503
+ **纠正 AI 的话术**
504
+
505
+ | 问题 | 你可以说 |
506
+ |------|----------|
507
+ | 跳过确认 | "先展示计划让我确认" |
508
+ | 没记录 | "把这个记下来" |
509
+ | 任务太大 | "这个太大了,拆分一下" |
510
+ | 做错了 | "这个不对,重新做" |
511
+ | 卡住了 | "有什么问题吗?需要我帮忙吗" |
512
+
513
+ **触发词速查**
514
+
515
+ | 意图 | 说法 |
516
+ |------|------|
517
+ | 创建工作区 | "用工作台帮我做xxx"、"创建一个工作区" |
518
+ | 恢复任务 | "看看工作区状态" |
519
+ | 查看进度 | "进度"、"做到哪了"、"状态" |
520
+ | 确认计划 | "好"、"可以"、"继续" |
521
+ | 调整计划 | "不对"、"调整一下"、"先不做" |
522
+ | 重新执行 | "重新做"、"再试一次" |
523
+
524
+ ---
525
+
526
+ ## 第二部分:技术指南
527
+
528
+ ### 8. 系统架构
529
+
530
+ **整体架构**
531
+
532
+ ZeroWorkspace 采用统一入口设计,同时提供 MCP 和 HTTP 两种访问方式:
533
+
534
+ ```
535
+ ┌─────────────────────────────────────────────────┐
536
+ │ 统一入口 (index.ts) │
537
+ ├─────────────────────────────────────────────────┤
538
+ │ ┌─────────────┐ ┌─────────────────────┐ │
539
+ │ │ MCP Server │ │ HTTP Server │ │
540
+ │ │ (stdio) │ │ ┌───────────────┐ │ │
541
+ │ └──────┬──────┘ │ │ API (/api/*) │ │ │
542
+ │ │ │ ├───────────────┤ │ │
543
+ │ │ │ │ Web UI (静态) │ │ │
544
+ │ │ │ └───────────────┘ │ │
545
+ │ │ └──────────┬──────────┘ │
546
+ │ │ │ │
547
+ │ └────────┬────────────────┘ │
548
+ │ ↓ │
549
+ │ 共享服务层 (services.ts) │
550
+ │ - WorkspaceService │
551
+ │ - NodeService │
552
+ │ - DispatchService │
553
+ │ - MemoService │
554
+ └─────────────────────────────────────────────────┘
555
+ ```
556
+
557
+ **分层设计**
558
+
559
+ | 层级 | 职责 | 主要模块 |
560
+ |------|------|----------|
561
+ | 接口层 | 对外暴露 MCP 工具和 HTTP API | mcp/, http/ |
562
+ | 服务层 | 业务逻辑实现 | services/ |
563
+ | 存储层 | 数据持久化 | storage/, FileSystemAdapter |
564
+ | 类型层 | 类型定义和状态机 | types/ |
565
+
566
+ **环境配置**
567
+
568
+ | 环境变量 | 默认值 | 说明 |
569
+ |----------|--------|------|
570
+ | HTTP_PORT | 19540 | HTTP API 端口 |
571
+ | ZERO_DEV | false | 开发模式(使用独立数据目录) |
572
+ | DISABLE_HTTP | false | 禁用 HTTP server |
573
+
574
+ **数据目录**
575
+
576
+ | 环境 | 全局索引 | 项目数据 |
577
+ |------|---------|---------|
578
+ | 正式环境 | ~/.zero-workspace/ | {project}/.zero-workspace/ |
579
+ | 开发环境 | ~/.zero-workspace-dev/ | {project}/.zero-workspace-dev/ |
580
+
581
+ ### 9. 数据模型
582
+
583
+ **存储结构**
584
+
585
+ ```
586
+ .zero-workspace/
587
+ ├── sessions.json # 会话绑定信息
588
+ └── ws-{id}/ # 工作区目录
589
+ ├── Workspace.md # 工作区元数据
590
+ ├── memos/ # MEMO 存储
591
+ └── nodes/
592
+ ├── root/
593
+ │ └── Node.md # 根节点数据
594
+ └── node-{id}/
595
+ └── Node.md # 子节点数据
596
+ ```
597
+
598
+ **工作区数据结构**
599
+
600
+ ```typescript
601
+ interface Workspace {
602
+ id: string; // 工作区 ID
603
+ name: string; // 工作区名称
604
+ goal: string; // 目标描述
605
+ status: "active" | "archived";
606
+ rules: string[]; // 规则列表
607
+ rulesHash: string; // 规则哈希(8位)
608
+ docs: DocReference[]; // 文档引用列表
609
+ focusedNodeId: string | null;// 当前聚焦节点
610
+ createdAt: number;
611
+ updatedAt: number;
612
+ }
613
+ ```
614
+
615
+ **节点数据结构**
616
+
617
+ ```typescript
618
+ interface Node {
619
+ id: string; // 节点 ID
620
+ title: string; // 节点标题
621
+ type: "planning" | "execution";
622
+ status: NodeStatus; // 节点状态
623
+ role: NodeRole | null; // 节点角色
624
+ requirement: string; // 需求描述
625
+ conclusion: string | null; // 结论
626
+ note: string; // 备注
627
+ parentId: string | null; // 父节点 ID
628
+ isolated: boolean; // 是否隔离上下文
629
+ docs: DocReference[]; // 文档引用
630
+ references: Reference[]; // 跨节点引用
631
+ }
632
+
633
+ type NodeRole = "info_collection" | "info_summary" |
634
+ "dispatch_exec" | "dispatch_spec" | "dispatch_quality";
635
+ ```
636
+
637
+ **状态机规则**
638
+
639
+ 执行节点状态流转:
640
+ ```
641
+ pending -> implementing -> completed
642
+ -> failed -> pending (reopen)
643
+ ```
644
+
645
+ 规划节点状态流转:
646
+ ```
647
+ pending -> planning -> monitoring -> completed
648
+ -> cancelled
649
+ ```
650
+
651
+ ### 10. API 参考
652
+
653
+ **工作区管理**
654
+
655
+ ```typescript
656
+ workspace_init(name, goal, scenario, rules?, docs?) // 创建工作区
657
+ workspace_get(workspaceId) // 获取详情
658
+ workspace_list(status?, cwd?) // 列出工作区
659
+ workspace_delete(workspaceId, force?) // 删除工作区
660
+ workspace_archive(workspaceId) // 归档工作区
661
+ workspace_restore(workspaceId) // 恢复归档
662
+ ```
663
+
664
+ **节点管理**
665
+
666
+ ```typescript
667
+ node_create(workspaceId, parentId, type, title, requirement, ...)
668
+ node_get(workspaceId, nodeId)
669
+ node_list(workspaceId, rootId?, depth?)
670
+ node_update(workspaceId, nodeId, title?, requirement?, note?, conclusion?)
671
+ node_delete(workspaceId, nodeId)
672
+ node_transition(workspaceId, nodeId, action, conclusion?)
673
+ ```
674
+
675
+ **上下文管理**
676
+
677
+ ```typescript
678
+ context_get(workspaceId, nodeId, includeLog?, includeProblem?)
679
+ context_focus(workspaceId, nodeId)
680
+ node_isolate(workspaceId, nodeId, isolate)
681
+ node_reference(workspaceId, nodeId, targetIdOrPath, action, description?)
682
+ ```
683
+
684
+ **派发系统**
685
+
686
+ ```typescript
687
+ dispatch_node(workspaceId, nodeId) // 升级为派发母节点
688
+ dispatch_create(workspaceId, parentId, exec, includeQuality?)
689
+ dispatch_complete(workspaceId, nodeId, success, conclusion?)
690
+ dispatch_enable(workspaceId, useGit?) // 启用派发模式
691
+ dispatch_disable(workspaceId) // 禁用派发
692
+ ```
693
+
694
+ **备忘系统**
695
+
696
+ ```typescript
697
+ memo_create(workspaceId, title, summary, content, tags)
698
+ memo_list(workspaceId, tags?)
699
+ memo_get(workspaceId, memoId)
700
+ memo_update(workspaceId, memoId, ...)
701
+ memo_delete(workspaceId, memoId)
702
+ ```
703
+
704
+ **会话管理**
705
+
706
+ ```typescript
707
+ session_bind(sessionId, workspaceId, nodeId?)
708
+ session_unbind(sessionId)
709
+ session_status(sessionId)
710
+ ```
711
+
712
+ ### 11. 扩展开发
713
+
714
+ **Hook 系统**
715
+
716
+ Hook 允许在 AI 工作流程的关键节点插入自定义逻辑:
717
+
718
+ | 事件 | 触发时机 | 用途 |
719
+ |------|---------|------|
720
+ | SessionStart | 会话启动/恢复 | 环境初始化、上下文注入 |
721
+ | UserPromptSubmit | 用户提交消息前 | 验证、上下文注入 |
722
+ | PreToolUse | 工具执行前 | 权限控制、参数修改 |
723
+ | PostToolUse | 工具执行后 | 日志记录 |
724
+ | PreCompact | Compact 操作前 | 预处理 |
725
+
726
+ 配置位置(优先级从高到低):
727
+ 1. `.claude/settings.local.json` - 项目本地
728
+ 2. `.claude/settings.json` - 项目级
729
+ 3. `~/.claude/settings.json` - 用户级
730
+
731
+ 配置示例:
732
+ ```json
733
+ {
734
+ "hooks": {
735
+ "SessionStart": [{
736
+ "matcher": "startup|clear|compact",
737
+ "hooks": [{
738
+ "type": "command",
739
+ "command": "node /path/to/hook.js SessionStart"
740
+ }]
741
+ }]
742
+ }
743
+ }
744
+ ```
745
+
746
+ **Skill 系统**
747
+
748
+ Skill 是指导 AI 执行特定任务的 SOP 文档,系统根据流程自动触发:
749
+
750
+ | 类型 | Skill | 触发场景 |
751
+ |------|-------|----------|
752
+ | 流程引导 | bootstrapping-workspace | 工作区创建后 |
753
+ | 流程引导 | dispatching-parent | 派发升级后 |
754
+ | 能力执行 | aligning-intent | 选择意图对齐能力时 |
755
+ | 能力执行 | discovering-context | 选择上下文探索能力时 |
756
+ | 能力执行 | designing-solutions | 选择方案设计能力时 |
757
+ | 派发角色 | executing-task | dispatch_exec 角色 |
758
+ | 派发角色 | reviewing-spec | dispatch_spec 角色 |
759
+
760
+ 更多 Skill 定义位于 `plugin/skills/{skill-name}/SKILL.md`。
761
+
762
+ **Subagent 系统**
763
+
764
+ Subagent 用于派发模式下的独立任务执行:
765
+
766
+ ```
767
+ plugin/subagents/
768
+ ├── zero-executor/ # 执行者
769
+ ├── zero-tester/ # 测试者
770
+ └── zero-reviewer/ # 审查者
771
+ ```
772
+
773
+ 每个 Subagent 有独立的 prompt 和工具权限定义。
774
+
775
+ ### 12. 安全与数据保护
776
+
777
+ **版本兼容性检测**
778
+
779
+ ZeroWorkspace 使用双重版本检测机制:
780
+
781
+ | 版本类型 | 用途 |
782
+ |----------|------|
783
+ | 存储版本 (Storage Version) | 数据结构迁移 |
784
+ | 代码版本 (Code Version) | 兼容性检查 |
785
+
786
+ 版本检测规则:
787
+ - 数据版本 > 代码版本:设为只读模式,禁止写入
788
+ - 数据版本 < 代码版本:允许操作,自动迁移
789
+ - 仅 patch 版本差异:允许操作
790
+
791
+ **数据完整性检测**
792
+
793
+ - 启动时自动检测所有工作区
794
+ - 检测孤立节点、循环引用等问题
795
+ - 提供 `workspace_health` API 进行详细诊断
796
+
797
+ **备份机制**
798
+
799
+ - 支持导出为 .twsp 文件
800
+ - 工作区归档保留完整历史
801
+ - 节点日志永久保存
802
+
803
+ ### 13. 开发贡献
804
+
805
+ **开发环境**
806
+
807
+ ```bash
808
+ # 一键启动(推荐)
809
+ npm run dev:all
810
+
811
+ # 分别启动
812
+ npm run start:http:dev # 后端 HTTP API (端口 19541)
813
+ cd web && npm run dev # 前端 Vite (端口 5173)
814
+
815
+ # 构建
816
+ npm run build:all # 后端 + 前端
817
+
818
+ # 测试
819
+ npm test
820
+ ```
821
+
822
+ **项目结构**
823
+
824
+ ```
825
+ src/
826
+ ├── index.ts # MCP Server 入口
827
+ ├── types/ # 类型定义
828
+ ├── storage/ # 存储层
829
+ ├── services/ # 业务逻辑层
830
+ ├── tools/ # MCP Tools 定义
831
+ ├── prompts/ # AI 指南与话术
832
+ ├── http/ # HTTP 服务器
833
+ └── utils/ # 工具函数
834
+
835
+ web/
836
+ ├── src/
837
+ │ ├── views/ # 页面组件
838
+ │ ├── components/ # 通用组件
839
+ │ ├── stores/ # Pinia 状态管理
840
+ │ └── api/ # API 客户端
841
+ ```
842
+
843
+ **数据分层**
844
+
845
+ | 数据类型 | 权威来源 | 可直接编辑 |
846
+ |---------|---------|:----------:|
847
+ | 内容数据(requirement, conclusion) | Info.md | 可以 |
848
+ | 结构数据(status, children) | graph.json | 不可以 |
849
+
850
+ ---
851
+
852
+ ## 附录
853
+
854
+ **数据存储位置**
855
+
856
+ ```
857
+ 项目目录/
858
+ └── .zero-workspace/
859
+ └── <工作区名称>_<id>/
860
+ ├── graph.json # 节点树结构
861
+ ├── Workspace.md # 工作区信息
862
+ └── nodes/
863
+ └── <节点名称>_<id>/
864
+ ├── Info.md # 节点信息
865
+ └── Log.md # 执行日志
866
+ ```
867
+
868
+ **已知局限**
869
+
870
+ - 长对话下 AI 对工作台的唤起能力可能下降
871
+ - 派发模式需要 AI 助手支持 subagent 特性
872
+ - WebUI 仅支持本机访问
873
+