dsh-plugin-dev-kb 1.1.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.en.md +14 -8
  3. package/README.md +15 -9
  4. package/docs/banner.svg +25 -0
  5. package/kb/INDEX.md +23 -19
  6. package/kb/README.md +8 -6
  7. package/kb/extra/AGENTS.md +11 -10
  8. package/kb/extra/cookbook/adding-a-remote-api.md +2 -2
  9. package/kb/extra/cookbook/adding-a-remote-api.zh.md +2 -2
  10. package/kb/extra/cookbook/adding-a-session-format-version.md +151 -0
  11. package/kb/extra/cookbook/adding-a-session-format-version.zh.md +151 -0
  12. package/kb/extra/cookbook/adding-a-vendored-package.md +1 -1
  13. package/kb/extra/cookbook/adding-a-vendored-package.zh.md +1 -1
  14. package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +1 -1
  15. package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
  16. package/kb/extra/cookbook/reviewing-persistence-type-changes.md +120 -0
  17. package/kb/extra/cookbook/reviewing-persistence-type-changes.zh.md +120 -0
  18. package/kb/extra/deepseek-llm-api-wire-extensions.md +19 -20
  19. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +18 -19
  20. package/kb/extra/development.md +37 -10
  21. package/kb/extra/development.zh.md +37 -10
  22. package/kb/extra/event-producer-consumer.md +90 -67
  23. package/kb/extra/event-producer-consumer.zh.md +91 -68
  24. package/kb/extra/glossary.md +1 -1
  25. package/kb/extra/glossary.zh.md +1 -1
  26. package/kb/extra/i18n/README.md +16 -7
  27. package/kb/extra/i18n/README.zh.md +17 -8
  28. package/kb/extra/i18n/terminology.md +4 -4
  29. package/kb/extra/i18n/translation-prompt.md +3 -3
  30. package/kb/extra/module-graph.md +621 -335
  31. package/kb/extra/module-graph.zh.md +621 -335
  32. package/kb/extra/persistence-changes/2026-09-11-initial.md +280 -0
  33. package/kb/extra/persistence-changes/2026-09-11-initial.zh.md +280 -0
  34. package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.md +52 -0
  35. package/kb/extra/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +52 -0
  36. package/kb/extra/persistence-changes/2026-09-14-image-offload.md +96 -0
  37. package/kb/extra/persistence-changes/2026-09-14-image-offload.zh.md +96 -0
  38. package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.md +48 -0
  39. package/kb/extra/persistence-changes/2026-09-14-workspace-changes-event.zh.md +48 -0
  40. package/kb/extra/persistence-changes/2026-09-16-session-format-v4.md +120 -0
  41. package/kb/extra/persistence-changes/2026-09-16-session-format-v4.zh.md +120 -0
  42. package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.md +48 -0
  43. package/kb/extra/persistence-changes/2026-09-18-schedule-optional-title.zh.md +48 -0
  44. package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.md +48 -0
  45. package/kb/extra/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +48 -0
  46. package/kb/extra/persistence-changes/2026-09-21-user-question-reply.md +60 -0
  47. package/kb/extra/persistence-changes/2026-09-21-user-question-reply.zh.md +60 -0
  48. package/kb/extra/persistence-changes/README.md +88 -0
  49. package/kb/extra/persistence-changes/README.zh.md +88 -0
  50. package/kb/extra/persistence-changes/historical-formats/README.md +75 -0
  51. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -0
  52. package/kb/extra/persistence-changes/historical-formats/v0.md +5105 -0
  53. package/kb/extra/persistence-changes/historical-formats/v0.zh.md +5105 -0
  54. package/kb/extra/persistence-changes/historical-formats/v1.md +5107 -0
  55. package/kb/extra/persistence-changes/historical-formats/v1.zh.md +5107 -0
  56. package/kb/extra/persistence-changes/historical-formats/v2.md +5362 -0
  57. package/kb/extra/persistence-changes/historical-formats/v2.zh.md +5362 -0
  58. package/kb/extra/persistence-changes/historical-formats/v3.md +5634 -0
  59. package/kb/extra/persistence-changes/historical-formats/v3.zh.md +5634 -0
  60. package/kb/extra/persistence-changes/releases/README.md +103 -0
  61. package/kb/extra/persistence-changes/releases/README.zh.md +103 -0
  62. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.md +201 -0
  63. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +201 -0
  64. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.md +261 -0
  65. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +261 -0
  66. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.md +126 -0
  67. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +126 -0
  68. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.md +75 -0
  69. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +75 -0
  70. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.md +75 -0
  71. package/kb/extra/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +75 -0
  72. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.md +75 -0
  73. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +75 -0
  74. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.md +75 -0
  75. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +75 -0
  76. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.md +75 -0
  77. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +75 -0
  78. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.md +75 -0
  79. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +75 -0
  80. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.md +75 -0
  81. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +75 -0
  82. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.md +82 -0
  83. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +82 -0
  84. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.md +110 -0
  85. package/kb/extra/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +110 -0
  86. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.md +82 -0
  87. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +82 -0
  88. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.md +119 -0
  89. package/kb/extra/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +119 -0
  90. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +295 -0
  91. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +295 -0
  92. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +286 -0
  93. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +286 -0
  94. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +75 -0
  95. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +75 -0
  96. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +95 -0
  97. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +95 -0
  98. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +75 -0
  99. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +75 -0
  100. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.md +75 -0
  101. package/kb/extra/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +75 -0
  102. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +154 -0
  103. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +154 -0
  104. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +86 -0
  105. package/kb/extra/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +86 -0
  106. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +139 -0
  107. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +139 -0
  108. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +95 -0
  109. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +95 -0
  110. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.md +75 -0
  111. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +75 -0
  112. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.md +75 -0
  113. package/kb/extra/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +75 -0
  114. package/kb/extra/rescope.md +2 -2
  115. package/kb/extra/rescope.zh.md +2 -2
  116. package/kb/extra/session-format-status.md +63 -0
  117. package/kb/extra/session-format-status.zh.md +63 -0
  118. package/kb/extra/subsystems/agent-team.md +52 -28
  119. package/kb/extra/subsystems/agent-team.zh.md +52 -28
  120. package/kb/extra/subsystems/attachment.md +19 -9
  121. package/kb/extra/subsystems/attachment.zh.md +19 -9
  122. package/kb/extra/subsystems/boot.md +323 -0
  123. package/kb/extra/subsystems/boot.zh.md +323 -0
  124. package/kb/extra/subsystems/browser-use.md +67 -0
  125. package/kb/extra/subsystems/browser-use.zh.md +67 -0
  126. package/kb/extra/subsystems/claude-code-mods.md +146 -0
  127. package/kb/extra/subsystems/claude-code-mods.zh.md +146 -0
  128. package/kb/extra/subsystems/computer-use.md +56 -0
  129. package/kb/extra/subsystems/computer-use.zh.md +56 -0
  130. package/kb/extra/subsystems/deliverables.md +178 -0
  131. package/kb/extra/subsystems/deliverables.zh.md +178 -0
  132. package/kb/extra/subsystems/extensions.md +6 -4
  133. package/kb/extra/subsystems/extensions.zh.md +6 -4
  134. package/kb/extra/subsystems/feedback.md +165 -31
  135. package/kb/extra/subsystems/feedback.zh.md +165 -31
  136. package/kb/extra/subsystems/mcp.md +139 -0
  137. package/kb/extra/subsystems/mcp.zh.md +139 -0
  138. package/kb/extra/subsystems/office-to-pdf.md +87 -0
  139. package/kb/extra/subsystems/office-to-pdf.zh.md +87 -0
  140. package/kb/extra/subsystems/otel.md +44 -0
  141. package/kb/extra/subsystems/otel.zh.md +44 -0
  142. package/kb/extra/subsystems/product-telemetry.md +79 -0
  143. package/kb/extra/subsystems/product-telemetry.zh.md +79 -0
  144. package/kb/extra/subsystems/ssh.md +135 -0
  145. package/kb/extra/subsystems/ssh.zh.md +135 -0
  146. package/kb/extra/subsystems/todo.md +3 -3
  147. package/kb/extra/subsystems/todo.zh.md +3 -3
  148. package/kb/extra/subsystems/voice-input.md +164 -0
  149. package/kb/extra/subsystems/voice-input.zh.md +164 -0
  150. package/kb/extra/subsystems/webhook.md +3 -3
  151. package/kb/extra/subsystems/webhook.zh.md +1 -1
  152. package/kb/extra/testing.md +5 -4
  153. package/kb/extra/testing.zh.md +5 -4
  154. package/kb/extra/ui-radius.md +115 -0
  155. package/kb/extra/ui-radius.zh.md +115 -0
  156. package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +22 -0
  157. package/kb/extra/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +22 -0
  158. package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +25 -0
  159. package/kb/extra/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +25 -0
  160. package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +18 -0
  161. package/kb/extra/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +18 -0
  162. package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +23 -0
  163. package/kb/extra/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +23 -0
  164. package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +22 -0
  165. package/kb/extra/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +22 -0
  166. package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +27 -0
  167. package/kb/extra/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +27 -0
  168. package/kb/extra/web-styling.md +12 -2
  169. package/kb/extra/web-styling.zh.md +12 -2
  170. package/kb/meta/search-index.json +1019 -251
  171. package/kb/meta/site-pages.txt +187 -183
  172. package/kb/meta/source.json +8 -8
  173. package/kb/meta/topics.md +11 -7
  174. package/kb/site/develop/basic/config.md +1 -0
  175. package/kb/site/develop/basic/index.md +1 -0
  176. package/kb/site/develop/basic/publish.md +10 -3
  177. package/kb/site/develop/basic/tool.md +1 -0
  178. package/kb/site/develop/cordis-tutorial/01-first-plugin.md +1 -0
  179. package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
  180. package/kb/site/develop/cordis-tutorial/03-services.md +1 -0
  181. package/kb/site/develop/cordis-tutorial/04-events.md +1 -0
  182. package/kb/site/develop/cordis-tutorial/05-config.md +28 -0
  183. package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
  184. package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +1 -0
  185. package/kb/site/develop/cordis-tutorial/index.md +1 -0
  186. package/kb/site/develop/framework/events.md +1 -0
  187. package/kb/site/develop/framework/index.md +2 -1
  188. package/kb/site/develop/framework/service.md +1 -0
  189. package/kb/site/develop/practice/dynamic-cordis.md +9 -8
  190. package/kb/site/develop/practice/index.md +1 -0
  191. package/kb/site/develop/practice/llm-adapter.md +2 -1
  192. package/kb/site/en/develop/basic/config.md +1 -0
  193. package/kb/site/en/develop/basic/index.md +1 -0
  194. package/kb/site/en/develop/basic/publish.md +10 -3
  195. package/kb/site/en/develop/basic/tool.md +1 -0
  196. package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +1 -0
  197. package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +1 -0
  198. package/kb/site/en/develop/cordis-tutorial/03-services.md +1 -0
  199. package/kb/site/en/develop/cordis-tutorial/04-events.md +1 -0
  200. package/kb/site/en/develop/cordis-tutorial/05-config.md +28 -0
  201. package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +3 -2
  202. package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +1 -0
  203. package/kb/site/en/develop/cordis-tutorial/index.md +1 -0
  204. package/kb/site/en/develop/framework/events.md +1 -0
  205. package/kb/site/en/develop/framework/index.md +2 -1
  206. package/kb/site/en/develop/framework/service.md +1 -0
  207. package/kb/site/en/develop/practice/dynamic-cordis.md +9 -8
  208. package/kb/site/en/develop/practice/index.md +1 -0
  209. package/kb/site/en/develop/practice/llm-adapter.md +2 -1
  210. package/kb/site/en/guide/github-review.md +1 -0
  211. package/kb/site/en/guide/mcp-memory.md +1 -0
  212. package/kb/site/en/guide/network-proxy.md +2 -1
  213. package/kb/site/en/guide/providers-custom-form.png +0 -0
  214. package/kb/site/en/guide/providers-models-page.png +0 -0
  215. package/kb/site/en/guide/providers.md +98 -83
  216. package/kb/site/en/guide/public-deployments.md +36 -0
  217. package/kb/site/en/guide/python-sdk.md +60 -23
  218. package/kb/site/en/guide/quickstart.md +2 -0
  219. package/kb/site/en/guide/schedule.md +70 -11
  220. package/kb/site/en/reference/agent-lifecycle.md +13 -5
  221. package/kb/site/en/reference/api-gateway.md +13 -11
  222. package/kb/site/en/reference/capability-seams.md +187 -62
  223. package/kb/site/en/reference/config-catalog.md +1887 -819
  224. package/kb/site/en/reference/cookbook/adding-a-package.md +57 -3
  225. package/kb/site/en/reference/cookbook/adding-a-settings-card.md +35 -64
  226. package/kb/site/en/reference/cookbook/adding-a-tool.md +5 -4
  227. package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -0
  228. package/kb/site/en/reference/cookbook/extension-cookbook.md +7 -6
  229. package/kb/site/en/reference/cordis-api/context.md +1 -0
  230. package/kb/site/en/reference/cordis-api/events.md +1 -0
  231. package/kb/site/en/reference/cordis-api/fiber.md +4 -3
  232. package/kb/site/en/reference/cordis-api/inherited.md +16 -16
  233. package/kb/site/en/reference/cordis-api/registry.md +1 -0
  234. package/kb/site/en/reference/cordis-api/service.md +1 -0
  235. package/kb/site/en/reference/cordis-primer.md +1 -0
  236. package/kb/site/en/reference/index.md +32 -15
  237. package/kb/site/en/reference/persistence-catalog.md +7787 -81
  238. package/kb/site/en/reference/subsystems/approval.md +3 -2
  239. package/kb/site/en/reference/subsystems/client-modules.md +30 -13
  240. package/kb/site/en/reference/subsystems/client-resources.md +96 -0
  241. package/kb/site/en/reference/subsystems/commands.md +6 -1
  242. package/kb/site/en/reference/subsystems/compaction.md +50 -3
  243. package/kb/site/en/reference/subsystems/conversation.md +36 -6
  244. package/kb/site/en/reference/subsystems/core.md +174 -271
  245. package/kb/site/en/reference/subsystems/credentials.md +169 -5
  246. package/kb/site/en/reference/subsystems/filesystem.md +26 -0
  247. package/kb/site/en/reference/subsystems/goal.md +39 -2
  248. package/kb/site/en/reference/subsystems/index.md +18 -5
  249. package/kb/site/en/reference/subsystems/jobs.md +337 -127
  250. package/kb/site/en/reference/subsystems/llm-streaming.md +93 -43
  251. package/kb/site/en/reference/subsystems/lsp.md +2 -1
  252. package/kb/site/en/reference/subsystems/permission-presets.md +66 -29
  253. package/kb/site/en/reference/subsystems/persistence.md +40 -18
  254. package/kb/site/en/reference/subsystems/plan.md +2 -1
  255. package/kb/site/en/reference/subsystems/ptc-runtime.md +236 -0
  256. package/kb/site/en/reference/subsystems/sandbox.md +7 -5
  257. package/kb/site/en/reference/subsystems/schedule.md +392 -33
  258. package/kb/site/en/reference/subsystems/scope.md +2 -1
  259. package/kb/site/en/reference/subsystems/session-projection.md +22 -19
  260. package/kb/site/en/reference/subsystems/session-query.md +1 -0
  261. package/kb/site/en/reference/subsystems/session-reference.md +12 -6
  262. package/kb/site/en/reference/subsystems/session-telemetry.md +27 -8
  263. package/kb/site/en/reference/subsystems/session-title.md +6 -5
  264. package/kb/site/en/reference/subsystems/session.md +258 -118
  265. package/kb/site/en/reference/subsystems/settings.md +43 -292
  266. package/kb/site/en/reference/subsystems/shell.md +44 -32
  267. package/kb/site/en/reference/subsystems/sidebar-right.md +162 -0
  268. package/kb/site/en/reference/subsystems/skills.md +5 -6
  269. package/kb/site/en/reference/subsystems/slots.md +68 -39
  270. package/kb/site/en/reference/subsystems/spill.md +15 -7
  271. package/kb/site/en/reference/subsystems/storage.md +2 -2
  272. package/kb/site/en/reference/subsystems/subagent.md +65 -72
  273. package/kb/site/en/reference/subsystems/subprocess.md +42 -44
  274. package/kb/site/en/reference/subsystems/system-prompt.md +7 -2
  275. package/kb/site/en/reference/subsystems/terminal.md +1 -0
  276. package/kb/site/en/reference/subsystems/token-meter.md +3 -1
  277. package/kb/site/en/reference/subsystems/tools.md +44 -16
  278. package/kb/site/en/reference/subsystems/typert.md +153 -10
  279. package/kb/site/en/reference/subsystems/user-questions.md +131 -1
  280. package/kb/site/en/reference/subsystems/web-client.md +15 -9
  281. package/kb/site/en/reference/subsystems/web-server.md +74 -1
  282. package/kb/site/en/reference/subsystems/web.md +1 -0
  283. package/kb/site/en/reference/subsystems/workflow.md +10 -9
  284. package/kb/site/en/reference/subsystems/workspace.md +343 -4
  285. package/kb/site/en/reference/tool-catalog.md +806 -311
  286. package/kb/site/en/reference/tool-execution-pipeline.md +9 -5
  287. package/kb/site/guide/github-review.md +1 -0
  288. package/kb/site/guide/mcp-memory.md +1 -0
  289. package/kb/site/guide/network-proxy.md +2 -1
  290. package/kb/site/guide/providers-custom-form.zh.png +0 -0
  291. package/kb/site/guide/providers-models-page.zh.png +0 -0
  292. package/kb/site/guide/providers.md +109 -94
  293. package/kb/site/guide/public-deployments.md +36 -0
  294. package/kb/site/guide/python-sdk.md +60 -23
  295. package/kb/site/guide/quickstart.md +2 -0
  296. package/kb/site/guide/schedule.md +70 -11
  297. package/kb/site/reference/agent-lifecycle.md +13 -5
  298. package/kb/site/reference/api-gateway.md +13 -11
  299. package/kb/site/reference/capability-seams.md +187 -62
  300. package/kb/site/reference/config-catalog.md +1889 -820
  301. package/kb/site/reference/cookbook/adding-a-package.md +55 -3
  302. package/kb/site/reference/cookbook/adding-a-settings-card.md +35 -64
  303. package/kb/site/reference/cookbook/adding-a-tool.md +5 -4
  304. package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -0
  305. package/kb/site/reference/cookbook/extension-cookbook.md +7 -6
  306. package/kb/site/reference/cordis-api/context.md +1 -0
  307. package/kb/site/reference/cordis-api/events.md +1 -0
  308. package/kb/site/reference/cordis-api/fiber.md +4 -3
  309. package/kb/site/reference/cordis-api/inherited.md +16 -16
  310. package/kb/site/reference/cordis-api/registry.md +1 -0
  311. package/kb/site/reference/cordis-api/service.md +1 -0
  312. package/kb/site/reference/cordis-primer.md +1 -0
  313. package/kb/site/reference/index.md +32 -15
  314. package/kb/site/reference/persistence-catalog.md +7791 -85
  315. package/kb/site/reference/subsystems/approval.md +3 -2
  316. package/kb/site/reference/subsystems/client-modules.md +30 -13
  317. package/kb/site/reference/subsystems/client-resources.md +96 -0
  318. package/kb/site/reference/subsystems/commands.md +6 -1
  319. package/kb/site/reference/subsystems/compaction.md +50 -3
  320. package/kb/site/reference/subsystems/conversation.md +35 -5
  321. package/kb/site/reference/subsystems/core.md +174 -271
  322. package/kb/site/reference/subsystems/credentials.md +169 -5
  323. package/kb/site/reference/subsystems/filesystem.md +26 -0
  324. package/kb/site/reference/subsystems/goal.md +39 -2
  325. package/kb/site/reference/subsystems/index.md +28 -15
  326. package/kb/site/reference/subsystems/jobs.md +336 -126
  327. package/kb/site/reference/subsystems/llm-streaming.md +93 -43
  328. package/kb/site/reference/subsystems/lsp.md +2 -1
  329. package/kb/site/reference/subsystems/permission-presets.md +66 -29
  330. package/kb/site/reference/subsystems/persistence.md +40 -18
  331. package/kb/site/reference/subsystems/plan.md +2 -1
  332. package/kb/site/reference/subsystems/ptc-runtime.md +236 -0
  333. package/kb/site/reference/subsystems/sandbox.md +7 -5
  334. package/kb/site/reference/subsystems/schedule.md +392 -33
  335. package/kb/site/reference/subsystems/scope.md +2 -1
  336. package/kb/site/reference/subsystems/session-projection.md +22 -19
  337. package/kb/site/reference/subsystems/session-query.md +1 -0
  338. package/kb/site/reference/subsystems/session-reference.md +12 -6
  339. package/kb/site/reference/subsystems/session-telemetry.md +27 -8
  340. package/kb/site/reference/subsystems/session-title.md +6 -5
  341. package/kb/site/reference/subsystems/session.md +258 -118
  342. package/kb/site/reference/subsystems/settings.md +43 -292
  343. package/kb/site/reference/subsystems/shell.md +44 -32
  344. package/kb/site/reference/subsystems/sidebar-right.md +162 -0
  345. package/kb/site/reference/subsystems/skills.md +5 -6
  346. package/kb/site/reference/subsystems/slots.md +68 -39
  347. package/kb/site/reference/subsystems/spill.md +15 -7
  348. package/kb/site/reference/subsystems/storage.md +2 -2
  349. package/kb/site/reference/subsystems/subagent.md +64 -71
  350. package/kb/site/reference/subsystems/subprocess.md +42 -44
  351. package/kb/site/reference/subsystems/system-prompt.md +7 -2
  352. package/kb/site/reference/subsystems/terminal.md +1 -0
  353. package/kb/site/reference/subsystems/token-meter.md +3 -1
  354. package/kb/site/reference/subsystems/tools.md +44 -16
  355. package/kb/site/reference/subsystems/typert.md +153 -10
  356. package/kb/site/reference/subsystems/user-questions.md +132 -2
  357. package/kb/site/reference/subsystems/web-client.md +15 -9
  358. package/kb/site/reference/subsystems/web-server.md +74 -1
  359. package/kb/site/reference/subsystems/web.md +1 -0
  360. package/kb/site/reference/subsystems/workflow.md +10 -9
  361. package/kb/site/reference/subsystems/workspace.md +343 -4
  362. package/kb/site/reference/tool-catalog.md +810 -315
  363. package/kb/site/reference/tool-execution-pipeline.md +9 -5
  364. package/lib/index.js +25 -44
  365. package/package.json +3 -2
  366. package/skills/dsh-plugin-dev-kb.md +6 -5
  367. package/kb/site/en/reference/subsystems/code-runtime.md +0 -198
  368. package/kb/site/en/reference/subsystems/invariants.md +0 -91
  369. package/kb/site/reference/subsystems/code-runtime.md +0 -198
  370. package/kb/site/reference/subsystems/invariants.md +0 -91
