dsh-plugin-dev-kb 1.3.0 → 1.5.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 (631) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.en.md +6 -6
  3. package/README.md +13 -8
  4. package/kb/INDEX.md +25 -21
  5. package/kb/README.md +6 -4
  6. package/kb/extra/AGENTS.md +14 -12
  7. package/kb/extra/agent-lifecycle.md +91 -0
  8. package/kb/extra/agent-lifecycle.zh.md +93 -0
  9. package/kb/extra/api-gateway.md +172 -0
  10. package/kb/extra/api-gateway.zh.md +178 -0
  11. package/kb/extra/architecture.md +165 -0
  12. package/kb/extra/architecture.zh.md +169 -0
  13. package/kb/extra/capability-seams.md +714 -0
  14. package/kb/extra/capability-seams.zh.md +716 -0
  15. package/kb/extra/cli-help.md +203 -0
  16. package/kb/extra/cli-help.zh.md +205 -0
  17. package/kb/extra/config-catalog.md +4801 -0
  18. package/kb/extra/config-catalog.zh.md +4803 -0
  19. package/kb/extra/cookbook/adding-a-package.md +170 -0
  20. package/kb/extra/cookbook/adding-a-package.zh.md +170 -0
  21. package/kb/extra/cookbook/adding-a-plugin-preview.md +52 -0
  22. package/kb/extra/cookbook/adding-a-plugin-preview.zh.md +52 -0
  23. package/kb/extra/cookbook/adding-a-remote-api.md +2 -2
  24. package/kb/extra/cookbook/adding-a-remote-api.zh.md +2 -2
  25. package/kb/extra/cookbook/adding-a-session-format-version.md +51 -7
  26. package/kb/extra/cookbook/adding-a-session-format-version.zh.md +51 -7
  27. package/kb/extra/cookbook/adding-a-settings-card.md +72 -0
  28. package/kb/extra/cookbook/adding-a-settings-card.zh.md +72 -0
  29. package/kb/extra/cookbook/adding-a-tool.md +101 -0
  30. package/kb/extra/cookbook/adding-a-tool.zh.md +103 -0
  31. package/kb/extra/cookbook/adding-an-llm-adapter.md +43 -0
  32. package/kb/extra/cookbook/adding-an-llm-adapter.zh.md +43 -0
  33. package/kb/extra/cookbook/extension-cookbook.md +132 -0
  34. package/kb/extra/cookbook/extension-cookbook.zh.md +136 -0
  35. package/kb/extra/cookbook/reviewing-persistence-type-changes.md +122 -0
  36. package/kb/extra/cookbook/reviewing-persistence-type-changes.zh.md +122 -0
  37. package/kb/extra/cordis-api/context.md +364 -0
  38. package/kb/extra/cordis-api/context.zh.md +366 -0
  39. package/kb/extra/cordis-api/events.md +207 -0
  40. package/kb/extra/cordis-api/events.zh.md +209 -0
  41. package/kb/extra/cordis-api/fiber.md +375 -0
  42. package/kb/extra/cordis-api/fiber.zh.md +377 -0
  43. package/kb/extra/cordis-api/inherited.md +38 -0
  44. package/kb/extra/cordis-api/registry.md +152 -0
  45. package/kb/extra/cordis-api/registry.zh.md +154 -0
  46. package/kb/extra/cordis-api/service.md +102 -0
  47. package/kb/extra/cordis-api/service.zh.md +104 -0
  48. package/kb/extra/cordis-tutorial/01-first-plugin.md +95 -0
  49. package/kb/extra/cordis-tutorial/01-first-plugin.zh.md +95 -0
  50. package/kb/extra/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  51. package/kb/extra/cordis-tutorial/02-lifecycle-and-effects.zh.md +98 -0
  52. package/kb/extra/cordis-tutorial/03-services.md +98 -0
  53. package/kb/extra/cordis-tutorial/03-services.zh.md +98 -0
  54. package/kb/extra/cordis-tutorial/04-events.md +144 -0
  55. package/kb/extra/cordis-tutorial/04-events.zh.md +144 -0
  56. package/kb/extra/cordis-tutorial/05-config.md +111 -0
  57. package/kb/extra/cordis-tutorial/05-config.zh.md +111 -0
  58. package/kb/extra/cordis-tutorial/06-composition-and-hmr.md +113 -0
  59. package/kb/extra/cordis-tutorial/06-composition-and-hmr.zh.md +113 -0
  60. package/kb/extra/cordis-tutorial/07-into-the-harness.md +108 -0
  61. package/kb/extra/cordis-tutorial/07-into-the-harness.zh.md +108 -0
  62. package/kb/extra/cordis-tutorial/index.md +60 -0
  63. package/kb/extra/cordis-tutorial/index.zh.md +62 -0
  64. package/kb/extra/deepseek-llm-api-wire-extensions.md +22 -23
  65. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +21 -22
  66. package/kb/extra/defensive-patterns/README.md +25 -0
  67. package/kb/extra/defensive-patterns/README.zh.md +27 -0
  68. package/kb/extra/defensive-patterns/client-components.md +493 -0
  69. package/kb/extra/defensive-patterns/client-components.zh.md +495 -0
  70. package/kb/extra/defensive-patterns/conversation-and-session.md +316 -0
  71. package/kb/extra/defensive-patterns/conversation-and-session.zh.md +316 -0
  72. package/kb/extra/defensive-patterns/general.md +222 -0
  73. package/kb/extra/defensive-patterns/general.zh.md +252 -0
  74. package/kb/extra/defensive-patterns/package-surface.md +231 -0
  75. package/kb/extra/defensive-patterns/package-surface.zh.md +231 -0
  76. package/kb/extra/defensive-patterns/remote-and-api.md +115 -0
  77. package/kb/extra/defensive-patterns/remote-and-api.zh.md +115 -0
  78. package/kb/extra/development.md +55 -18
  79. package/kb/extra/development.zh.md +56 -18
  80. package/kb/extra/event-producer-consumer.md +90 -68
  81. package/kb/extra/event-producer-consumer.zh.md +91 -69
  82. package/kb/extra/experimental-persistence-catalog.md +17 -0
  83. package/kb/extra/experimental-persistence-catalog.zh.md +17 -0
  84. package/kb/extra/glossary.md +2 -1
  85. package/kb/extra/glossary.zh.md +2 -1
  86. package/kb/extra/i18n/README.md +15 -7
  87. package/kb/extra/i18n/README.zh.md +15 -7
  88. package/kb/extra/i18n/style-samples.md +2 -2
  89. package/kb/extra/i18n/terminology.md +5 -4
  90. package/kb/extra/i18n/translation-prompt.md +2 -2
  91. package/kb/extra/module-graph.md +759 -432
  92. package/kb/extra/module-graph.zh.md +759 -432
  93. package/kb/extra/persistence-catalog.md +9140 -0
  94. package/kb/extra/persistence-catalog.zh.md +9142 -0
  95. package/kb/extra/persistence-changes/2026-09-11-initial.md +280 -0
  96. package/kb/extra/persistence-changes/2026-09-11-initial.zh.md +280 -0
  97. package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.md +52 -0
  98. package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +52 -0
  99. package/kb/extra/persistence-changes/2026-09-13-working-directory.md +48 -0
  100. package/kb/extra/persistence-changes/2026-09-13-working-directory.zh.md +48 -0
  101. package/kb/extra/persistence-changes/2026-09-14-image-offload.md +96 -0
  102. package/kb/extra/persistence-changes/2026-09-14-image-offload.zh.md +96 -0
  103. package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.md +48 -0
  104. package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.zh.md +48 -0
  105. package/kb/extra/persistence-changes/2026-09-16-session-format-v4.md +120 -0
  106. package/kb/extra/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
  107. package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
  108. package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
  109. package/kb/extra/persistence-changes/2026-09-19-external-subagent-catalog.md +48 -0
  110. package/kb/extra/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +48 -0
  111. package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
  112. package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
  113. package/kb/extra/persistence-changes/2026-09-21-user-question-reply.md +60 -0
  114. package/kb/extra/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
  115. package/kb/extra/persistence-changes/2026-09-30-job-session-lifecycle.md +52 -0
  116. package/kb/extra/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +52 -0
  117. package/kb/extra/persistence-changes/2026-10-05-ptc-operation-metadata.md +48 -0
  118. package/kb/extra/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +48 -0
  119. package/kb/extra/persistence-changes/2026-10-05-working-directory-attribution.md +60 -0
  120. package/kb/extra/persistence-changes/2026-10-05-working-directory-attribution.zh.md +60 -0
  121. package/kb/extra/persistence-changes/2026-10-07-title-reasoning-effort.md +48 -0
  122. package/kb/extra/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +48 -0
  123. package/kb/extra/persistence-changes/2026-10-13-deepseek-search-thinking.md +48 -0
  124. package/kb/extra/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +48 -0
  125. package/kb/extra/persistence-changes/2026-10-13-user-rpc-principal.md +60 -0
  126. package/kb/extra/persistence-changes/2026-10-13-user-rpc-principal.zh.md +60 -0
  127. package/kb/extra/persistence-changes/README.md +90 -0
  128. package/kb/extra/persistence-changes/README.zh.md +90 -0
  129. package/kb/extra/persistence-changes/historical-formats/README.md +75 -0
  130. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -0
  131. package/kb/extra/persistence-changes/historical-formats/v0.md +5105 -0
  132. package/kb/extra/persistence-changes/historical-formats/v0.zh.md +5105 -0
  133. package/kb/extra/persistence-changes/historical-formats/v1.md +5107 -0
  134. package/kb/extra/persistence-changes/historical-formats/v1.zh.md +5107 -0
  135. package/kb/extra/persistence-changes/historical-formats/v2.md +5362 -0
  136. package/kb/extra/persistence-changes/historical-formats/v2.zh.md +5362 -0
  137. package/kb/extra/persistence-changes/historical-formats/v3.md +5634 -0
  138. package/kb/extra/persistence-changes/historical-formats/v3.zh.md +5634 -0
  139. package/kb/extra/persistence-changes/releases/README.md +103 -0
  140. package/kb/extra/persistence-changes/releases/README.zh.md +103 -0
  141. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.md +201 -0
  142. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +201 -0
  143. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.md +261 -0
  144. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +261 -0
  145. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.md +126 -0
  146. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +126 -0
  147. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.md +75 -0
  148. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +75 -0
  149. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.md +75 -0
  150. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +75 -0
  151. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.md +75 -0
  152. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +75 -0
  153. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.md +75 -0
  154. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +75 -0
  155. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.md +75 -0
  156. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +75 -0
  157. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.md +75 -0
  158. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +75 -0
  159. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.md +75 -0
  160. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +75 -0
  161. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.md +82 -0
  162. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +82 -0
  163. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.md +110 -0
  164. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +110 -0
  165. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.md +82 -0
  166. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +82 -0
  167. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.md +119 -0
  168. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +119 -0
  169. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +295 -0
  170. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +295 -0
  171. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +286 -0
  172. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +286 -0
  173. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +75 -0
  174. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +75 -0
  175. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +95 -0
  176. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +95 -0
  177. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +75 -0
  178. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +75 -0
  179. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.md +75 -0
  180. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +75 -0
  181. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +154 -0
  182. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +154 -0
  183. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +86 -0
  184. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +86 -0
  185. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +139 -0
  186. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +139 -0
  187. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +95 -0
  188. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +95 -0
  189. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.md +75 -0
  190. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +75 -0
  191. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.md +75 -0
  192. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +75 -0
  193. package/kb/extra/rescope.md +1 -1
  194. package/kb/extra/rescope.zh.md +1 -1
  195. package/kb/extra/session-format-status.md +24 -8
  196. package/kb/extra/session-format-status.zh.md +24 -8
  197. package/kb/extra/subsystems/README.md +76 -0
  198. package/kb/extra/subsystems/README.zh.md +76 -0
  199. package/kb/extra/subsystems/agent-team.md +61 -37
  200. package/kb/extra/subsystems/agent-team.zh.md +61 -37
  201. package/kb/extra/subsystems/approval.md +170 -0
  202. package/kb/extra/subsystems/approval.zh.md +170 -0
  203. package/kb/extra/subsystems/attachment.md +19 -9
  204. package/kb/extra/subsystems/attachment.zh.md +19 -9
  205. package/kb/extra/subsystems/boot.md +447 -0
  206. package/kb/extra/subsystems/boot.zh.md +447 -0
  207. package/kb/extra/subsystems/browser-use.md +67 -0
  208. package/kb/extra/subsystems/browser-use.zh.md +67 -0
  209. package/kb/extra/subsystems/claude-code-mods.md +146 -0
  210. package/kb/extra/subsystems/claude-code-mods.zh.md +146 -0
  211. package/kb/extra/subsystems/client-modules.md +198 -0
  212. package/kb/extra/subsystems/client-modules.zh.md +198 -0
  213. package/kb/extra/subsystems/client-resources.md +92 -0
  214. package/kb/extra/subsystems/client-resources.zh.md +92 -0
  215. package/kb/extra/subsystems/commands.md +223 -0
  216. package/kb/extra/subsystems/commands.zh.md +223 -0
  217. package/kb/extra/subsystems/compaction.md +284 -0
  218. package/kb/extra/subsystems/compaction.zh.md +284 -0
  219. package/kb/extra/subsystems/computer-use.md +59 -0
  220. package/kb/extra/subsystems/computer-use.zh.md +59 -0
  221. package/kb/extra/subsystems/conversation.md +301 -0
  222. package/kb/extra/subsystems/conversation.zh.md +303 -0
  223. package/kb/extra/subsystems/core.md +1113 -0
  224. package/kb/extra/subsystems/core.zh.md +1125 -0
  225. package/kb/extra/subsystems/credentials.md +493 -0
  226. package/kb/extra/subsystems/credentials.zh.md +493 -0
  227. package/kb/extra/subsystems/deliverables.md +178 -0
  228. package/kb/extra/subsystems/deliverables.zh.md +178 -0
  229. package/kb/extra/subsystems/extensions.md +6 -4
  230. package/kb/extra/subsystems/extensions.zh.md +6 -4
  231. package/kb/extra/subsystems/feedback.md +4 -4
  232. package/kb/extra/subsystems/feedback.zh.md +4 -4
  233. package/kb/extra/subsystems/filesystem.md +530 -0
  234. package/kb/extra/subsystems/filesystem.zh.md +530 -0
  235. package/kb/extra/subsystems/goal.md +313 -0
  236. package/kb/extra/subsystems/goal.zh.md +313 -0
  237. package/kb/extra/subsystems/jobs.md +554 -0
  238. package/kb/extra/subsystems/jobs.zh.md +554 -0
  239. package/kb/extra/subsystems/llm-streaming.md +1196 -0
  240. package/kb/extra/subsystems/llm-streaming.zh.md +1202 -0
  241. package/kb/extra/subsystems/lsp.md +202 -0
  242. package/kb/extra/subsystems/lsp.zh.md +202 -0
  243. package/kb/extra/subsystems/mcp.md +139 -0
  244. package/kb/extra/subsystems/mcp.zh.md +139 -0
  245. package/kb/extra/subsystems/office-to-pdf.md +87 -0
  246. package/kb/extra/subsystems/office-to-pdf.zh.md +87 -0
  247. package/kb/extra/subsystems/otel.md +44 -0
  248. package/kb/extra/subsystems/otel.zh.md +44 -0
  249. package/kb/extra/subsystems/permission-presets.md +167 -0
  250. package/kb/extra/subsystems/permission-presets.zh.md +167 -0
  251. package/kb/extra/subsystems/persistence.md +418 -0
  252. package/kb/extra/subsystems/persistence.zh.md +418 -0
  253. package/kb/extra/subsystems/plan.md +87 -0
  254. package/kb/extra/subsystems/plan.zh.md +87 -0
  255. package/kb/extra/subsystems/product-telemetry.md +81 -0
  256. package/kb/extra/subsystems/product-telemetry.zh.md +81 -0
  257. package/kb/extra/subsystems/ptc-runtime.md +250 -0
  258. package/kb/extra/subsystems/ptc-runtime.zh.md +250 -0
  259. package/kb/extra/subsystems/sandbox.md +221 -0
  260. package/kb/extra/subsystems/sandbox.zh.md +221 -0
  261. package/kb/extra/subsystems/schedule.md +550 -0
  262. package/kb/extra/subsystems/schedule.zh.md +550 -0
  263. package/kb/extra/subsystems/scope.md +59 -0
  264. package/kb/extra/subsystems/scope.zh.md +61 -0
  265. package/kb/extra/subsystems/session-projection.md +356 -0
  266. package/kb/extra/subsystems/session-projection.zh.md +356 -0
  267. package/kb/extra/subsystems/session-query.md +511 -0
  268. package/kb/extra/subsystems/session-query.zh.md +511 -0
  269. package/kb/extra/subsystems/session-reference.md +224 -0
  270. package/kb/extra/subsystems/session-reference.zh.md +224 -0
  271. package/kb/extra/subsystems/session-telemetry.md +212 -0
  272. package/kb/extra/subsystems/session-telemetry.zh.md +212 -0
  273. package/kb/extra/subsystems/session-title.md +213 -0
  274. package/kb/extra/subsystems/session-title.zh.md +213 -0
  275. package/kb/extra/subsystems/session.md +1339 -0
  276. package/kb/extra/subsystems/session.zh.md +1343 -0
  277. package/kb/extra/subsystems/settings.md +155 -0
  278. package/kb/extra/subsystems/settings.zh.md +155 -0
  279. package/kb/extra/subsystems/shell.md +314 -0
  280. package/kb/extra/subsystems/shell.zh.md +314 -0
  281. package/kb/extra/subsystems/sidebar-right.md +160 -0
  282. package/kb/extra/subsystems/sidebar-right.zh.md +160 -0
  283. package/kb/extra/subsystems/skills.md +352 -0
  284. package/kb/extra/subsystems/skills.zh.md +352 -0
  285. package/kb/extra/subsystems/slots.md +200 -0
  286. package/kb/extra/subsystems/slots.zh.md +204 -0
  287. package/kb/extra/subsystems/spill.md +124 -0
  288. package/kb/extra/subsystems/spill.zh.md +124 -0
  289. package/kb/extra/subsystems/ssh.md +146 -0
  290. package/kb/extra/subsystems/ssh.zh.md +146 -0
  291. package/kb/extra/subsystems/storage.md +259 -0
  292. package/kb/extra/subsystems/storage.zh.md +259 -0
  293. package/kb/extra/subsystems/subagent.md +686 -0
  294. package/kb/extra/subsystems/subagent.zh.md +688 -0
  295. package/kb/extra/subsystems/subprocess.md +321 -0
  296. package/kb/extra/subsystems/subprocess.zh.md +321 -0
  297. package/kb/extra/subsystems/system-prompt.md +254 -0
  298. package/kb/extra/subsystems/system-prompt.zh.md +254 -0
  299. package/kb/extra/subsystems/terminal.md +184 -0
  300. package/kb/extra/subsystems/terminal.zh.md +184 -0
  301. package/kb/extra/subsystems/todo.md +3 -3
  302. package/kb/extra/subsystems/todo.zh.md +3 -3
  303. package/kb/extra/subsystems/token-meter.md +106 -0
  304. package/kb/extra/subsystems/token-meter.zh.md +106 -0
  305. package/kb/extra/subsystems/tools.md +747 -0
  306. package/kb/extra/subsystems/tools.zh.md +747 -0
  307. package/kb/extra/subsystems/translation.md +103 -0
  308. package/kb/extra/subsystems/translation.zh.md +103 -0
  309. package/kb/extra/subsystems/typert.md +690 -0
  310. package/kb/extra/subsystems/typert.zh.md +690 -0
  311. package/kb/extra/subsystems/user-questions.md +307 -0
  312. package/kb/extra/subsystems/user-questions.zh.md +307 -0
  313. package/kb/extra/subsystems/voice-input.md +164 -0
  314. package/kb/extra/subsystems/voice-input.zh.md +164 -0
  315. package/kb/extra/subsystems/web-client.md +100 -0
  316. package/kb/extra/subsystems/web-client.zh.md +100 -0
  317. package/kb/extra/subsystems/web-server.md +302 -0
  318. package/kb/extra/subsystems/web-server.zh.md +302 -0
  319. package/kb/extra/subsystems/web.md +206 -0
  320. package/kb/extra/subsystems/web.zh.md +206 -0
  321. package/kb/extra/subsystems/webhook.md +4 -4
  322. package/kb/extra/subsystems/webhook.zh.md +2 -2
  323. package/kb/extra/subsystems/workflow.md +278 -0
  324. package/kb/extra/subsystems/workflow.zh.md +278 -0
  325. package/kb/extra/subsystems/working-directory.md +64 -0
  326. package/kb/extra/subsystems/working-directory.zh.md +64 -0
  327. package/kb/extra/subsystems/workspace.md +647 -0
  328. package/kb/extra/subsystems/workspace.zh.md +647 -0
  329. package/kb/extra/subsystems/worktrees.md +76 -0
  330. package/kb/extra/subsystems/worktrees.zh.md +76 -0
  331. package/kb/extra/testing.md +4 -4
  332. package/kb/extra/testing.zh.md +4 -4
  333. package/kb/extra/tool-catalog.md +2824 -0
  334. package/kb/extra/tool-catalog.zh.md +2832 -0
  335. package/kb/extra/tool-execution-pipeline.md +65 -0
  336. package/kb/extra/tool-execution-pipeline.zh.md +67 -0
  337. package/kb/extra/ui-radius.md +117 -0
  338. package/kb/extra/ui-radius.zh.md +117 -0
  339. package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
  340. package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
  341. package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
  342. package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
  343. package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
  344. package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
  345. package/kb/extra/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +18 -0
  346. package/kb/extra/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +18 -0
  347. package/kb/extra/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +18 -0
  348. package/kb/extra/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +18 -0
  349. package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
  350. package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
  351. package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
  352. package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
  353. package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
  354. package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
  355. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +17 -0
  356. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +17 -0
  357. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +18 -0
  358. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +18 -0
  359. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +28 -0
  360. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +28 -0
  361. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +20 -0
  362. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +20 -0
  363. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +18 -0
  364. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +18 -0
  365. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +18 -0
  366. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +18 -0
  367. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +17 -0
  368. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +17 -0
  369. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +31 -0
  370. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +31 -0
  371. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +20 -0
  372. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +20 -0
  373. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +20 -0
  374. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +20 -0
  375. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +18 -0
  376. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +18 -0
  377. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -0
  378. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -0
  379. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +18 -0
  380. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +18 -0
  381. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +20 -0
  382. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +20 -0
  383. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +19 -0
  384. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +19 -0
  385. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +59 -0
  386. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +59 -0
  387. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +21 -0
  388. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +21 -0
  389. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +21 -0
  390. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +21 -0
  391. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +18 -0
  392. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +18 -0
  393. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +21 -0
  394. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +21 -0
  395. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +36 -0
  396. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +36 -0
  397. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +25 -0
  398. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +25 -0
  399. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +18 -0
  400. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +18 -0
  401. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +27 -0
  402. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +27 -0
  403. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +18 -0
  404. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +18 -0
  405. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +20 -0
  406. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +20 -0
  407. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +18 -0
  408. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +18 -0
  409. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +19 -0
  410. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +19 -0
  411. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +17 -0
  412. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +17 -0
  413. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +20 -0
  414. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +20 -0
  415. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +32 -0
  416. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +32 -0
  417. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +25 -0
  418. package/kb/extra/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +25 -0
  419. package/kb/extra/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +21 -0
  420. package/kb/extra/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +21 -0
  421. package/kb/extra/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +18 -0
  422. package/kb/extra/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +18 -0
  423. package/kb/extra/web-styling.md +12 -3
  424. package/kb/extra/web-styling.zh.md +12 -3
  425. package/kb/meta/search-index.json +2690 -404
  426. package/kb/meta/site-pages.txt +188 -188
  427. package/kb/meta/source.json +7 -6
  428. package/kb/meta/topics.md +10 -6
  429. package/kb/site/develop/basic/config.md +1 -0
  430. package/kb/site/develop/basic/index.md +1 -0
  431. package/kb/site/develop/basic/publish.md +12 -3
  432. package/kb/site/develop/basic/tool.md +1 -0
  433. package/kb/site/develop/cordis-tutorial/01-first-plugin.md +1 -0
  434. package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
  435. package/kb/site/develop/cordis-tutorial/03-services.md +1 -0
  436. package/kb/site/develop/cordis-tutorial/04-events.md +1 -0
  437. package/kb/site/develop/cordis-tutorial/05-config.md +28 -0
  438. package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
  439. package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +1 -0
  440. package/kb/site/develop/cordis-tutorial/index.md +1 -0
  441. package/kb/site/develop/framework/events.md +1 -0
  442. package/kb/site/develop/framework/index.md +2 -1
  443. package/kb/site/develop/framework/service.md +1 -0
  444. package/kb/site/develop/practice/dynamic-cordis.md +9 -8
  445. package/kb/site/develop/practice/index.md +1 -0
  446. package/kb/site/develop/practice/llm-adapter.md +2 -1
  447. package/kb/site/en/develop/basic/config.md +1 -0
  448. package/kb/site/en/develop/basic/index.md +1 -0
  449. package/kb/site/en/develop/basic/publish.md +12 -3
  450. package/kb/site/en/develop/basic/tool.md +1 -0
  451. package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +1 -0
  452. package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
  453. package/kb/site/en/develop/cordis-tutorial/03-services.md +1 -0
  454. package/kb/site/en/develop/cordis-tutorial/04-events.md +1 -0
  455. package/kb/site/en/develop/cordis-tutorial/05-config.md +28 -0
  456. package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
  457. package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +1 -0
  458. package/kb/site/en/develop/cordis-tutorial/index.md +1 -0
  459. package/kb/site/en/develop/framework/events.md +1 -0
  460. package/kb/site/en/develop/framework/index.md +2 -1
  461. package/kb/site/en/develop/framework/service.md +1 -0
  462. package/kb/site/en/develop/practice/dynamic-cordis.md +9 -8
  463. package/kb/site/en/develop/practice/index.md +1 -0
  464. package/kb/site/en/develop/practice/llm-adapter.md +2 -1
  465. package/kb/site/en/guide/github-review.md +8 -10
  466. package/kb/site/en/guide/mcp-memory.md +1 -0
  467. package/kb/site/en/guide/network-proxy.md +2 -1
  468. package/kb/site/en/guide/plugin-market.md +151 -0
  469. package/kb/site/en/guide/providers-custom-form.png +0 -0
  470. package/kb/site/en/guide/providers-models-page.png +0 -0
  471. package/kb/site/en/guide/providers.md +121 -83
  472. package/kb/site/en/guide/public-deployments.md +40 -0
  473. package/kb/site/en/guide/python-sdk.md +49 -29
  474. package/kb/site/en/guide/quickstart.md +2 -0
  475. package/kb/site/en/guide/schedule.md +70 -11
  476. package/kb/site/en/reference/agent-lifecycle.md +1 -0
  477. package/kb/site/en/reference/api-gateway.md +22 -13
  478. package/kb/site/en/reference/capability-seams.md +242 -77
  479. package/kb/site/en/reference/config-catalog.md +2102 -904
  480. package/kb/site/en/reference/cookbook/adding-a-package.md +57 -3
  481. package/kb/site/en/reference/cookbook/adding-a-settings-card.md +35 -64
  482. package/kb/site/en/reference/cookbook/adding-a-tool.md +4 -3
  483. package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
  484. package/kb/site/en/reference/cookbook/extension-cookbook.md +6 -5
  485. package/kb/site/en/reference/cordis-api/context.md +1 -0
  486. package/kb/site/en/reference/cordis-api/events.md +1 -0
  487. package/kb/site/en/reference/cordis-api/fiber.md +4 -3
  488. package/kb/site/en/reference/cordis-api/inherited.md +16 -16
  489. package/kb/site/en/reference/cordis-api/registry.md +1 -0
  490. package/kb/site/en/reference/cordis-api/service.md +1 -0
  491. package/kb/site/en/reference/cordis-primer.md +1 -0
  492. package/kb/site/en/reference/experimental-persistence-catalog.md +20 -0
  493. package/kb/site/en/reference/index.md +27 -21
  494. package/kb/site/en/reference/persistence-catalog.md +8055 -62
  495. package/kb/site/en/reference/subsystems/approval.md +2 -1
  496. package/kb/site/en/reference/subsystems/client-modules.md +37 -15
  497. package/kb/site/en/reference/subsystems/client-resources.md +3 -1
  498. package/kb/site/en/reference/subsystems/commands.md +6 -1
  499. package/kb/site/en/reference/subsystems/compaction.md +50 -3
  500. package/kb/site/en/reference/subsystems/conversation.md +50 -6
  501. package/kb/site/en/reference/subsystems/core.md +100 -258
  502. package/kb/site/en/reference/subsystems/credentials.md +178 -13
  503. package/kb/site/en/reference/subsystems/filesystem.md +11 -0
  504. package/kb/site/en/reference/subsystems/goal.md +2 -1
  505. package/kb/site/en/reference/subsystems/index.md +20 -6
  506. package/kb/site/en/reference/subsystems/jobs.md +397 -132
  507. package/kb/site/en/reference/subsystems/llm-streaming.md +157 -50
  508. package/kb/site/en/reference/subsystems/lsp.md +1 -0
  509. package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
  510. package/kb/site/en/reference/subsystems/persistence.md +6 -3
  511. package/kb/site/en/reference/subsystems/plan.md +3 -2
  512. package/kb/site/en/reference/subsystems/ptc-runtime.md +254 -0
  513. package/kb/site/en/reference/subsystems/sandbox.md +7 -5
  514. package/kb/site/en/reference/subsystems/schedule.md +392 -33
  515. package/kb/site/en/reference/subsystems/scope.md +2 -1
  516. package/kb/site/en/reference/subsystems/session-projection.md +22 -19
  517. package/kb/site/en/reference/subsystems/session-query.md +3 -0
  518. package/kb/site/en/reference/subsystems/session-reference.md +8 -6
  519. package/kb/site/en/reference/subsystems/session-telemetry.md +7 -4
  520. package/kb/site/en/reference/subsystems/session-title.md +20 -10
  521. package/kb/site/en/reference/subsystems/session.md +254 -91
  522. package/kb/site/en/reference/subsystems/settings.md +43 -292
  523. package/kb/site/en/reference/subsystems/shell.md +37 -28
  524. package/kb/site/en/reference/subsystems/sidebar-right.md +25 -12
  525. package/kb/site/en/reference/subsystems/skills.md +5 -6
  526. package/kb/site/en/reference/subsystems/slots.md +88 -70
  527. package/kb/site/en/reference/subsystems/spill.md +4 -3
  528. package/kb/site/en/reference/subsystems/storage.md +2 -2
  529. package/kb/site/en/reference/subsystems/subagent.md +207 -293
  530. package/kb/site/en/reference/subsystems/subprocess.md +17 -18
  531. package/kb/site/en/reference/subsystems/system-prompt.md +36 -3
  532. package/kb/site/en/reference/subsystems/terminal.md +1 -0
  533. package/kb/site/en/reference/subsystems/token-meter.md +1 -0
  534. package/kb/site/en/reference/subsystems/tools.md +42 -14
  535. package/kb/site/en/reference/subsystems/typert.md +362 -14
  536. package/kb/site/en/reference/subsystems/user-questions.md +131 -1
  537. package/kb/site/en/reference/subsystems/web-client.md +15 -9
  538. package/kb/site/en/reference/subsystems/web-server.md +157 -8
  539. package/kb/site/en/reference/subsystems/web.md +3 -2
  540. package/kb/site/en/reference/subsystems/workflow.md +10 -9
  541. package/kb/site/en/reference/subsystems/workspace.md +290 -42
  542. package/kb/site/en/reference/tool-catalog.md +908 -352
  543. package/kb/site/en/reference/tool-execution-pipeline.md +7 -3
  544. package/kb/site/guide/github-review.md +8 -10
  545. package/kb/site/guide/mcp-memory.md +1 -0
  546. package/kb/site/guide/network-proxy.md +2 -1
  547. package/kb/site/guide/plugin-market.md +151 -0
  548. package/kb/site/guide/providers-custom-form.zh.png +0 -0
  549. package/kb/site/guide/providers-models-page.zh.png +0 -0
  550. package/kb/site/guide/providers.md +132 -94
  551. package/kb/site/guide/public-deployments.md +40 -0
  552. package/kb/site/guide/python-sdk.md +49 -29
  553. package/kb/site/guide/quickstart.md +2 -0
  554. package/kb/site/guide/schedule.md +70 -11
  555. package/kb/site/reference/agent-lifecycle.md +1 -0
  556. package/kb/site/reference/api-gateway.md +28 -13
  557. package/kb/site/reference/capability-seams.md +242 -77
  558. package/kb/site/reference/config-catalog.md +2105 -906
  559. package/kb/site/reference/cookbook/adding-a-package.md +55 -3
  560. package/kb/site/reference/cookbook/adding-a-settings-card.md +35 -64
  561. package/kb/site/reference/cookbook/adding-a-tool.md +4 -3
  562. package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
  563. package/kb/site/reference/cookbook/extension-cookbook.md +6 -5
  564. package/kb/site/reference/cordis-api/context.md +1 -0
  565. package/kb/site/reference/cordis-api/events.md +1 -0
  566. package/kb/site/reference/cordis-api/fiber.md +4 -3
  567. package/kb/site/reference/cordis-api/inherited.md +16 -16
  568. package/kb/site/reference/cordis-api/registry.md +1 -0
  569. package/kb/site/reference/cordis-api/service.md +1 -0
  570. package/kb/site/reference/cordis-primer.md +1 -0
  571. package/kb/site/reference/experimental-persistence-catalog.md +20 -0
  572. package/kb/site/reference/index.md +27 -21
  573. package/kb/site/reference/persistence-catalog.md +8061 -68
  574. package/kb/site/reference/subsystems/approval.md +2 -1
  575. package/kb/site/reference/subsystems/client-modules.md +37 -15
  576. package/kb/site/reference/subsystems/client-resources.md +3 -1
  577. package/kb/site/reference/subsystems/commands.md +6 -1
  578. package/kb/site/reference/subsystems/compaction.md +50 -3
  579. package/kb/site/reference/subsystems/conversation.md +51 -5
  580. package/kb/site/reference/subsystems/core.md +102 -258
  581. package/kb/site/reference/subsystems/credentials.md +178 -13
  582. package/kb/site/reference/subsystems/filesystem.md +11 -0
  583. package/kb/site/reference/subsystems/goal.md +2 -1
  584. package/kb/site/reference/subsystems/index.md +20 -6
  585. package/kb/site/reference/subsystems/jobs.md +396 -131
  586. package/kb/site/reference/subsystems/llm-streaming.md +157 -50
  587. package/kb/site/reference/subsystems/lsp.md +1 -0
  588. package/kb/site/reference/subsystems/permission-presets.md +66 -29
  589. package/kb/site/reference/subsystems/persistence.md +6 -3
  590. package/kb/site/reference/subsystems/plan.md +3 -2
  591. package/kb/site/reference/subsystems/ptc-runtime.md +254 -0
  592. package/kb/site/reference/subsystems/sandbox.md +7 -5
  593. package/kb/site/reference/subsystems/schedule.md +392 -33
  594. package/kb/site/reference/subsystems/scope.md +4 -1
  595. package/kb/site/reference/subsystems/session-projection.md +22 -19
  596. package/kb/site/reference/subsystems/session-query.md +3 -0
  597. package/kb/site/reference/subsystems/session-reference.md +8 -6
  598. package/kb/site/reference/subsystems/session-telemetry.md +7 -4
  599. package/kb/site/reference/subsystems/session-title.md +20 -10
  600. package/kb/site/reference/subsystems/session.md +254 -91
  601. package/kb/site/reference/subsystems/settings.md +43 -292
  602. package/kb/site/reference/subsystems/shell.md +37 -28
  603. package/kb/site/reference/subsystems/sidebar-right.md +25 -12
  604. package/kb/site/reference/subsystems/skills.md +5 -6
  605. package/kb/site/reference/subsystems/slots.md +92 -70
  606. package/kb/site/reference/subsystems/spill.md +3 -2
  607. package/kb/site/reference/subsystems/storage.md +2 -2
  608. package/kb/site/reference/subsystems/subagent.md +208 -296
  609. package/kb/site/reference/subsystems/subprocess.md +17 -18
  610. package/kb/site/reference/subsystems/system-prompt.md +36 -3
  611. package/kb/site/reference/subsystems/terminal.md +1 -0
  612. package/kb/site/reference/subsystems/token-meter.md +1 -0
  613. package/kb/site/reference/subsystems/tools.md +42 -14
  614. package/kb/site/reference/subsystems/typert.md +362 -14
  615. package/kb/site/reference/subsystems/user-questions.md +132 -2
  616. package/kb/site/reference/subsystems/web-client.md +15 -9
  617. package/kb/site/reference/subsystems/web-server.md +157 -8
  618. package/kb/site/reference/subsystems/web.md +3 -2
  619. package/kb/site/reference/subsystems/workflow.md +10 -9
  620. package/kb/site/reference/subsystems/workspace.md +290 -42
  621. package/kb/site/reference/tool-catalog.md +862 -306
  622. package/kb/site/reference/tool-execution-pipeline.md +7 -3
  623. package/package.json +2 -2
  624. package/skills/dsh-dev-sandbox.md +67 -0
  625. package/skills/dsh-plugin-dev-kb.md +5 -4
  626. package/kb/extra/defensive-patterns.md +0 -33
  627. package/kb/extra/defensive-patterns.zh.md +0 -35
  628. package/kb/site/en/reference/subsystems/code-runtime.md +0 -198
  629. package/kb/site/en/reference/subsystems/invariants.md +0 -91
  630. package/kb/site/reference/subsystems/code-runtime.md +0 -198
  631. package/kb/site/reference/subsystems/invariants.md +0 -91