@@ -1,5 +1,6 @@
1
1
  ---
2
2
  editSource: "docs/capability-seams.zh.md"
3
+ rawMarkdownPath: "reference/capability-seams.md"
3
4
  ---
4
5
 
5
6
  <!-- 英文源文件由 scripts/gen-doc-graphs.ts 生成;本中文文件是通过双语配对维护的经评审对侧。
@@ -7,10 +8,38 @@ editSource: "docs/capability-seams.zh.md"
7
8
 
8
9
  # 能力 Seams 与核心服务
9
10
 
10
- 服务可以是核心主干服务、可替换的能力 seam,也可以是组合包/组合点。下图展示了拥有服务声明的包、已知实现包,以及直接消费该服务的包。
11
+ 服务可以是核心主干服务、可替换的能力 seam、组合包/组合点或独立服务。下图展示了拥有服务声明的包、已知实现包,以及直接消费该服务的包。
11
12
 
12
13
  ```mermaid
13
14
  flowchart LR
15
+ pkg_hmr["hmr"]
16
+ svc_hmr["ctx.hmr<br/>Serialized module and configuration reloads"]
17
+ pkg_app_boot["app-boot"]
18
+ pkg_client_ui_plugin_manager["client-ui-plugin-manager"]
19
+ svc_pluginRegistryProbe["ctx.pluginRegistryProbe<br/>Host registry response comparison"]
20
+ pkg_plugin_manager["plugin-manager"]
21
+ svc_pluginManager["ctx.pluginManager<br/>Current-profile plugin and bundle management"]
22
+ pkg_ui_settings_plugin_inventory["ui-settings-plugin-inventory"]
23
+ svc_profileContext["ctx.profileContext<br/>Launcher-owned profile data"]
24
+ pkg_client_connection["client-connection"]
25
+ svc_connection["ctx.connection<br/>Authenticated browser transport"]
26
+ pkg_api_gateway["api-gateway"]
27
+ pkg_host_frontend_static["host-frontend-static"]
28
+ pkg_mcp_resources["mcp-resources"]
29
+ svc_mcpResources["ctx.mcpResources<br/>Scoped MCP resource access"]
30
+ pkg_mcp_client["mcp-client"]
31
+ pkg_browser_use["browser-use"]
32
+ svc_browserUse["ctx.browserUse<br/>Browser-use provider registration"]
33
+ pkg_experimental_browser_use_playwright_mcp["experimental-browser-use-playwright-mcp"]
34
+ pkg_experimental_browser_use_chrome_devtools_mcp["experimental-browser-use-chrome-devtools-mcp"]
35
+ pkg_experimental_browser_use_stagehand_native["experimental-browser-use-stagehand-native"]
36
+ pkg_computer_use["computer-use"]
37
+ svc_computerUse["ctx.computerUse<br/>Computer-use provider registration"]
38
+ pkg_experimental_computer_use_cua_driver_mcp["experimental-computer-use-cua-driver-mcp"]
39
+ pkg_experimental_computer_use_cua_driver_native["experimental-computer-use-cua-driver-native"]
40
+ pkg_office_to_pdf["office-to-pdf"]
41
+ svc_officeToPdf["ctx.officeToPdf<br/>Office to PDF conversion"]
42
+ pkg_client_ui_sidebar_documentpreview["client-ui-sidebar-documentpreview"]
14
43
  pkg_attachment["attachment"]
15
44
  svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
16
45
  pkg_attachment_local["attachment-local"]
@@ -40,42 +69,60 @@ flowchart LR
40
69
  pkg_session_query["session-query"]
41
70
  pkg_session_query_sqlite["session-query-sqlite"]
42
71
  pkg_subagent_in_process_driver["subagent-in-process-driver"]
43
- pkg_invariants["invariants"]
44
72
  pkg_message_feedback["message-feedback"]
73
+ pkg_experimental_api_speech_to_text["experimental-api-speech-to-text"]
74
+ svc_speechController["ctx.speechController<br/>Experimental transcription Remote"]
45
75
  svc_sessionController["ctx.sessionController<br/>Host Session Remote controller"]
46
76
  svc_sessionFileReferences["ctx.sessionFileReferences<br/>Session-addressed file-reference Remote adapter"]
47
77
  svc_sessionSkillCatalog["ctx.sessionSkillCatalog<br/>Session-addressed skill Remote adapter"]
78
+ pkg_api_job_controller["api-job-controller"]
79
+ svc_jobController["ctx.jobController<br/>Host job Remote controller"]
48
80
  pkg_api_settings_controller["api-settings-controller"]
49
81
  svc_credentialsController["ctx.credentialsController<br/>Host credential-surface Remote controller"]
50
82
  svc_settingsController["ctx.settingsController<br/>Host settings-surface Remote controller"]
83
+ pkg_api_workspace_files["api-workspace-files"]
84
+ svc_workspaceFiles["ctx.workspaceFiles<br/>Host workspace file Remote service"]
85
+ pkg_workspace_changes["workspace-changes"]
86
+ svc_workspaceChanges["ctx.workspaceChanges<br/>Host per-turn changed-file summaries"]
87
+ pkg_api_terminal_controller["api-terminal-controller"]
88
+ svc_terminalController["ctx.terminalController<br/>Session interactive terminal Remote controller"]
51
89
  pkg_api_workspace_controller["api-workspace-controller"]
52
90
  svc_workspaceController["ctx.workspaceController<br/>Host Workspace Remote controller"]
53
91
  svc_directoryPickerController["ctx.directoryPickerController<br/>Host directory-picking Remote controller"]
54
- svc_invariants["ctx.invariants<br/>Package-owned invariant registry"]
55
- pkg_scope["scope"]
56
92
  pkg_typert_registry["typert-registry"]
57
93
  svc_typert["ctx.typert<br/>Runtime type registry"]
58
94
  pkg_typert_loader["typert-loader"]
59
- pkg_api_gateway["api-gateway"]
60
95
  svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
61
96
  svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
62
97
  pkg_session_persistence_jsonl["session-persistence-jsonl"]
63
98
  pkg_tool_bash["tool-bash"]
64
99
  pkg_hooks_claude_code["hooks-claude-code"]
65
100
  pkg_hooks_codex["hooks-codex"]
101
+ pkg_config_editor["config-editor"]
102
+ svc_configEditor["ctx.configEditor<br/>Profile configuration edits"]
66
103
  pkg_settings["settings"]
67
- svc_settings["ctx.settings<br/>User-settings seam"]
68
- pkg_settings_file["settings-file"]
104
+ pkg_agent_default_model["agent-default-model"]
105
+ svc_settings["ctx.settings<br/>Plugin configuration forms"]
69
106
  pkg_tool_subagent["tool-subagent"]
70
107
  svc_subagentModelSelection["ctx.subagentModelSelection<br/>Subagent model-selection preference"]
71
108
  pkg_credentials["credentials"]
72
109
  svc_credentials["ctx.credentials<br/>Credential seam"]
73
110
  pkg_credentials_local["credentials-local"]
111
+ pkg_deepseek_account["deepseek-account"]
112
+ svc_deepseekAccount["ctx.deepseekAccount<br/>DeepSeek account"]
113
+ pkg_deepseek_account_platform["deepseek-account-platform"]
114
+ pkg_api_account_controller["api-account-controller"]
74
115
  pkg_authorization["authorization"]
75
116
  svc_authorization["ctx.authorization<br/>Authorization flow registry"]
117
+ pkg_client_product_analytics["client-product-analytics"]
118
+ svc_productAnalytics["ctx.productAnalytics<br/>Desktop interaction collection"]
119
+ pkg_otel["otel"]
120
+ svc_otel["ctx.otel<br/>Shared OTel reporting channels"]
121
+ pkg_host_product_telemetry_otel["host-product-telemetry-otel"]
122
+ pkg_session_telemetry_otel["session-telemetry-otel"]
123
+ svc_productTelemetry["ctx.productTelemetry<br/>Product usage event sender"]
76
124
  pkg_session_telemetry["session-telemetry"]
77
125
  svc_sessionTelemetry["ctx.sessionTelemetry<br/>Session telemetry seam"]
78
- pkg_session_telemetry_otel["session-telemetry-otel"]
79
126
  pkg_storage["storage"]
80
127
  svc_storage["ctx.storage<br/>Non-session storage hub"]
81
128
  pkg_storage_json["storage-json"]
@@ -84,6 +131,8 @@ flowchart LR
84
131
  svc_storageDomain["ctx.storageDomain<br/>Domain data facility"]
85
132
  pkg_workspace["workspace"]
86
133
  svc_messageFeedback["ctx.messageFeedback<br/>Lifecycle-bound message feedback"]
134
+ pkg_command_feedback["command-feedback"]
135
+ svc_sessionFeedback["ctx.sessionFeedback<br/>Session-level feedback recorder"]
87
136
  svc_workspaceRegistry["ctx.workspaceRegistry<br/>Workspace entity registry"]
88
137
  svc_sessionQuery["ctx.sessionQuery<br/>Session reads, traces, filters, and search"]
89
138
  pkg_session_reference["session-reference"]
@@ -110,7 +159,7 @@ flowchart LR
110
159
  svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
111
160
  pkg_plan_mode["plan-mode"]
112
161
  svc_planMode["ctx.planMode<br/>Plan collaboration state"]
113
- pkg_agent_presets["agent-presets"]
162
+ pkg_agent_preset_registry["agent-preset-registry"]
114
163
  svc_agentPresets["ctx.agentPresets<br/>Per-session agent composition"]
115
164
  pkg_commands["commands"]
116
165
  svc_commands["ctx.commands<br/>Human command registry"]
@@ -118,25 +167,28 @@ flowchart LR
118
167
  svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
119
168
  pkg_session_projection_cache["session-projection-cache"]
120
169
  svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
121
- pkg_subagent["subagent"]
122
170
  pkg_skill["skill"]
123
171
  svc_skills["ctx.skills<br/>Skill provider registry"]
172
+ pkg_sandbox_windows_acl["sandbox-windows-acl"]
124
173
  pkg_skill_badge["skill-badge"]
125
174
  pkg_skill_filesystem["skill-filesystem"]
175
+ pkg_skill_office["skill-office"]
126
176
  svc_agents["ctx.agents<br/>Agent service"]
127
177
  pkg_acp["acp"]
128
- pkg_agent_default_model["agent-default-model"]
129
178
  svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
130
179
  pkg_headless["headless"]
131
180
  svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
132
181
  pkg_base["base"]
133
182
  pkg_sdk_minimal["sdk-minimal"]
183
+ pkg_schedule["schedule"]
184
+ svc_schedule["ctx.schedule<br/>Host scheduled messages"]
134
185
  pkg_goal["goal"]
135
186
  svc_goals["ctx.goals<br/>Same-session goal domain"]
136
- pkg_e2b["e2b"]
137
- svc_e2b["ctx.e2b<br/>E2B sandbox lifecycle owner"]
138
- pkg_fs_e2b["fs-e2b"]
139
- pkg_subprocess_e2b["subprocess-e2b"]
187
+ pkg_ssh["ssh"]
188
+ svc_ssh["ctx.ssh<br/>POSIX SSH connection owner"]
189
+ pkg_fs_ssh["fs-ssh"]
190
+ pkg_subprocess_ssh["subprocess-ssh"]
191
+ pkg_sandbox_ssh["sandbox-ssh"]
140
192
  pkg_subprocess["subprocess"]
141
193
  svc_subprocess["ctx.subprocess<br/>Subprocess seam"]
142
194
  pkg_subprocess_local["subprocess-local"]
@@ -165,26 +217,32 @@ flowchart LR
165
217
  svc_approval["ctx.approval<br/>Approval seam"]
166
218
  pkg_permission_presets["permission-presets"]
167
219
  svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
168
- pkg_code_runtime["code-runtime"]
169
- svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
170
- pkg_code_runtime_worker_thread["code-runtime-worker-thread"]
171
- pkg_experimental_code_runtime_python["experimental-code-runtime-python"]
220
+ pkg_ptc_runtime["ptc-runtime"]
221
+ svc_ptcRuntime["ctx.ptcRuntime<br/>PTC execution seam"]
222
+ pkg_ptc_runtime_node["ptc-runtime-node"]
223
+ pkg_experimental_ptc_runtime_python["experimental-ptc-runtime-python"]
224
+ pkg_workflow_ptc["workflow-ptc"]
172
225
  pkg_fs["fs"]
173
226
  svc_fs["ctx.fs<br/>Filesystem provider seam"]
174
227
  pkg_fs_local["fs-local"]
175
228
  pkg_fs_observation_policy["fs-observation-policy"]
176
229
  pkg_compaction["compaction"]
177
230
  svc_compaction["ctx.compaction<br/>Compaction seam"]
231
+ pkg_subagent["subagent"]
178
232
  svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
179
233
  pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
180
234
  pkg_subagent_fork_in_process["subagent-fork-in-process"]
181
235
  pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
182
236
  pkg_tool_subagent_control["tool-subagent-control"]
183
237
  pkg_tool_ralph["tool-ralph"]
238
+ pkg_experimental_speech_to_text["experimental-speech-to-text"]
239
+ svc_speechToText["ctx.speechToText<br/>Experimental speech recognition providers"]
240
+ pkg_experimental_speech_to_text_sensevoice["experimental-speech-to-text-sensevoice"]
184
241
  pkg_experimental_agent_team["experimental-agent-team"]
185
242
  svc_agentTeams["ctx.agentTeams<br/>Agent Teams coordination domain"]
186
243
  pkg_experimental_tool_agent_team["experimental-tool-agent-team"]
187
- pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
244
+ pkg_experimental_claude_code_mods["experimental-claude-code-mods"]
245
+ svc_claudeCodeMods["ctx.claudeCodeMods<br/>Claude Code mods bridge"]
188
246
  pkg_inspector["inspector"]
189
247
  svc_inspector["ctx.inspector<br/>Cross-realm runtime inspection"]
190
248
  pkg_jobs["jobs"]
@@ -207,13 +265,11 @@ flowchart LR
207
265
  pkg_host_directory_picker_browse["host-directory-picker-browse"]
208
266
  pkg_host_webserver["host-webserver"]
209
267
  svc_webServer["ctx.webServer<br/>HTTP route registration"]
210
- pkg_client_connection["client-connection"]
211
268
  pkg_client_modules["client-modules"]
212
269
  pkg_client_hmr["client-hmr"]
213
270
  svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
214
271
  pkg_workflow["workflow"]
215
272
  svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
216
- pkg_workflow_worker_thread["workflow-worker-thread"]
217
273
  pkg_tool_workflow["tool-workflow"]
218
274
  pkg_webhook["webhook"]
219
275
  svc_webhookRuntime["ctx.webhookRuntime<br/>Webhook rule runtime"]
@@ -227,49 +283,69 @@ flowchart LR
227
283
  pkg_agent --> svc_agents
228
284
  pkg_agent_default_model --> svc_agentDefaultModel
229
285
  pkg_agent_loop --> svc_agentLoop
230
- pkg_agent_presets --> svc_agentPresets
286
+ pkg_agent_preset_registry --> svc_agentPresets
231
287
  pkg_api_gateway --> svc_typertGateway
288
+ pkg_api_job_controller --> svc_jobController
232
289
  pkg_api_session_controller --> svc_sessionController
233
290
  pkg_api_session_controller --> svc_sessionFileReferences
234
291
  pkg_api_session_controller --> svc_sessionSkillCatalog
235
292
  pkg_api_settings_controller --> svc_credentialsController
236
293
  pkg_api_settings_controller --> svc_settingsController
294
+ pkg_api_terminal_controller --> svc_terminalController
237
295
  pkg_api_workspace_controller --> svc_directoryPickerController
238
296
  pkg_api_workspace_controller --> svc_workspaceController
297
+ pkg_api_workspace_files --> svc_workspaceFiles
298
+ pkg_app_boot --> svc_profileContext
239
299
  pkg_attachment --> svc_attachments
240
300
  pkg_attachment_local --> svc_attachments
241
301
  pkg_authorization --> svc_authorization
242
302
  pkg_bash_local --> svc_shell
243
303
  pkg_bash_sandbox --> svc_shell
304
+ pkg_browser_use --> svc_browserUse
305
+ pkg_client_connection --> svc_connection
244
306
  pkg_client_file_upload --> svc_fileUploads
245
307
  pkg_client_modules --> svc_clientModules
246
- pkg_code_runtime --> svc_codeRuntime
247
- pkg_code_runtime_worker_thread --> svc_codeRuntime
308
+ pkg_client_product_analytics --> svc_productAnalytics
309
+ pkg_client_ui_plugin_manager --> svc_pluginRegistryProbe
310
+ pkg_command_feedback --> svc_sessionFeedback
248
311
  pkg_commands --> svc_commands
249
312
  pkg_compaction --> svc_compaction
250
313
  pkg_compaction_basic --> svc_compaction
251
314
  pkg_compaction_tool_result_pruner --> svc_toolResultPruner
315
+ pkg_computer_use --> svc_computerUse
316
+ pkg_config_editor --> svc_configEditor
252
317
  pkg_cordis_host_runner --> svc_cordisInspect
253
318
  pkg_cordis_host_runner --> svc_dynamicCordisRunner
254
319
  pkg_credentials --> svc_credentials
255
320
  pkg_credentials_local --> svc_credentials
321
+ pkg_deepseek_account --> svc_deepseekAccount
322
+ pkg_deepseek_account_platform --> svc_deepseekAccount
256
323
  pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
257
- pkg_e2b --> svc_e2b
258
324
  pkg_experimental_agent_team --> svc_agentTeams
259
- pkg_experimental_code_runtime_python --> svc_codeRuntime
325
+ pkg_experimental_api_speech_to_text --> svc_speechController
326
+ pkg_experimental_browser_use_chrome_devtools_mcp --> svc_browserUse
327
+ pkg_experimental_browser_use_playwright_mcp --> svc_browserUse
328
+ pkg_experimental_browser_use_stagehand_native --> svc_browserUse
329
+ pkg_experimental_claude_code_mods --> svc_claudeCodeMods
330
+ pkg_experimental_computer_use_cua_driver_mcp --> svc_computerUse
331
+ pkg_experimental_computer_use_cua_driver_native --> svc_computerUse
332
+ pkg_experimental_ptc_runtime_python --> svc_ptcRuntime
333
+ pkg_experimental_speech_to_text --> svc_speechToText
334
+ pkg_experimental_speech_to_text_sensevoice --> svc_speechToText
260
335
  pkg_file_reference --> svc_fileReferences
261
336
  pkg_file_reference_local --> svc_fileReferences
262
337
  pkg_fs --> svc_fs
263
- pkg_fs_e2b --> svc_fs
264
338
  pkg_fs_local --> svc_fs
265
339
  pkg_fs_sandbox --> svc_fs
340
+ pkg_fs_ssh --> svc_fs
266
341
  pkg_goal --> svc_goals
342
+ pkg_hmr --> svc_hmr
267
343
  pkg_host_directory_picker --> svc_directoryPicker
268
344
  pkg_host_directory_picker_browse --> svc_directoryPicker
269
345
  pkg_host_directory_picker_native --> svc_directoryPicker
346
+ pkg_host_product_telemetry_otel --> svc_productTelemetry
270
347
  pkg_host_webserver --> svc_webServer
271
348
  pkg_inspector --> svc_inspector
272
- pkg_invariants --> svc_invariants
273
349
  pkg_jobs --> svc_jobs
274
350
  pkg_jobs_local --> svc_jobs
275
351
  pkg_llm --> svc_llm
@@ -278,14 +354,24 @@ flowchart LR
278
354
  pkg_llm_replay --> svc_llm
279
355
  pkg_lsp --> svc_lsp
280
356
  pkg_lsp_stdio --> svc_lsp
357
+ pkg_mcp_client --> svc_mcpResources
358
+ pkg_mcp_resources --> svc_mcpResources
281
359
  pkg_message_feedback --> svc_messageFeedback
360
+ pkg_office_to_pdf --> svc_officeToPdf
361
+ pkg_otel --> svc_otel
282
362
  pkg_permission_presets --> svc_permissionPresets
283
363
  pkg_plan_mode --> svc_planMode
364
+ pkg_plugin_manager --> svc_pluginManager
284
365
  pkg_plugin_package_inventory_deepseek --> svc_deepseekLlmApiExtensions
366
+ pkg_ptc_runtime --> svc_ptcRuntime
367
+ pkg_ptc_runtime_node --> svc_ptcRuntime
285
368
  pkg_pwsh_local --> svc_shell
286
369
  pkg_sandbox --> svc_sandbox
287
370
  pkg_sandbox_local --> svc_sandbox
288
371
  pkg_sandbox_policy --> svc_sandboxPolicy
372
+ pkg_sandbox_ssh --> svc_sandbox
373
+ pkg_sandbox_windows_acl --> svc_skills
374
+ pkg_schedule --> svc_schedule
289
375
  pkg_session --> svc_sessions
290
376
  pkg_session_log_deepseek --> svc_deepseekLlmApiExtensions
291
377
  pkg_session_persistence --> svc_sessionPersistence
@@ -301,14 +387,15 @@ flowchart LR
301
387
  pkg_session_title_all_prompts_llm --> svc_sessionTitle
302
388
  pkg_session_title_first_prompt_llm --> svc_sessionTitle
303
389
  pkg_settings --> svc_settings
304
- pkg_settings_file --> svc_settings
305
390
  pkg_shell --> svc_shell
306
391
  pkg_shell_env --> svc_shellEnv
307
392
  pkg_skill --> svc_skills
308
393
  pkg_skill_badge --> svc_skills
309
394
  pkg_skill_filesystem --> svc_skills
395
+ pkg_skill_office --> svc_skills
310
396
  pkg_spill --> svc_spillStore
311
397
  pkg_spill_local --> svc_spillStore
398
+ pkg_ssh --> svc_ssh
312
399
  pkg_storage --> svc_storage
313
400
  pkg_storage_domain --> svc_storageDomain
314
401
  pkg_storage_json --> svc_storage
@@ -321,8 +408,8 @@ flowchart LR
321
408
  pkg_subagent_fork_in_process --> svc_subagents
322
409
  pkg_subagent_spawn_in_process --> svc_subagents
323
410
  pkg_subprocess --> svc_subprocess
324
- pkg_subprocess_e2b --> svc_subprocess
325
411
  pkg_subprocess_local --> svc_subprocess
412
+ pkg_subprocess_ssh --> svc_subprocess
326
413
  pkg_system_prompt --> svc_systemPrompt
327
414
  pkg_terminal --> svc_terminals
328
415
  pkg_terminal_bash --> svc_terminals
@@ -339,13 +426,13 @@ flowchart LR
339
426
  pkg_web_search_perplexity --> svc_web
340
427
  pkg_webhook --> svc_webhookRuntime
341
428
  pkg_workflow --> svc_workflowEngine
342
- pkg_workflow_worker_thread --> svc_workflowEngine
429
+ pkg_workflow_ptc --> svc_workflowEngine
343
430
  pkg_workspace --> svc_workspaceRegistry
431
+ pkg_workspace_changes --> svc_workspaceChanges
344
432
  svc_agentDefaultModel --> pkg_api_session_controller
345
433
  svc_agentDefaultModel --> pkg_headless
346
434
  svc_agentLoop --> pkg_base
347
435
  svc_agentLoop --> pkg_sdk_minimal
348
- svc_agentTeams --> pkg_experimental_client_ui_agent_team
349
436
  svc_agentTeams --> pkg_experimental_tool_agent_team
350
437
  svc_agents --> pkg_acp
351
438
  svc_agents --> pkg_agent_loop
@@ -358,32 +445,49 @@ flowchart LR
358
445
  svc_attachments --> pkg_llm_pi_ai
359
446
  svc_attachments --> pkg_tool_fs
360
447
  svc_authorization --> pkg_llm_pi_ai
448
+ svc_browserUse --> pkg_experimental_browser_use_chrome_devtools_mcp
449
+ svc_browserUse --> pkg_experimental_browser_use_playwright_mcp
450
+ svc_browserUse --> pkg_experimental_browser_use_stagehand_native
361
451
  svc_clientModules --> pkg_client_hmr
362
- svc_codeRuntime --> pkg_tools
363
452
  svc_compaction --> pkg_compaction_basic
453
+ svc_computerUse --> pkg_experimental_computer_use_cua_driver_mcp
454
+ svc_computerUse --> pkg_experimental_computer_use_cua_driver_native
455
+ svc_configEditor --> pkg_agent_default_model
456
+ svc_configEditor --> pkg_settings
457
+ svc_connection --> pkg_api_gateway
458
+ svc_connection --> pkg_host_frontend_static
364
459
  svc_cordisInspect --> pkg_tool_cordis
365
460
  svc_credentials --> pkg_api_settings_controller
366
461
  svc_credentials --> pkg_llm_deepseek
367
462
  svc_credentials --> pkg_llm_pi_ai
463
+ svc_deepseekAccount --> pkg_api_account_controller
464
+ svc_deepseekAccount --> pkg_llm_deepseek
368
465
  svc_deepseekLlmApiExtensions --> pkg_llm_deepseek
369
466
  svc_directoryPicker --> pkg_api_workspace_controller
370
467
  svc_dynamicCordisRunner --> pkg_tool_cordis
371
- svc_e2b --> pkg_fs_e2b
372
- svc_e2b --> pkg_subprocess_e2b
373
468
  svc_fileReferences --> pkg_api_session_controller
374
469
  svc_fileUploads --> pkg_api_session_controller
375
470
  svc_fs --> pkg_tool_fs
376
- svc_invariants --> pkg_agent
377
- svc_invariants --> pkg_agent_loop
378
- svc_invariants --> pkg_scope
379
- svc_invariants --> pkg_session
471
+ svc_hmr --> pkg_app_boot
472
+ svc_jobs --> pkg_api_job_controller
380
473
  svc_jobs --> pkg_tool_bash
381
474
  svc_jobs --> pkg_tool_jobs
475
+ svc_jobs --> pkg_tool_pwsh
382
476
  svc_jobs --> pkg_tool_subagent
383
477
  svc_jobs --> pkg_tool_terminal
384
478
  svc_llm --> pkg_agent_loop
385
479
  svc_llm --> pkg_compaction_basic
386
480
  svc_lsp --> pkg_tool_lsp
481
+ svc_mcpResources --> pkg_mcp_resources
482
+ svc_officeToPdf --> pkg_client_ui_sidebar_documentpreview
483
+ svc_otel --> pkg_host_product_telemetry_otel
484
+ svc_otel --> pkg_session_telemetry_otel
485
+ svc_pluginManager --> pkg_plugin_manager
486
+ svc_pluginManager --> pkg_ui_settings_plugin_inventory
487
+ svc_pluginRegistryProbe --> pkg_client_ui_plugin_manager
488
+ svc_profileContext --> pkg_plugin_manager
489
+ svc_ptcRuntime --> pkg_tools
490
+ svc_ptcRuntime --> pkg_workflow_ptc
387
491
  svc_sandbox --> pkg_bash_sandbox
388
492
  svc_sandbox --> pkg_terminal_bash
389
493
  svc_sandboxPolicy --> pkg_bash_sandbox
@@ -399,7 +503,6 @@ flowchart LR
399
503
  svc_sessionProjectionCache --> pkg_api_session_controller
400
504
  svc_sessionProjectionCache --> pkg_session_query
401
505
  svc_sessionProjectionCache --> pkg_session_reference
402
- svc_sessionProjectionCache --> pkg_subagent
403
506
  svc_sessionProjections --> pkg_api_session_controller
404
507
  svc_sessionProjections --> pkg_session_title
405
508
  svc_sessionProjections --> pkg_tool_todo
@@ -407,15 +510,12 @@ flowchart LR
407
510
  svc_sessionQuery --> pkg_tool_session_query
408
511
  svc_sessions --> pkg_agent
409
512
  svc_sessions --> pkg_agent_loop
410
- svc_sessions --> pkg_invariants
411
513
  svc_sessions --> pkg_message_feedback
412
514
  svc_sessions --> pkg_session_persistence
413
515
  svc_sessions --> pkg_session_query
414
516
  svc_sessions --> pkg_session_query_sqlite
415
517
  svc_sessions --> pkg_subagent_in_process_driver
416
518
  svc_settings --> pkg_api_settings_controller
417
- svc_settings --> pkg_llm_deepseek
418
- svc_settings --> pkg_llm_pi_ai
419
519
  svc_shell --> pkg_hooks_claude_code
420
520
  svc_shell --> pkg_hooks_codex
421
521
  svc_shell --> pkg_tool_bash
@@ -423,9 +523,12 @@ flowchart LR
423
523
  svc_shellEnv --> pkg_tool_bash
424
524
  svc_shellEnv --> pkg_tool_pwsh
425
525
  svc_skills --> pkg_tool_skill
526
+ svc_speechToText --> pkg_experimental_api_speech_to_text
426
527
  svc_spillStore --> pkg_spill_policy
528
+ svc_ssh --> pkg_fs_ssh
529
+ svc_ssh --> pkg_sandbox_ssh
530
+ svc_ssh --> pkg_subprocess_ssh
427
531
  svc_storage --> pkg_storage_domain
428
- svc_storageDomain --> pkg_message_feedback
429
532
  svc_storageDomain --> pkg_workspace
430
533
  svc_subagentModelSelection --> pkg_tool_subagent
431
534
  svc_subagents --> pkg_tool_ralph
@@ -473,32 +576,51 @@ flowchart LR
473
576
 
474
577
  | ctx 键 | 角色 | 所属包 | 实现 | 直接消费方 | 配套插件 | 说明 |
475
578
  | --- | --- | --- | --- | --- | --- | --- |
579
+ | `ctx.hmr` | `core` | [`hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/hmr) | - | [`app-boot`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/app-boot) | - | 负责模块和精确配置监听;应用修改共用其队列,自动重载等待应用文件锁。 |
580
+ | `ctx.pluginRegistryProbe` | `core` | [`client-ui-plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-plugin-manager) | - | [`client-ui-plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-plugin-manager) | - | 在 Host 上并发比较公共安装源响应;初始安装源推荐由 Client 负责。 |
581
+ | `ctx.pluginManager` | `core` | [`plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/plugin-manager) | - | [`plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/plugin-manager), `ui-settings-plugin-inventory` | - | 与 CLI 共享 profile 包操作,并向 Web 和 Agent 调用方分别报告持久状态与运行状态。 |
582
+ | `ctx.profileContext` | `core` | [`app-boot`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/app-boot) | - | [`plugin-manager`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/plugin-manager) | - | dsh launcher 提供纯数据形式的 profile 位置与组合输入;重载调度由 dsh-hmr 负责。 |
583
+ | `ctx.connection` | `core` | [`client-connection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/connection) | - | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway), [`host-frontend-static`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/frontend-static) | - | 负责浏览器认证与共享 HTTP 请求分发;API 适配器注册端点和流。 |
584
+ | `ctx.mcpResources` | `seam` | [`mcp-resources`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/mcp/mcp-resources) | [`mcp-client`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/mcp/mcp-client) | [`mcp-resources`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/mcp/mcp-resources) | - | 连接所有者提供的操作在调用 agent 的作用域内服务于共享资源工具。 |
585
+ | `ctx.browserUse` | `seam` | [`browser-use`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/browser-use/browser-use) | [`experimental-browser-use-playwright-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-playwright-mcp), [`experimental-browser-use-chrome-devtools-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-chrome-devtools-mcp), [`experimental-browser-use-stagehand-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-stagehand-native) | [`experimental-browser-use-playwright-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-playwright-mcp), [`experimental-browser-use-chrome-devtools-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-chrome-devtools-mcp), [`experimental-browser-use-stagehand-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/browser-use-stagehand-native) | - | 每个服务实例注册一个提供方拥有的名称。提供方按实时 Session 拥有自己的工具与浏览器资源;共享服务不提供浏览器操作 API。 |
586
+ | `ctx.computerUse` | `seam` | [`computer-use`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/computer-use/computer-use) | [`experimental-computer-use-cua-driver-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-mcp), [`experimental-computer-use-cua-driver-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-native) | [`experimental-computer-use-cua-driver-mcp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-mcp), [`experimental-computer-use-cua-driver-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/computer-use-cua-driver-native) | - | 每个服务实例只注册一个提供方自定的名称。各提供方也拥有自己的模型工具;服务不提供通用操作 API、运行时选择或 Session 流程锁。 |
587
+ | `ctx.officeToPdf` | `core` | [`office-to-pdf`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/document/office-to-pdf) | - | [`client-ui-sidebar-documentpreview`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/ui-sidebar-documentpreview) | - | 已授权的 Office 字节在宿主上使用已声明的原生目标引擎转换;未声明原生目标时使用 Node WASM。 |
476
588
  | `ctx.attachments` | `seam` | [`attachment`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment) | [`attachment-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | 宿主会在会话事件之前提交已接受的图片;提供方适配器将已授权的持久引用解析为提供方原生内容。 |
477
589
  | `ctx.fileUploads` | `core` | [`client-file-upload`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/file-upload) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | 负责流式接收、持久存储和暂存回执生命周期;Session Controller 将回执绑定到已接受的提交。 |
478
590
  | `ctx.llm` | `seam` | [`llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-replay`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/test-support/llm-replay) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 适配器注册提供方实现;agent loop(智能体循环)与压缩功能调用提供方无关的流服务。 |
479
591
  | `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | 插件准备彼此独立的顶层字段;官方适配器会合并这些字段,并在 HTTP 接受后提交其交付状态。 |
480
592
  | `ctx.tokenMeter` | `core` | [`token-meter`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/token-meter) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 拥有按会话隔离的回放折叠区;压力消费方共享不可变且带修订版本的测量结果。 |
481
593
  | `ctx.toolResultPruner` | `core` | [`compaction-tool-result-pruner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-tool-result-pruner) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 在摘要压缩前,通过可回放的单节点表层替换来改写过大的当前工具结果。 |
482
- | `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver), [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | 拥有仅追加的 Session 实例,并发出持久的会话事件流。 |
594
+ | `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | 拥有仅追加的 Session 实例,并发出持久的会话事件流。 |
595
+ | `ctx.speechController` | `core` | [`experimental-api-speech-to-text`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/api-speech-to-text) | - | - | - | 在 Provider 调用前校验受限的浏览器音频。 |
483
596
  | `ctx.sessionController` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | 负责 Session 命令、冷读取、持久事件跟随、实时控制状态、模型目录、workspace 打开与 Agent 激活策略。 |
484
597
  | `ctx.sessionFileReferences` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | 通过 Session Controller 的既有 Agent lookup 策略委托文件引用发现。 |
485
598
  | `ctx.sessionSkillCatalog` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | 在不激活冷 Agent 的前提下列出 Session 组合中允许用户调用的 skill。 |
599
+ | `ctx.jobController` | `core` | [`api-job-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/job-controller) | - | - | - | 经生成的 Remote namespace 流式发送一个后台任务的观测 record;名册仍在会话控制流上。 |
486
600
  | `ctx.credentialsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | 把凭据引用 seam 投影到生成的 Remote namespace:批量扇出、视图投影与拒绝映射都在这里,而不在 seam Definition 上。 |
487
601
  | `ctx.settingsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | 把用户设置 seam 投影到生成的 Remote namespace:读取一律脱敏,所有拒绝在这里分类,而不在 seam Definition 上。 |
602
+ | `ctx.workspaceFiles` | `core` | [`api-workspace-files`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-files) | - | - | - | 为会话工作区根内的文件提供 stat、分页文本、字节窗口、目录列举与变更流,经 lstat、包含关系与 stat 重检限定。 |
603
+ | `ctx.workspaceChanges` | `core` | [`workspace-changes`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/deliverables/workspace-changes) | - | - | - | Serves the summary each workspace/changes event announced and each listed file's turn-start and turn-end comparison, by Session and event sequence, until that Session is disposed; the log carries only the turn. |
604
+ | `ctx.terminalController` | `core` | [`api-terminal-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/terminal-controller) | - | - | - | 通过子进程提供方与类型化 Remote 传输管理用户终端进程、解析默认 shell,并恢复有界终端屏幕。 |
488
605
  | `ctx.workspaceController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | 通过生成的 Remote namespace 负责 Workspace 命令和可在重连后收敛的 Workspace 状态投递。 |
489
606
  | `ctx.directoryPickerController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | 把选目录 seam 送上线:能力门禁、取消传播,以及浏览器目录流程用于分支判断的 seam 错误码。 |