@@ -0,0 +1,76 @@
1
+ # Git Worktrees
2
+
3
+ English | [中文](worktrees.zh.md)
4
+
5
+ The experimental [`dsh-experimental-worktree`](../../packages/experimental/worktree/README.md) service provides `ctx.worktrees`. Its [`create_worktree`](../../packages/experimental/tool-worktree/README.md) consumer creates a new Git branch and checkout, then selects it through the [working-directory service](working-directory.md). The [Git Worktrees optional bundle](../../packages/experimental/tool-worktree/README.md#use-this-package) loads both packages through the GUI plugin manager. It ships switched off; explicit compositions can also mount the two packages.
6
+
7
+ ## Creation and retention
8
+
9
+ The calling Session's current directory selects the source repository. Creation pins the requested local commit, branch, or tag before allocating the checkout; omission selects `HEAD`. Each name must identify a new branch and an unused checkout path. The operation neither fetches missing objects nor copies staged, unstaged, untracked, or ignored files from the source checkout.
10
+
11
+ The default destination is `<current checkout root>/.agents/worktrees/<name>`. `repositoryRoot` is the top-level directory of the caller’s current checkout; a linked checkout therefore contains its own pool. The service writes a `.gitignore` containing `*` and a trailing newline only when its allocation creates the configured pool directory. Existing files and ignore rules are preserved. The calling Session’s existing sandbox policy must permit writes to the destination and shared Git administration directory. Successful Git setup precedes the working-directory change.
12
+
13
+ Leaving through `working_directory({ cd: path })` retains the checkout and branch. Cancellation or failure can also retain partial artifacts; the error identifies their location. The service aborts and drains pending operations on disposal. The [package README](../../packages/experimental/worktree/README.md) owns configuration and Git requirements.
14
+
15
+ ## Request and result
16
+
17
+ The request selects only the new name and local revision. The result identifies the created checkout and exact commit; it does not change the Session's original project or write permissions.
18
+
19
+ ```ts type-equiv
20
+ /** A new checkout from a locally available Git commit, branch, or tag. */
21
+ interface CreateWorktreeRequest {
22
+ /** New branch name, also used as the relative checkout directory; omission generates a name. */
23
+ name?: string
24
+ /** Local revision to resolve before creation; omission selects HEAD. */
25
+ from?: string
26
+ }
27
+ ```
28
+
29
+ ```ts type-equiv
30
+ /** Committed Git baseline and the calling Session's resulting working directory. */
31
+ interface CreatedWorktree {
32
+ /** Canonical absolute checkout directory in the filesystem provider's execution world. */
33
+ path: string
34
+ /** Newly created branch name. */
35
+ branch: string
36
+ /** Resolved commit object name; repository-local replacement refs can change its checked-out content. */
37
+ baseCommit: string
38
+ /** Canonical root of the source checkout. */
39
+ repositoryRoot: string
40
+ }
41
+ ```
42
+
43
+ <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
44
+
45
+ <a id="cordis-surface"></a>
46
+
47
+ ## Cordis API
48
+
49
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
50
+
51
+ <a id="ctxworktrees--worktreeservice"></a>
52
+
53
+ ### `ctx.worktrees` — `WorktreeService`
54
+
55
+ Creates retained Git worktrees under the mounted filesystem and sandbox providers.
56
+
57
+ ```ts cordis-catalog
58
+ /**
59
+ * Create a fresh branch and checkout at a pinned local revision, then enter it.
60
+ * Existing branches or checkout paths fail. Uncommitted files stay in the source checkout.
61
+ * Checkout disables configured clean, smudge, and process filters without changing Git config.
62
+ * Repository-local replacement refs still apply; baseCommit reports the resolved object name.
63
+ * The new checkout becomes current only after Git setup succeeds. Failures may retain newly
64
+ * allocated Git/filesystem artifacts; no branch or checkout is removed automatically.
65
+ * @param agent - caller whose current directory selects the source repository and file policy.
66
+ * @param request - optional new name and local revision; defaults are generated name and HEAD.
67
+ * @param signal - cancellation of lookup, creation, and working-directory publication.
68
+ * @returns canonical checkout path, branch name, pinned commit, and source repository root.
69
+ */
70
+ async create(agent: Agent, request: CreateWorktreeRequest = {}, signal?: AbortSignal): Promise<CreatedWorktree>
71
+ ```
72
+
73
+ Types: [Agent](core.md)
74
+
75
+ Source: [`packages/experimental/worktree/src/index.ts`](../../packages/experimental/worktree/src/index.ts)
76
+ <!-- END GENERATED cordis-surface -->
@@ -0,0 +1,76 @@
1
+ # Git 工作树
2
+
3
+ [English](worktrees.md) | 中文
4
+
5
+ 实验性的 [`dsh-experimental-worktree`](../../packages/experimental/worktree/README.zh.md) 服务提供 `ctx.worktrees`。其消费方 [`create_worktree`](../../packages/experimental/tool-worktree/README.zh.md) 创建新的 Git 分支与检出目录,再通过[工作目录服务](working-directory.zh.md)选中它。[Git 工作树可选 bundle](../../packages/experimental/tool-worktree/README.zh.md#use-this-package)通过 GUI 插件管理器一起加载这两个包。它随安装提供,但默认关闭;显式组合也可以挂载这两个包。
6
+
7
+ ## 创建与保留
8
+
9
+ 调用方 Session 的当前目录决定源仓库。创建操作在分配检出目录前,将请求的本地提交、分支或标签固定为具体提交;省略时选择 `HEAD`。每个名称必须对应新分支与未使用的检出路径。操作既不获取缺失对象,也不复制源检出目录中的暂存、未暂存、未跟踪或被忽略文件。
10
+
11
+ 默认目标为 `<current checkout root>/.agents/worktrees/<name>`。`repositoryRoot` 是调用方当前检出目录的顶层目录;因此,链接检出目录会在自身内部保存工作树父目录。仅当服务的分配操作创建了配置指定的父目录时,服务才会写入内容为 `*` 加换行符的 `.gitignore`。已有文件与忽略规则保持不变。调用方 Session 的现有沙箱策略必须允许写入目标目录与共享 Git 管理目录。Git 初始化成功后才改变工作目录。
12
+
13
+ 通过 `working_directory({ cd: path })` 离开时,会保留检出目录与分支。取消或失败也可能留下部分产物;错误会指出它们的位置。服务销毁时会中止待完成操作并等待它们结束。[包 README](../../packages/experimental/worktree/README.zh.md)拥有配置与 Git 要求。
14
+
15
+ ## 请求与结果
16
+
17
+ 请求只选择新名称与本地版本。结果标识创建的检出目录与确切提交;它不会改变 Session 的原始项目或写权限。
18
+
19
+ ```ts type-equiv
20
+ /** A new checkout from a locally available Git commit, branch, or tag. */
21
+ interface CreateWorktreeRequest {
22
+ /** New branch name, also used as the relative checkout directory; omission generates a name. */
23
+ name?: string
24
+ /** Local revision to resolve before creation; omission selects HEAD. */
25
+ from?: string
26
+ }
27
+ ```
28
+
29
+ ```ts type-equiv
30
+ /** Committed Git baseline and the calling Session's resulting working directory. */
31
+ interface CreatedWorktree {
32
+ /** Canonical absolute checkout directory in the filesystem provider's execution world. */
33
+ path: string
34
+ /** Newly created branch name. */
35
+ branch: string
36
+ /** Resolved commit object name; repository-local replacement refs can change its checked-out content. */
37
+ baseCommit: string
38
+ /** Canonical root of the source checkout. */
39
+ repositoryRoot: string
40
+ }
41
+ ```
42
+
43
+ <!-- BEGIN GENERATED cordis-surface (gen-cordis-catalog.ts) — do not edit between markers -->
44
+
45
+ <a id="cordis-surface"></a>
46
+
47
+ ## Cordis API
48
+
49
+ Generated from source by `scripts/gen-cordis-catalog.ts` (verified fresh by `pnpm run verify-cordis-catalog` in doc-sync; regenerate with `pnpm run gen-cordis-catalog`) — the language sides differ only in locale-specific paired document paths. Signature blocks use a `ts cordis-catalog` fence and keep the original source JSDoc; dispatch modes are defined in the [primer](../cordis-primer.zh.md#dispatch-modes), and the framework-inherited `ctx` API lives in [cordis-api/inherited.md](../cordis-api/inherited.md).
50
+
51
+ <a id="ctxworktrees--worktreeservice"></a>
52
+
53
+ ### `ctx.worktrees` — `WorktreeService`
54
+
55
+ Creates retained Git worktrees under the mounted filesystem and sandbox providers.
56
+
57
+ ```ts cordis-catalog
58
+ /**
59
+ * Create a fresh branch and checkout at a pinned local revision, then enter it.
60
+ * Existing branches or checkout paths fail. Uncommitted files stay in the source checkout.
61
+ * Checkout disables configured clean, smudge, and process filters without changing Git config.
62
+ * Repository-local replacement refs still apply; baseCommit reports the resolved object name.
63
+ * The new checkout becomes current only after Git setup succeeds. Failures may retain newly
64
+ * allocated Git/filesystem artifacts; no branch or checkout is removed automatically.
65
+ * @param agent - caller whose current directory selects the source repository and file policy.
66
+ * @param request - optional new name and local revision; defaults are generated name and HEAD.
67
+ * @param signal - cancellation of lookup, creation, and working-directory publication.
68
+ * @returns canonical checkout path, branch name, pinned commit, and source repository root.
69
+ */
70
+ async create(agent: Agent, request: CreateWorktreeRequest = {}, signal?: AbortSignal): Promise<CreatedWorktree>
71
+ ```
72
+
73
+ Types: [Agent](core.zh.md)
74
+
75
+ Source: [`packages/experimental/worktree/src/index.ts`](../../packages/experimental/worktree/src/index.ts)
76
+ <!-- END GENERATED cordis-surface -->
@@ -12,13 +12,13 @@ How this repo tests, tier by tier, and the rules that keep a green suite meaning
12
12
  - **Owner-local expected output** (`pnpm run test:expected`): keyless assembled CLI/process expectations without a recorded-session round trip. Drivers use `*.expected.e2e.ts` beside `tests/expected/`; CI runs built exports. Package/script expectations use `test`, while browser expectations use `test:web`.
13
13
  - **Performance benchmarks** (`pnpm run test:bench`; required Linux PR gate `node 24 / benchmarks`): `benchmarks/` groups user-path gates. It builds libraries and workers; timed code runs under plain Node, never TSX. Synthetic inputs enforce time, heap, and scaling budgets; package-local `.perf.ts` stays diagnostic ([rules](../.agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.md)).
14
14
  - **Snapshot** (`pnpm run test:snapshot`): a top-level scenario's highest recorded parent generation supplies user input and model replay, then serves as the expected persisted result. Parent filenames are `session[.vN].jsonl`; child roles are `session.<ordinal>[.vN].jsonl`; v0 omits `.v0`, positive versions require lowercase `.vN`, and each filename must agree with its header. Process scenarios start through `dsh`: headless owns one-shot behavior, the SDK owns persistent control, ACP owns automation-protocol behavior, and Web retains browser/ARIA evidence beside the same Session. `snapshot.yml` declares the profile, composition/header class, recording policy, exceptional replay or input metadata, and workspace facts. Typed tokens preserve parent/child identity relationships; only header pins own prompt/schema sidecars. A mutating scenario independently compares the complete `workspace.expected/` tree, which record and refresh never rewrite. Use `test:snapshot:record` when a model transcript changes and `test:snapshot:refresh` when replay input remains valid; review every resulting diff.
15
- - **Web browser snapshot** (`pnpm run test:web`; required Linux PR gate): Chromium compares session-driven output under `snapshots/web/` and UI-only output under `apps/web/tests/expected/`. CI forces read-only `DSH_SNAPSHOT=replay`, never writing expected outputs; record/refresh stay local and every diff is reviewed ([web e2e lane](../.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.md), [CI gate decision](../.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.md)). `test:web` builds first for plugin CSS.
15
+ - **Web browser snapshot** (`pnpm run test:web`; required Linux PR gate): The command builds plugin CSS, then compares all session-driven `snapshots/web/` and UI-only `apps/web/tests/expected/` output in Chromium; the model/reasoning picker also runs in WebKit. CI enforces read-only `DSH_SNAPSHOT=replay`; record/refresh stay local, with every diff reviewed ([web lane](../.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.md), [CI reference](../scripts/run-web-snapshots.ts)).
16
16
 
17
17
  Session fixtures retain headers and payloads but omit body sequence/time envelopes; replay synthesizes them. Replay, record, and refresh select each parent/child role's highest generation. Current fixtures use the [writer format](session-format-status.md) in their filenames and headers, one row per event, and embedded compact Assistant streams. Historical fixtures retain their released representation; explicit `sessionFormat` owners preserve migration coverage. Follow the [format-version cookbook](cookbook/adding-a-session-format-version.md#snapshot-successors) to add successors without changing predecessors.
18
18
 
19
19
  ## How specs execute
20
20
 
21
- Forked workers run several spec files at once, the coverage gate splits into concurrent partitions beside the other gates in its job, and the self-hosted runners share one host and one volume. Only the process is isolated: ports, predictable paths, external namespaces, and inherited children are not. Own each acquired resource through its teardown, and read a spec that passes only when it runs alone as a defect in the spec rather than an unstable runner. [dsh-ci-test-reliability](../.agents/skills/dsh-ci-test-reliability/SKILL.md) owns the allocation, restoration, synchronization, timeout-budget, platform, and teardown rules; its [flake diagnosis workflow](../.agents/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md) classifies an existing probabilistic failure.
21
+ Forked workers run several spec files at once, the coverage gate splits into [concurrent partitions](../scripts/coverage-partitions.ts) beside the other gates in its job, and the self-hosted runners share one host and one volume. Only the process is isolated: ports, predictable paths, external namespaces, and inherited children are not. Own each acquired resource through teardown. A spec passing only alone has a test defect, not an unstable runner. [dsh-ci-test-reliability](../.agents/skills/dsh-ci-test-reliability/SKILL.md) owns the allocation, restoration, synchronization, timeout-budget, platform, and teardown rules; its [flake diagnosis workflow](../.agents/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md) classifies an existing probabilistic failure. [Unexpected fork exits](../scripts/coverage-fork-diagnostics.ts) report PID, file, code, and signal.
22
22
 
23
23
  ## The with-key policy: inference is cheap here
24
24
 
@@ -38,7 +38,7 @@ An e2e assertion re-runs the command or re-reads the file externally; a keyword
38
38
 
39
39
  - Product-visible plugins require a non-unit REAL-composition test. Hand-built `ctx.plugin(...)` suites are insufficient: boot test-only `cordis.yml` through Loader and app/process, mock only external services or nondeterministic inputs, and assert model-visible request/log, durable state, or user-visible output. Keep opt-ins out of shipped defaults.
40
40
  - A guard only guards if the regression fails it. For a plugin without `inject` (bundle/composition plugins), a Loader smoke stays green when a default export replaces the required named exports — add an explicit `expect('default' in mod).toBe(false)` plus an `unwrapExports` round-trip assertion, and prove it: introduce the regression, watch red, revert.
41
- - "Real entry path" means the published artifact: a package `bin` runs built `lib/bin.js` under plain `node`, exposing failures tsx masks (settle races, module resolution, swallowed load failures). The same applies to non-index runtime entries (the worker-thread sibling `lib/worker.cjs`) and singleton modules shared across bundles (`packages/sdk/server/tests/built-scope-carrier.e2e.ts`). Keep the built-artifact smokes green (`packages/examples/*/tests/built-bin.e2e.ts`, `packages/code-runtime/code-runtime-worker-thread/tests/built-lib.e2e.ts`), and assert a genuinely-missing config exits non-zero.
41
+ - "Real entry path" means the published artifact: a package `bin` runs built `lib/bin.js` under plain `node`, exposing failures tsx masks (settle races, module resolution, swallowed load failures). The same applies to non-index runtime entries (the Node program bootstrap `lib/process.js`) and singleton modules shared across bundles (`packages/sdk/server/tests/built-scope-carrier.e2e.ts`). Keep the built-artifact smokes green (`packages/examples/*/tests/built-bin.e2e.ts`, `packages/ptc-runtime/ptc-runtime-node/tests/built-lib.e2e.ts`), and assert a genuinely-missing config exits non-zero.
42
42
 
43
43
  ## Test resolution: source plane only
44
44
 
@@ -52,4 +52,4 @@ An e2e assertion re-runs the command or re-reads the file externally; a keyword
52
52
 
53
53
  ## When a snapshot test is required
54
54
 
55
- Every non-trivial model-, protocol-, or human-visible change adds or updates a keyless recorded-session scenario in the same PR; package, e2e, mock-only, and rationale evidence does not replace the assembled transcript. Headless, SDK, ACP, and Web recordings live under `snapshots/session/`, `snapshots/sdk/`, `snapshots/acp/`, and `snapshots/web/`; a Web rendering may explicitly borrow another scenario's canonical session. Expected output that is not driven by a recorded session stays with its owning app, package, or script under `tests/expected/` and does not use the `*.snapshot.ts` suffix. [`dsh-session-snapshot`](../packages/test-support/session-snapshot/README.md) owns the shared storage rules and profile adapters. Agent-loop, session-lifecycle, and `SessionEventMap` changes update both SDK projections: `snapshots/sdk/` owns TypeScript, while [Python-runtime CI](../.agents/notes/implemented/process/2026-09-06-master-only-platform-ci.md) owns `scripts/snapshots/python-sdk-single-exe/`. New capability seams and lifecycle or transcript variants name every required tier at plan time.
55
+ Every non-trivial model-, protocol-, or human-visible change adds or updates a keyless recorded-session scenario in the same PR; package, e2e, mock-only, and rationale evidence does not replace the assembled transcript. Headless, SDK, ACP, and Web recordings live under `snapshots/session/`, `snapshots/sdk/`, `snapshots/acp/`, and `snapshots/web/`; a Web rendering may explicitly borrow another scenario's canonical session. Expected output that is not driven by a recorded session stays with its owning app, package, or script under `tests/expected/` and does not use the `*.snapshot.ts` suffix. [`dsh-session-snapshot`](../packages/test-support/session-snapshot/README.md) owns the shared storage rules and profile adapters. Agent-loop, session-lifecycle, and `SessionEventMap` changes update both SDK projections: `snapshots/sdk/` owns TypeScript, while [Python-runtime CI](../.github/workflows/ci-master.yml) owns `scripts/snapshots/python-sdk-single-exe/`. New capability seams and lifecycle or transcript variants name every required tier at plan time.
@@ -12,13 +12,13 @@
12
12
  - **所属位置的预期输出**(`pnpm run test:expected`):无录制会话往返的无密钥组装 CLI/进程预期。驱动使用 `*.expected.e2e.ts`,并与 `tests/expected/` 同属一处;CI 针对构建产物运行。包/脚本预期使用 `test`,浏览器预期使用 `test:web`。
13
13
  - **性能基准**(`pnpm run test:bench`;必需的 Linux PR gate `node 24 / benchmarks`):`benchmarks/` 按用户路径组织门禁。它先构建 library 和 worker;被计时代码在纯 Node 下运行,不使用 TSX。合成输入执行耗时、堆和缩放预算;包内 `.perf.ts` 保留为诊断([规则](../.agents/notes/implemented/testing/2026-09-04-session-open-performance-gate.zh.md))。
14
14
  - **快照**(`pnpm run test:snapshot`):顶层场景数值最高的已录制 parent generation 同时提供用户输入和模型回放,并作为持久化结果的预期值。parent 文件名是 `session[.vN].jsonl`;child 角色使用 `session.<ordinal>[.vN].jsonl`;v0 省略 `.v0`,正版本必须使用小写 `.vN`,且每个文件名必须与其 header 一致。进程级场景都通过 `dsh` 启动:headless 负责一次性行为,SDK 负责持久控制,ACP 负责自动化协议行为,Web 在同一 Session 旁保留浏览器与 ARIA 证据。`snapshot.yml` 声明 profile、组合与请求头类别、录制策略、例外回放或输入元数据以及 workspace 事实。带类型的 token 保留父子身份关系;只有请求头 pin 拥有 prompt/schema sidecar。变更 workspace 的场景会独立比较完整的 `workspace.expected/` 目录,record 与 refresh 绝不改写该目录。当模型 transcript(文本记录)变化时使用 `test:snapshot:record`,回放输入仍有效时使用 `test:snapshot:refresh`;请审查所有结果差异。
15
- - **Web 浏览器快照**(`pnpm run test:web`;必需的 Linux PR(Pull Request)门禁):Chromium 比较 `snapshots/web/` 下由会话驱动的输出,以及 `apps/web/tests/expected/` 下仅含 UI 的输出。CI 强制只读的 `DSH_SNAPSHOT=replay`,绝不写入预期输出;record/refresh 留在本地,每处 diff 都须评审([web e2e 车道](../.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md)、[CI 门禁决策](../.agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.zh.md))。`test:web` 会先构建以交付插件 CSS。
15
+ - **Web 浏览器快照**(`pnpm run test:web`;必需的 Linux PR(Pull Request)门禁):命令先构建插件 CSS,再用 Chromium 比较 `snapshots/web/` 下全部会话驱动输出和 `apps/web/tests/expected/` 下全部纯 UI 输出;模型与推理强度选择场景还在 WebKit 中运行。CI 强制只读的 `DSH_SNAPSHOT=replay`;record/refresh 留在本地,每处 diff 都须评审([web 车道](../.agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md)、[CI 说明](../scripts/run-web-snapshots.ts))。
16
16
 
17
17
  Session fixture 保留 header 与 payload,但省略正文 seq/time envelope;replay 会合成这些 envelope。Replay、record 与 refresh 会选择每个 parent/child 角色的最高 generation。当前 fixture 在文件名与 header 中使用[写入格式](session-format-status.zh.md),每个事件一行,并嵌入紧凑 Assistant stream。历史 fixture 保留其已发布表示;显式 `sessionFormat` 所有者保留迁移覆盖。按照[格式版本实操手册](cookbook/adding-a-session-format-version.zh.md#snapshot-successors)添加后继代际,不改动前代。
18
18
 
19
19
  ## spec 如何被执行
20
20
 
21
- fork 出的 worker 会同时运行多个 spec 文件,coverage gate 会拆成并发的 partition,与同一个 job 中的其它 gate 并排运行,而自托管 runner 共用同一台宿主机和同一个卷。被隔离的只有进程:端口、可预测路径、外部命名空间和继承而来的子进程都不隔离。为每个占用的资源负责到它的 teardown,并把「只有单独运行时才通过」的 spec 读作该 spec 的缺陷,而不是 runner 不稳定。[dsh-ci-test-reliability](../.agents/skills/dsh-ci-test-reliability/SKILL.md) 负责资源分配、状态恢复、同步、超时预算、平台差异与 teardown 规则;它的 [flake 诊断流程](../.agents/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md)用于归类已经存在的概率性失败。
21
+ fork 出的 worker 会同时运行多个 spec 文件,coverage gate 会拆成[并发的 partition](../scripts/coverage-partitions.ts),与同一个 job 中的其它 gate 并排运行,而自托管 runner 共用同一台宿主机和同一个卷。被隔离的只有进程:端口、可预测路径、外部命名空间和继承而来的子进程都不隔离。为每个占用的资源负责到 teardown。只在单独运行时通过的 spec 存在测试缺陷,而非 runner 不稳定。[dsh-ci-test-reliability](../.agents/skills/dsh-ci-test-reliability/SKILL.md) 负责资源分配、状态恢复、同步、超时预算、平台差异与 teardown 规则;它的 [flake 诊断流程](../.agents/skills/dsh-ci-test-reliability/references/ci-flake-diagnosis.md)用于归类已经存在的概率性失败。 [fork 意外退出](../scripts/coverage-fork-diagnostics.ts)时会报告 PID、文件、退出码和信号。
22
22
 
23
23
  ## 带密钥策略:推理(inference)在这里很便宜
24
24
 
@@ -38,7 +38,7 @@ e2e 断言应重新运行命令或从外部重新读取文件;对 agent 自身
38
38
 
39
39
  - 产品可见的插件必须有一个非单元的真实组合测试。手动构建的 `ctx.plugin(...)` 套件不够:通过 Loader 和 app/process 启动仅用于测试的 `cordis.yml`,只 mock 外部服务或非确定性输入,断言模型可见的请求/日志、持久状态或用户可见输出。不要把 opt-in 选项混入交付默认值。
40
40
  - 一个守卫只有在回归能让它失败时才有效。对于没有 `inject` 的插件(bundle/组合插件),Loader 冒烟测试在默认导出替换必需的具名导出时仍然绿着——需要添加显式的 `expect('default' in mod).toBe(false)` 加 `unwrapExports` 往返断言,并证明它有效:引入回归、观察变红、回退。
41
- - 「真实入口路径」指已发布的产物:包的 `bin` 所运行的是构建后的 `lib/bin.js`,并由普通 `node` 执行,从而暴露 tsx 会掩盖的失败(结算竞态、模块解析、被吞掉的加载失败)。同样的规则适用于非 index 运行时入口(worker-thread 的同级文件 `lib/worker.cjs`),也适用于多个 bundle 共享的单例模块(`packages/sdk/server/tests/built-scope-carrier.e2e.ts`)。保持构建产物冒烟测试绿色(`packages/examples/*/tests/built-bin.e2e.ts`、`packages/code-runtime/code-runtime-worker-thread/tests/built-lib.e2e.ts`),并断言真正缺失的配置以非零状态退出。
41
+ - 「真实入口路径」指已发布的产物:包的 `bin` 所运行的是构建后的 `lib/bin.js`,并由普通 `node` 执行,从而暴露 tsx 会掩盖的失败(结算竞态、模块解析、被吞掉的加载失败)。同样的规则适用于非 index 运行时入口(Node 程序 bootstrap `lib/process.js`),也适用于多个 bundle 共享的单例模块(`packages/sdk/server/tests/built-scope-carrier.e2e.ts`)。保持构建产物冒烟测试绿色(`packages/examples/*/tests/built-bin.e2e.ts`、`packages/ptc-runtime/ptc-runtime-node/tests/built-lib.e2e.ts`),并断言真正缺失的配置以非零状态退出。
42
42
 
43
43
  ## 测试解析:仅限源码
44
44
 
@@ -52,4 +52,4 @@ e2e 断言应重新运行命令或从外部重新读取文件;对 agent 自身
52
52
 
53
53
  ## 何时需要快照测试
54
54
 
55
- 每项非平凡的模型可见、协议可见或人类可见变更,都在同一 PR 中添加或更新无密钥录制会话场景;包级、e2e、仅 mock 和 PR 理由证据不能取代组装后的 transcript。Headless、SDK、ACP 和 Web 录制分别位于 `snapshots/session/`、`snapshots/sdk/`、`snapshots/acp/` 和 `snapshots/web/`;Web 渲染可以显式借用另一个场景的规范会话。不由录制会话驱动的预期输出保留在所属应用、包或脚本的 `tests/expected/` 下,并且不使用 `*.snapshot.ts` 后缀。[`dsh-session-snapshot`](../packages/test-support/session-snapshot/README.zh.md) 拥有共享存储规则和 profile 适配器。Agent loop、会话生命周期和 `SessionEventMap` 变更应更新两个 SDK 投影:`snapshots/sdk/` 拥有 TypeScript,[Python 运行时 CI](../.agents/notes/implemented/process/2026-09-06-master-only-platform-ci.zh.md) 拥有 `scripts/snapshots/python-sdk-single-exe/`。新增 capability seam、生命周期或 transcript 变体应在计划阶段列出每个必需层级。
55
+ 每项非平凡的模型可见、协议可见或人类可见变更,都在同一 PR 中添加或更新无密钥录制会话场景;包级、e2e、仅 mock 和 PR 理由证据不能取代组装后的 transcript。Headless、SDK、ACP 和 Web 录制分别位于 `snapshots/session/`、`snapshots/sdk/`、`snapshots/acp/` 和 `snapshots/web/`;Web 渲染可以显式借用另一个场景的规范会话。不由录制会话驱动的预期输出保留在所属应用、包或脚本的 `tests/expected/` 下,并且不使用 `*.snapshot.ts` 后缀。[`dsh-session-snapshot`](../packages/test-support/session-snapshot/README.zh.md) 拥有共享存储规则和 profile 适配器。Agent loop、会话生命周期和 `SessionEventMap` 变更应更新两个 SDK 投影:`snapshots/sdk/` 拥有 TypeScript,[Python 运行时 CI](../.github/workflows/ci-master.yml) 拥有 `scripts/snapshots/python-sdk-single-exe/`。新增 capability seam、生命周期或 transcript 变体应在计划阶段列出每个必需层级。