490
- | `ctx.invariants` | `core` | [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants) | - | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`scope`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/scope), [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | 配套子路径注册所属包本地的检查;该服务负责选择、唯一性、子 fiber,以及标明所属包的失败。 |
491
607
  | `ctx.typert` | `core` | [`typert-registry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/registry) | - | [`typert-loader`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/loader), [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | 插件直接或通过 dsh-typert-loader 注册实时 zod 贡献;API 网关消费调用描述符和提供方,其他运行时消费方则在各自边界查询 schema 与反射元数据。 |
492
608
  | `ctx.typertGateway` | `core` | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | - | - | 将生成的 Remote 描述符与实时 Cordis 服务关联,解析已注册的身份,并通过共享的 Connection RPC 载体提供一元调用。 |
493
609
  | `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | JSONL backend 把 SessionEvent 词汇持久化为每个 Session 一份产物。 |
494
- | `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | 插件注册命名空间 schema 并解析分层值;提供方存储原始文档。LLM(大语言模型)适配器在用户分区下将其入口配置注册为组合基础;settings controller 提供经过脱敏的分层描述符,并写入用户层。 |
610
+ | `ctx.configEditor` | `core` | [`config-editor`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/boot/config-editor) | - | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings), [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | Persists profile config patches under the application file lock and HMR queue, then reconciles Loader entries. |
611
+ | `ctx.settings` | `core` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | - | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | Forms project volatile Config fields from active profile entries and delegate validated edits to config-editor. Plugins consume their own Config references. |
495
612
  | `ctx.subagentModelSelection` | `core` | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | 拥有默认关闭的设置命名空间;Agent 作用域的委派工具会在组合新顶层 Session 时读取它。 |
496
613
  | `ctx.credentials` | `seam` | [`credentials`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials) | [`credentials-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials-local) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | 配置携带对机密信息的引用;提供方拥有实际值。消费方按操作解析,因此轮换后的凭据会在紧接着的下一次请求中生效;settings controller 提供不含实际值的视图和只写存储。 |
614
+ | `ctx.deepseekAccount` | `seam` | [`deepseek-account`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/deepseek-account) | [`deepseek-account-platform`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/deepseek-account-platform) | [`api-account-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/account-controller), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | Host 负责浏览器授权和本地凭证;UI 使用方只接收不含 token 的状态。 |
497
615
  | `ctx.authorization` | `seam` | [`authorization`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/authorization) | - | [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | flow 由知道如何取得某份凭据的插件注册,并以其写入的记录为键;seam 拥有这段对话与"每个键同时只跑一次尝试"的生命周期,而非协议本身。 |
616
+ | `ctx.productAnalytics` | `service` | [`client-product-analytics`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/product-analytics) | - | - | - | 根据 Host 动态采集策略接收指定桌面事件、补充可用登录身份并监听实时压缩。 |
617
+ | `ctx.otel` | `service` | [`otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/telemetry/otel) | - | [`host-product-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/product-telemetry-otel), [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | 产品埋点和 Session 反馈适配器通过同一个注入服务创建独立上报通道。 |
618
+ | `ctx.productTelemetry` | `service` | [`host-product-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/product-telemetry-otel) | - | - | - | 通过 OTLP/HTTP 发送显式提交的分析事件;仅挂载插件不会采集信息。 |
498
619
  | `ctx.sessionTelemetry` | `seam` | [`session-telemetry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry) | [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | - | 该 seam 捕获会话记录、进行脱敏并交给一个后端;没有其他组件消费该服务,其输出会离开当前进程。 |
499
620
  | `ctx.storage` | `seam` | [`storage`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage) | [`storage-json`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-json), [`storage-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-sqlite) | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | 各后端以不同名称并列注册;数据形态(领域优先)挂载到枢纽上,并将类型化操作转换为不透明的 KV 单元原语。 |
500
- | `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | 等待所有已配置后端就绪,然后将领域形态发布为一个受生命周期约束的服务,用于类型化持久状态。 |
501
- | `ctx.messageFeedback` | `core` | [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | - | - | 拥有本地逐 assistant 消息反馈、生命周期与目标校验、逐条目 compare-and-set 及 Host 一元 Remote 契约,且不进入 Session 历史或遥测。 |
621
+ | `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | 等待所有已配置后端就绪,然后将领域形态发布为一个受生命周期约束的服务,用于类型化持久状态。 |
622
+ | `ctx.messageFeedback` | `core` | [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | - | - | 拥有权威 Session 日志中的逐 assistant 消息反馈、目标校验、逐条目 compare-and-set 及 Host 一元 Remote 契约。反馈不进入模型历史;日志导出遵循消费方策略。 |
623
+ | `ctx.sessionFeedback` | `core` | [`command-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/command-feedback) | - | - | - | 通过 Host 一元 Remote 契约在 live Session 上把一条带分类的 Session 级评价记录为仅写日志的 feedback/record 事件;/feedback 命令共用同一个生产方。 |
502
624
  | `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller), [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | 通过领域设施拥有带 WorkspaceId 品牌类型的记录;稳定的 sessionIds 账户驱动 Host RPC 与 GUI 投影。 |
503
625
  | `ctx.sessionQuery` | `seam` | [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query) | [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite) | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`tool-session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/tool-session-query) | - | 该接口提供精确读取、过滤和追踪;具体后端还提供全文协调、排序、摘要片段和游标世代,而模型消费方负责工作区权限与不含游标的渲染。 |
504
626
  | `ctx.fileReferences` | `seam` | [`file-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference) | [`file-reference-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | 该接口返回 Agent cwd 内仅含路径的补全候选;提供方负责命名空间访问与排序,但不读取文件内容。 |
@@ -508,37 +630,40 @@ flowchart LR
508
630
  | `ctx.tools` | `core` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | 注册能力,负责 PTC mode 传输,并让调用依次经过策略前处理、单调守卫、环绕分派、策略后处理和最终结果观测。 |
509
631
  | `ctx.userQuestions` | `seam` | [`user-questions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-questions) | - | [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user) | - | UI 前端提供当前生效的人工回答提供方;tool-ask-user 在提供方无关的 ask() promise 上暂停工具调用。 |
510
632
  | `ctx.planMode` | `core` | [`plan-mode`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/plan/plan-mode) | - | - | - | 折叠已记录的计划/模式状态,在轮次边界刷新用户选择,渲染由部署方拥有的指导信息,注册 /plan,并在状态转换期间保持计划退出 schema 稳定。 |
511
- | `ctx.agentPresets` | `core` | [`agent-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-presets) | - | - | - | 在受信任根目录与用户创作根目录上发现 preset 目录,并在创建期把一份 preset cordis.yml 挂载到 agent 作用域之下,拒绝始终未激活或向根服务 realm 发布服务的行。 |
633
+ | `ctx.agentPresets` | `core` | [`agent-preset-registry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-preset-registry) | - | - | - | 立即挂载 YAML 声明的 preset 版本,把 Agent 和冷读取绑定到作用域内的贡献,并保留已替换的版本,直到最后一个使用者释放它。 |
512
634
  | `ctx.commands` | `core` | [`commands`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/commands) | - | - | - | 插件注册直接面向人的命令,而不会把调用发送给模型。 |
513
635
  | `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`session-title`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title) | - | 各领域注册由状态驱动的折叠单元;主动驱动过程维护每个会话的水位状态,Session controller 提供 baseline 并推送发生变化的值。 |
514
- | `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | - | 按会话持久保存投影单元状态的检查点(节流检查点,以及轮次/结束/分离时的必选检查点),并提供冷读取阶梯:缓存行加持久化尾部回放,因此列表读取永远不需要加载完整日志。 |
515
- | `ctx.skills` | `seam` | [`skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill) | [`skill-badge`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-badge), [`skill-filesystem`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-filesystem) | [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill) | - | 合并提供方的 skill(技能)目录;tool-skill 渲染会话前缀目录,并加载完整的 skill 正文。 |
636
+ | `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference) | - | 按会话持久保存投影单元状态的检查点(节流检查点,以及轮次/结束/分离时的必选检查点),提供缓存投影视图,并加速 prepared Session 的投影恢复。 |
637
+ | `ctx.skills` | `seam` | [`skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill) | [`sandbox-windows-acl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-windows-acl), [`skill-badge`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-badge), [`skill-filesystem`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-filesystem), [`skill-office`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-office) | [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill) | - | 合并提供方的 skill(技能)目录;tool-skill 渲染会话前缀目录,并加载完整的 skill 正文。 |
516
638
  | `ctx.agents` | `core` | [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp), [`subagent-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver) | - | 拥有实时 Agent 句柄、创建/恢复工厂 seam,以及进程本地的发起方传播。 |
517
- | `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless) | - | 通过 settings 分层默认 `ModelSelection`,让直接入口与 Host 支撑的 Agent 入口共享同一个状态所有者。 |
639
+ | `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless) | - | Reads the default ModelSelection from volatile Config and saves selections through the profile editor. |
518
640
  | `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`base`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/base), [`sdk-minimal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/sdk-minimal) | - | 唯一的具体循环插件;扩展包依赖 dsh-agent 的事件和服务,而不依赖此包。 |
641
+ | `ctx.schedule` | `core` | [`schedule`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/schedule/schedule) | - | - | - | 独立于 Session 的加载状态存储任务,并将到期消息排入原 Session。 |
519
642
  | `ctx.goals` | `core` | [`goal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/goal/goal) | - | - | - | 从会话日志折叠带修订版本的目标状态,并将实时延续激活保留在进程本地。 |
520
- | `ctx.e2b` | `core` | [`e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/e2b) | - | [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | - | 拥有一个共享的 E2B SDK 句柄、远程工作目录和最终沙箱处置,使两个基础 E2B 提供方处于同一个 Linux 运行时中。 |
521
- | `ctx.subprocess` | `seam` | [`subprocess`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess) | [`subprocess-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess-local), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash), [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code) | - | Bash 执行器、PTY shell 后端、LSP Host,以及进程外 ACP、Codex 和 Claude Code subagent 后端都通过 ctx.subprocess 执行 spawn;该服务负责进程坐标、进程树/会话生命周期、stdio 处置、终端机制和 kill 升级。 |
643
+ | `ctx.ssh` | `core` | [`ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/ssh) | - | [`fs-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/fs-ssh), [`subprocess-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/subprocess-ssh), [`sandbox-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/sandbox-ssh) | - | 负责一条经过认证的 OpenSSH 连接、已安装辅助程序身份、独立程序流,以及配套远端提供方的断连清理。 |
644
+ | `ctx.subprocess` | `seam` | [`subprocess`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess) | [`subprocess-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess-local), [`subprocess-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/subprocess-ssh) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash), [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code) | - | Bash 执行器、PTY shell 后端、LSP Host,以及进程外 ACP、Codex 和 Claude Code subagent 后端都通过 ctx.subprocess 执行 spawn;该服务负责进程坐标、进程树/会话生命周期、stdio 处置、终端机制和 kill 升级。 |
522
645
  | `ctx.shell` | `seam` | [`shell`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`pwsh-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/pwsh-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex) | - | 面向模型的 shell 工具和钩子桥接消费此 seam;沙箱、远程或 PowerShell 执行器可以替换 bash-local,而无需改动这些消费方。 |
523
646
  | `ctx.shellEnv` | `core` | [`shell-env`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell-env) | - | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh) | - | 插件声明限定于 effect 作用域的 DSH_* 事实;每个 shell 工具在每次执行时收集一份可信快照,其执行器据此重建命名空间。 |
524
647
  | `ctx.terminals` | `seam` | [`terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal) | [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal) | - | 注册表负责精确到 Agent 的会话身份和清理;后端负责终端机制,tool-terminal 则提供限定于所有者作用域的模型接口。 |
525
- | `ctx.sandbox` | `seam` | [`sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox) | [`sandbox-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-local) | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | 消费方交出即将执行 spawn 的确切 argv;与宿主共享文件系统和内核的后端按每次调用的策略包装该 argv,并报告强制执行情况。 |
648
+ | `ctx.sandbox` | `seam` | [`sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox) | [`sandbox-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-local), [`sandbox-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/sandbox-ssh) | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | 消费方交出即将执行 spawn 的确切 argv;与配套子进程提供方共享执行环境的后端按每次调用的策略包装该 argv,并报告强制执行情况。 |
526
649
  | `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | 统一保存部署默认模式和工作区根目录;只有沙箱执行器和提供方读取该服务(工具层使用它同时导出的纯 `sandbox/mode` 折叠区)。两类强制执行组件都读取该服务,因此 bash 与 fs 不会限制到不同的根目录。 |
527
650
  | `ctx.approval` | `seam` | [`user-approval`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-approval) | - | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp) | - | 一次性权限决策通过 `approval/request` waterfall(瀑布式事件)分派;回答方是监听器(即 ACP 为自身 agent 提供的桥接),没有回答方时以 `unavailable` 关闭失败。 |
528
651
  | `ctx.permissionPresets` | `core` | [`permission-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/permission-presets) | - | - | - | 面向用户的预设表(`workspace-write`/`danger-full-access`),将沙箱模式与审批策略选项组合在一起;一次切换会写入一个 `permission/preset` 事件,并贯通到两个选项事件。 |
529
- | `ctx.codeRuntime` | `seam` | [`code-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime-worker-thread), [`experimental-code-runtime-python`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/code-runtime-python) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | 使用 Host 提供的异步绑定运行一段由模型编写的程序;各后端采用不同的基础环境和语言(工具注册表在 PTC mode 下消费该服务)。 |
530
- | `ctx.fs` | `seam` | [`fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs) | [`fs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-local), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b) | [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs) | [`fs-observation-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-observation-policy) | tool-fs 通过 ctx.fs 执行读取/写入/编辑;fs-sandbox 按共享沙箱模式限制变更;fs-observation-policy 通过 fs/* 事件门禁贡献基于观测状态的检查。 |
652
+ | `ctx.ptcRuntime` | `seam` | [`ptc-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ptc-runtime/ptc-runtime) | [`ptc-runtime-node`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ptc-runtime/ptc-runtime-node), [`experimental-ptc-runtime-python`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/ptc-runtime-python) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`workflow-ptc`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-ptc) | - | 使用 Host 提供的异步绑定运行程序;tools 负责 PTC 呈现,workflow-ptc 负责工作流编排。 |
653
+ | `ctx.fs` | `seam` | [`fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs) | [`fs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-local), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`fs-ssh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/ssh/fs-ssh) | [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs) | [`fs-observation-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-observation-policy) | tool-fs 通过 ctx.fs 执行读取/写入/编辑;fs-sandbox 按共享沙箱模式限制变更;fs-observation-policy 通过 fs/* 事件门禁贡献基于观测状态的检查。 |
531
654
  | `ctx.compaction` | `seam` | [`compaction`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 基础后端消费步骤后的压力事件和请求错误恢复事件;不存在面向模型的压缩工具。 |
532
655
  | `ctx.subagents` | `seam` | [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | [`subagent-spawn-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-fork-in-process), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-subagent-control`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent-control), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | 提供方实现传输;该服务还负责可选的、基于 Activation 的延续编排,tool-subagent 选择一次性或可延续委派,tool-subagent-control 传递后续消息,而 tool-ralph 要求一条全新的结构化输出路由。 |
533
- | `ctx.agentTeams` | `core` | [`experimental-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/tool-agent-team), [`experimental-client-ui-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/client-ui-agent-team) | - | 负责隐式 Root roster、持久 peer mailbox、共享任务 DAG、continuable child 生命周期与生成式 Team Remote method;tool-agent-team 提供模型控制工具,client-ui-agent-team 挂载浏览器 contribution。 |
656
+ | `ctx.speechToText` | `seam` | [`experimental-speech-to-text`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/speech-to-text) | [`experimental-speech-to-text-sensevoice`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/speech-to-text-sensevoice) | [`experimental-api-speech-to-text`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/api-speech-to-text) | - | 路由显式选择的识别器;浏览器使用带认证的 Remote,并在提交前将转写保留在草稿中。 |
657
+ | `ctx.agentTeams` | `core` | [`experimental-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/tool-agent-team) | - | 负责隐式 Root roster、持久 peer mailbox、共享任务 DAG 与 continuable child 生命周期;tool-agent-team 提供模型控制工具。 |
658
+ | `ctx.claudeCodeMods` | `core` | [`experimental-claude-code-mods`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/claude-code-mods) | - | - | - | 加载 defineMod 插件添加的模组,从 harness 扩展点触发其钩子链,并通过其 Remote 绘制提示框上方的横幅。 |
534
659
  | `ctx.inspector` | `core` | `inspector` | - | - | - | 负责 Worker 托管的 CDP target,以及独立于传输的 Host 和 Client observation 与 Cordis tree query API。 |
535
- | `ctx.jobs` | `seam` | [`jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs) | [`jobs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/tool-jobs) | - | 生产方(后台 bash、PTY 发送和 subagent 委派)登记正在运行的工作;tool-jobs 是面向模型的控制器,用于读取、列出和终止这些工作;jobs-local 是进程本地注册表。 |
660
+ | `ctx.jobs` | `seam` | [`jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs) | [`jobs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/tool-jobs), [`api-job-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/job-controller) | - | 生产方(后台 bash/pwsh、PTY 发送和 subagent 委派)登记正在运行的工作;声明 record 的 job 还为非消费观察者流式提供原始输出;tool-jobs 是面向模型的控制器,用于读取、列出和终止这些工作;jobs-local 是进程本地注册表。 |
536
661
  | `ctx.web` | `seam` | [`web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web) | [`web-search-exa`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-exa), [`web-search-perplexity`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-perplexity), [`web-search-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-deepseek), [`web-fetch-http`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-fetch-http) | [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | 搜索和抓取提供方注册到同一个 ctx.web seam;tool-web 负责稳定的面向模型名称。 |
537
662
  | `ctx.spillStore` | `seam` | [`spill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill) | [`spill-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-local) | [`spill-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-policy) | - | 后端保存过大的工具文本,并返回面向模型的定位信息和取回提示;spill-policy 是 tools/post-execute 消费方,负责决定何时 spill。 |
538
663
  | `ctx.directoryPicker` | `seam` | [`host-directory-picker`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker) | [`host-directory-picker-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-native), [`host-directory-picker-browse`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-browse) | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | 带判别标记的交互能力:原生后端在 Host 显示设备上打开一个操作系统选择器,浏览后端为应用内浏览器提供列表与创建原语;双端后端通过其浏览器侧填充 ui-workspace 目录流程的 slot(不通过协议发布)。 |
539
664
  | `ctx.webServer` | `core` | [`host-webserver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/webserver) | - | [`client-connection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/connection), [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules), [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | 普通的 node:http 载体:具名路由注册表、索引转换 tap,以及静态 dist 回退;Web 传输插件注册自己的路由。 |
540
665
  | `ctx.clientModules` | `core` | [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules) | - | [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | 通过增量 `dsh.client` 扫描组合 __DSH_BOOT__ 入口图,提供插件组合包,并通知重建/图变更订阅方。 |
541
- | `ctx.workflowEngine` | `seam` | [`workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow) | [`workflow-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-worker-thread) | [`tool-workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-workflow), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | 每个上下文使用一个引擎,与 bash 相同,且没有具名提供方注册表;通用工作流与固定 Ralph 消费方启动运行,其中的 agent() 调用通过 ctx.subagents 扇出。 |
666
+ | `ctx.workflowEngine` | `seam` | [`workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow) | [`workflow-ptc`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-ptc) | [`tool-workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-workflow), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | 每个上下文使用一个引擎,与 bash 相同,且没有具名提供方注册表;通用工作流与固定 Ralph 消费方启动运行,其中的 agent() 调用通过 ctx.subagents 扇出。 |
542
667
  | `ctx.webhookRuntime` | `core` | [`webhook`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook) | - | [`webhook-github`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook-github) | - | 提供方适配器分派已认证交付;可信插件注册独立的进程本地规则,runtime 把非 null 结果转换为普通的 Workspace-backed Session,不保留交付或完成状态。 |
543
668
  | `ctx.lsp` | `seam` | [`lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp) | [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio) | [`tool-lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/tool-lsp) | - | 提供方注册与选择,加上恰好四种操作的标准化查询执行;该 seam 不提供协议逃生口,后端必须转换为标准化请求和结果。 |
544
669
  | `ctx.dynamicCordisRunner` | `core` | [`cordis-host-runner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/cordis-host-runner) | - | [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis) | - | 拥有内存定义注册表、Host 半的 vm 沙箱和 request-run 往返流程;浏览器页面通过其 Remote 命名空间在线访问同一服务。 |