dsh-plugin-dev-kb 1.0.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 (234) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -0
  3. package/cordis.patch.yml +12 -0
  4. package/kb/INDEX.md +210 -0
  5. package/kb/README.md +69 -0
  6. package/kb/extra/AGENTS.md +75 -0
  7. package/kb/extra/api-gateway.md +164 -0
  8. package/kb/extra/api-gateway.zh.md +164 -0
  9. package/kb/extra/cookbook/adding-a-vendored-package.md +59 -0
  10. package/kb/extra/cookbook/adding-a-vendored-package.zh.md +59 -0
  11. package/kb/extra/cookbook/maintaining-dsh-code-review.md +64 -0
  12. package/kb/extra/cookbook/maintaining-dsh-code-review.zh.md +64 -0
  13. package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
  14. package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
  15. package/kb/extra/defensive-patterns.md +33 -0
  16. package/kb/extra/defensive-patterns.zh.md +33 -0
  17. package/kb/extra/development.md +171 -0
  18. package/kb/extra/development.zh.md +171 -0
  19. package/kb/extra/event-producer-consumer.md +76 -0
  20. package/kb/extra/event-producer-consumer.zh.md +78 -0
  21. package/kb/extra/glossary.md +45 -0
  22. package/kb/extra/glossary.zh.md +45 -0
  23. package/kb/extra/graph-atlas.md +24 -0
  24. package/kb/extra/graph-atlas.zh.md +26 -0
  25. package/kb/extra/i18n/README.md +60 -0
  26. package/kb/extra/i18n/README.zh.md +60 -0
  27. package/kb/extra/i18n/style-samples.md +87 -0
  28. package/kb/extra/i18n/terminology.md +214 -0
  29. package/kb/extra/i18n/translation-prompt.md +263 -0
  30. package/kb/extra/i18n/translation-rules.md +69 -0
  31. package/kb/extra/i18n/translation-rules.zh.md +69 -0
  32. package/kb/extra/module-graph.md +1641 -0
  33. package/kb/extra/module-graph.zh.md +1643 -0
  34. package/kb/extra/postmortem/0001-acp-default-export-drops-inject.md +113 -0
  35. package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
  36. package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
  37. package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
  38. package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
  39. package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
  40. package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
  41. package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
  42. package/kb/extra/postmortem/README.md +18 -0
  43. package/kb/extra/postmortem/README.zh.md +18 -0
  44. package/kb/extra/rescope.md +53 -0
  45. package/kb/extra/rescope.zh.md +53 -0
  46. package/kb/extra/subsystems/attachment.md +125 -0
  47. package/kb/extra/subsystems/attachment.zh.md +125 -0
  48. package/kb/extra/subsystems/extensions.md +364 -0
  49. package/kb/extra/subsystems/extensions.zh.md +364 -0
  50. package/kb/extra/subsystems/feedback.md +266 -0
  51. package/kb/extra/subsystems/feedback.zh.md +266 -0
  52. package/kb/extra/testing.md +49 -0
  53. package/kb/extra/testing.zh.md +49 -0
  54. package/kb/extra/web-styling.md +25 -0
  55. package/kb/extra/web-styling.zh.md +25 -0
  56. package/kb/meta/search-index.json +1328 -0
  57. package/kb/meta/site-pages.txt +168 -0
  58. package/kb/meta/source.json +13 -0
  59. package/kb/meta/topics.md +75 -0
  60. package/kb/site/develop/basic/config.md +108 -0
  61. package/kb/site/develop/basic/index.md +146 -0
  62. package/kb/site/develop/basic/publish.md +185 -0
  63. package/kb/site/develop/basic/tool.md +54 -0
  64. package/kb/site/develop/cordis-tutorial/01-first-plugin.md +95 -0
  65. package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  66. package/kb/site/develop/cordis-tutorial/03-services.md +98 -0
  67. package/kb/site/develop/cordis-tutorial/04-events.md +144 -0
  68. package/kb/site/develop/cordis-tutorial/05-config.md +84 -0
  69. package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +113 -0
  70. package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +107 -0
  71. package/kb/site/develop/cordis-tutorial/index.md +62 -0
  72. package/kb/site/develop/framework/events.md +145 -0
  73. package/kb/site/develop/framework/index.md +139 -0
  74. package/kb/site/develop/framework/service.md +152 -0
  75. package/kb/site/develop/practice/index.md +157 -0
  76. package/kb/site/develop/practice/llm-adapter.md +190 -0
  77. package/kb/site/en/develop/basic/config.md +108 -0
  78. package/kb/site/en/develop/basic/index.md +146 -0
  79. package/kb/site/en/develop/basic/publish.md +185 -0
  80. package/kb/site/en/develop/basic/tool.md +54 -0
  81. package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +95 -0
  82. package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
  83. package/kb/site/en/develop/cordis-tutorial/03-services.md +98 -0
  84. package/kb/site/en/develop/cordis-tutorial/04-events.md +144 -0
  85. package/kb/site/en/develop/cordis-tutorial/05-config.md +84 -0
  86. package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +113 -0
  87. package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +107 -0
  88. package/kb/site/en/develop/cordis-tutorial/index.md +60 -0
  89. package/kb/site/en/develop/framework/events.md +145 -0
  90. package/kb/site/en/develop/framework/index.md +139 -0
  91. package/kb/site/en/develop/framework/service.md +150 -0
  92. package/kb/site/en/develop/practice/index.md +157 -0
  93. package/kb/site/en/develop/practice/llm-adapter.md +190 -0
  94. package/kb/site/en/guide/providers-custom-form.png +0 -0
  95. package/kb/site/en/guide/providers-models-page.png +0 -0
  96. package/kb/site/en/guide/providers.md +100 -0
  97. package/kb/site/en/guide/python-sdk.md +106 -0
  98. package/kb/site/en/guide/quickstart.md +32 -0
  99. package/kb/site/en/index.md +8 -0
  100. package/kb/site/en/reference/agent-lifecycle.md +86 -0
  101. package/kb/site/en/reference/capability-seams.md +475 -0
  102. package/kb/site/en/reference/config-catalog.md +3155 -0
  103. package/kb/site/en/reference/cookbook/adding-a-conversation-node.md +235 -0
  104. package/kb/site/en/reference/cookbook/adding-a-package.md +120 -0
  105. package/kb/site/en/reference/cookbook/adding-a-settings-card.md +102 -0
  106. package/kb/site/en/reference/cookbook/adding-a-tool.md +96 -0
  107. package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +45 -0
  108. package/kb/site/en/reference/cookbook/extension-cookbook.md +131 -0
  109. package/kb/site/en/reference/cordis-api/context.md +368 -0
  110. package/kb/site/en/reference/cordis-api/events.md +211 -0
  111. package/kb/site/en/reference/cordis-api/fiber.md +379 -0
  112. package/kb/site/en/reference/cordis-api/inherited.md +43 -0
  113. package/kb/site/en/reference/cordis-api/registry.md +156 -0
  114. package/kb/site/en/reference/cordis-api/service.md +106 -0
  115. package/kb/site/en/reference/cordis-primer.md +46 -0
  116. package/kb/site/en/reference/index.md +131 -0
  117. package/kb/site/en/reference/persistence-catalog.md +949 -0
  118. package/kb/site/en/reference/subsystems/approval.md +173 -0
  119. package/kb/site/en/reference/subsystems/client-modules.md +121 -0
  120. package/kb/site/en/reference/subsystems/code-runtime.md +194 -0
  121. package/kb/site/en/reference/subsystems/commands.md +190 -0
  122. package/kb/site/en/reference/subsystems/compaction.md +241 -0
  123. package/kb/site/en/reference/subsystems/core.md +1073 -0
  124. package/kb/site/en/reference/subsystems/credentials.md +136 -0
  125. package/kb/site/en/reference/subsystems/filesystem.md +498 -0
  126. package/kb/site/en/reference/subsystems/goal.md +280 -0
  127. package/kb/site/en/reference/subsystems/index.md +58 -0
  128. package/kb/site/en/reference/subsystems/invariants.md +91 -0
  129. package/kb/site/en/reference/subsystems/jobs.md +293 -0
  130. package/kb/site/en/reference/subsystems/llm-streaming.md +920 -0
  131. package/kb/site/en/reference/subsystems/lsp.md +205 -0
  132. package/kb/site/en/reference/subsystems/permission-presets.md +134 -0
  133. package/kb/site/en/reference/subsystems/persistence.md +388 -0
  134. package/kb/site/en/reference/subsystems/plan.md +90 -0
  135. package/kb/site/en/reference/subsystems/sandbox.md +221 -0
  136. package/kb/site/en/reference/subsystems/schedule.md +189 -0
  137. package/kb/site/en/reference/subsystems/scope.md +62 -0
  138. package/kb/site/en/reference/subsystems/session-projection.md +265 -0
  139. package/kb/site/en/reference/subsystems/session-query.md +498 -0
  140. package/kb/site/en/reference/subsystems/session-reference.md +111 -0
  141. package/kb/site/en/reference/subsystems/session-telemetry.md +197 -0
  142. package/kb/site/en/reference/subsystems/session-title.md +207 -0
  143. package/kb/site/en/reference/subsystems/session.md +852 -0
  144. package/kb/site/en/reference/subsystems/settings.md +313 -0
  145. package/kb/site/en/reference/subsystems/shell.md +306 -0
  146. package/kb/site/en/reference/subsystems/skills.md +334 -0
  147. package/kb/site/en/reference/subsystems/spill.md +120 -0
  148. package/kb/site/en/reference/subsystems/storage.md +232 -0
  149. package/kb/site/en/reference/subsystems/subagent.md +737 -0
  150. package/kb/site/en/reference/subsystems/subprocess.md +327 -0
  151. package/kb/site/en/reference/subsystems/system-prompt.md +210 -0
  152. package/kb/site/en/reference/subsystems/terminal.md +187 -0
  153. package/kb/site/en/reference/subsystems/token-meter.md +93 -0
  154. package/kb/site/en/reference/subsystems/tools.md +723 -0
  155. package/kb/site/en/reference/subsystems/typert.md +339 -0
  156. package/kb/site/en/reference/subsystems/user-questions.md +181 -0
  157. package/kb/site/en/reference/subsystems/web-server.md +111 -0
  158. package/kb/site/en/reference/subsystems/web.md +202 -0
  159. package/kb/site/en/reference/subsystems/workflow.md +281 -0
  160. package/kb/site/en/reference/subsystems/workspace.md +231 -0
  161. package/kb/site/en/reference/tool-catalog.md +1877 -0
  162. package/kb/site/en/reference/tool-execution-pipeline.md +66 -0
  163. package/kb/site/guide/providers-custom-form.zh.png +0 -0
  164. package/kb/site/guide/providers-models-page.zh.png +0 -0
  165. package/kb/site/guide/providers.md +100 -0
  166. package/kb/site/guide/python-sdk.md +106 -0
  167. package/kb/site/guide/quickstart.md +32 -0
  168. package/kb/site/index.md +8 -0
  169. package/kb/site/reference/agent-lifecycle.md +86 -0
  170. package/kb/site/reference/capability-seams.md +475 -0
  171. package/kb/site/reference/config-catalog.md +3154 -0
  172. package/kb/site/reference/cookbook/adding-a-conversation-node.md +235 -0
  173. package/kb/site/reference/cookbook/adding-a-package.md +120 -0
  174. package/kb/site/reference/cookbook/adding-a-settings-card.md +102 -0
  175. package/kb/site/reference/cookbook/adding-a-tool.md +98 -0
  176. package/kb/site/reference/cookbook/adding-an-llm-adapter.md +45 -0
  177. package/kb/site/reference/cookbook/extension-cookbook.md +133 -0
  178. package/kb/site/reference/cordis-api/context.md +368 -0
  179. package/kb/site/reference/cordis-api/events.md +211 -0
  180. package/kb/site/reference/cordis-api/fiber.md +379 -0
  181. package/kb/site/reference/cordis-api/inherited.md +43 -0
  182. package/kb/site/reference/cordis-api/registry.md +156 -0
  183. package/kb/site/reference/cordis-api/service.md +106 -0
  184. package/kb/site/reference/cordis-primer.md +52 -0
  185. package/kb/site/reference/index.md +135 -0
  186. package/kb/site/reference/persistence-catalog.md +949 -0
  187. package/kb/site/reference/subsystems/approval.md +173 -0
  188. package/kb/site/reference/subsystems/client-modules.md +121 -0
  189. package/kb/site/reference/subsystems/code-runtime.md +194 -0
  190. package/kb/site/reference/subsystems/commands.md +190 -0
  191. package/kb/site/reference/subsystems/compaction.md +241 -0
  192. package/kb/site/reference/subsystems/core.md +1081 -0
  193. package/kb/site/reference/subsystems/credentials.md +136 -0
  194. package/kb/site/reference/subsystems/filesystem.md +498 -0
  195. package/kb/site/reference/subsystems/goal.md +280 -0
  196. package/kb/site/reference/subsystems/index.md +58 -0
  197. package/kb/site/reference/subsystems/invariants.md +91 -0
  198. package/kb/site/reference/subsystems/jobs.md +293 -0
  199. package/kb/site/reference/subsystems/llm-streaming.md +926 -0
  200. package/kb/site/reference/subsystems/lsp.md +205 -0
  201. package/kb/site/reference/subsystems/permission-presets.md +134 -0
  202. package/kb/site/reference/subsystems/persistence.md +388 -0
  203. package/kb/site/reference/subsystems/plan.md +90 -0
  204. package/kb/site/reference/subsystems/sandbox.md +221 -0
  205. package/kb/site/reference/subsystems/schedule.md +189 -0
  206. package/kb/site/reference/subsystems/scope.md +62 -0
  207. package/kb/site/reference/subsystems/session-projection.md +265 -0
  208. package/kb/site/reference/subsystems/session-query.md +498 -0
  209. package/kb/site/reference/subsystems/session-reference.md +111 -0
  210. package/kb/site/reference/subsystems/session-telemetry.md +197 -0
  211. package/kb/site/reference/subsystems/session-title.md +207 -0
  212. package/kb/site/reference/subsystems/session.md +854 -0
  213. package/kb/site/reference/subsystems/settings.md +313 -0
  214. package/kb/site/reference/subsystems/shell.md +306 -0
  215. package/kb/site/reference/subsystems/skills.md +334 -0
  216. package/kb/site/reference/subsystems/spill.md +120 -0
  217. package/kb/site/reference/subsystems/storage.md +232 -0
  218. package/kb/site/reference/subsystems/subagent.md +739 -0
  219. package/kb/site/reference/subsystems/subprocess.md +327 -0
  220. package/kb/site/reference/subsystems/system-prompt.md +210 -0
  221. package/kb/site/reference/subsystems/terminal.md +187 -0
  222. package/kb/site/reference/subsystems/token-meter.md +93 -0
  223. package/kb/site/reference/subsystems/tools.md +723 -0
  224. package/kb/site/reference/subsystems/typert.md +339 -0
  225. package/kb/site/reference/subsystems/user-questions.md +181 -0
  226. package/kb/site/reference/subsystems/web-server.md +111 -0
  227. package/kb/site/reference/subsystems/web.md +202 -0
  228. package/kb/site/reference/subsystems/workflow.md +281 -0
  229. package/kb/site/reference/subsystems/workspace.md +231 -0
  230. package/kb/site/reference/tool-catalog.md +1880 -0
  231. package/kb/site/reference/tool-execution-pipeline.md +66 -0
  232. package/package.json +40 -0
  233. package/scripts/rebuild-index.mjs +88 -0
  234. package/skills/dsh-plugin-dev-kb.md +66 -0
@@ -0,0 +1,168 @@
1
+ develop_basic_config.md
2
+ develop_basic_index.md
3
+ develop_basic_publish.md
4
+ develop_basic_tool.md
5
+ develop_cordis-tutorial_01-first-plugin.md
6
+ develop_cordis-tutorial_02-lifecycle-and-effects.md
7
+ develop_cordis-tutorial_03-services.md
8
+ develop_cordis-tutorial_04-events.md
9
+ develop_cordis-tutorial_05-config.md
10
+ develop_cordis-tutorial_06-composition-and-hmr.md
11
+ develop_cordis-tutorial_07-into-the-harness.md
12
+ develop_cordis-tutorial_index.md
13
+ develop_framework_events.md
14
+ develop_framework_index.md
15
+ develop_framework_service.md
16
+ develop_practice_index.md
17
+ develop_practice_llm-adapter.md
18
+ en_develop_basic_config.md
19
+ en_develop_basic_index.md
20
+ en_develop_basic_publish.md
21
+ en_develop_basic_tool.md
22
+ en_develop_cordis-tutorial_01-first-plugin.md
23
+ en_develop_cordis-tutorial_02-lifecycle-and-effects.md
24
+ en_develop_cordis-tutorial_03-services.md
25
+ en_develop_cordis-tutorial_04-events.md
26
+ en_develop_cordis-tutorial_05-config.md
27
+ en_develop_cordis-tutorial_06-composition-and-hmr.md
28
+ en_develop_cordis-tutorial_07-into-the-harness.md
29
+ en_develop_cordis-tutorial_index.md
30
+ en_develop_framework_events.md
31
+ en_develop_framework_index.md
32
+ en_develop_framework_service.md
33
+ en_develop_practice_index.md
34
+ en_develop_practice_llm-adapter.md
35
+ en_guide_providers.md
36
+ en_guide_python-sdk.md
37
+ en_guide_quickstart.md
38
+ en_index.md
39
+ en_reference_agent-lifecycle.md
40
+ en_reference_capability-seams.md
41
+ en_reference_config-catalog.md
42
+ en_reference_cookbook_adding-a-conversation-node.md
43
+ en_reference_cookbook_adding-an-llm-adapter.md
44
+ en_reference_cookbook_adding-a-package.md
45
+ en_reference_cookbook_adding-a-settings-card.md
46
+ en_reference_cookbook_adding-a-tool.md
47
+ en_reference_cookbook_extension-cookbook.md
48
+ en_reference_cordis-api_context.md
49
+ en_reference_cordis-api_events.md
50
+ en_reference_cordis-api_fiber.md
51
+ en_reference_cordis-api_inherited.md
52
+ en_reference_cordis-api_registry.md
53
+ en_reference_cordis-api_service.md
54
+ en_reference_cordis-primer.md
55
+ en_reference_index.md
56
+ en_reference_persistence-catalog.md
57
+ en_reference_subsystems_approval.md
58
+ en_reference_subsystems_client-modules.md
59
+ en_reference_subsystems_code-runtime.md
60
+ en_reference_subsystems_commands.md
61
+ en_reference_subsystems_compaction.md
62
+ en_reference_subsystems_core.md
63
+ en_reference_subsystems_credentials.md
64
+ en_reference_subsystems_filesystem.md
65
+ en_reference_subsystems_goal.md
66
+ en_reference_subsystems_index.md
67
+ en_reference_subsystems_invariants.md
68
+ en_reference_subsystems_jobs.md
69
+ en_reference_subsystems_llm-streaming.md
70
+ en_reference_subsystems_lsp.md
71
+ en_reference_subsystems_permission-presets.md
72
+ en_reference_subsystems_persistence.md
73
+ en_reference_subsystems_plan.md
74
+ en_reference_subsystems_sandbox.md
75
+ en_reference_subsystems_schedule.md
76
+ en_reference_subsystems_scope.md
77
+ en_reference_subsystems_session.md
78
+ en_reference_subsystems_session-projection.md
79
+ en_reference_subsystems_session-query.md
80
+ en_reference_subsystems_session-reference.md
81
+ en_reference_subsystems_session-telemetry.md
82
+ en_reference_subsystems_session-title.md
83
+ en_reference_subsystems_settings.md
84
+ en_reference_subsystems_shell.md
85
+ en_reference_subsystems_skills.md
86
+ en_reference_subsystems_spill.md
87
+ en_reference_subsystems_storage.md
88
+ en_reference_subsystems_subagent.md
89
+ en_reference_subsystems_subprocess.md
90
+ en_reference_subsystems_system-prompt.md
91
+ en_reference_subsystems_terminal.md
92
+ en_reference_subsystems_token-meter.md
93
+ en_reference_subsystems_tools.md
94
+ en_reference_subsystems_typert.md
95
+ en_reference_subsystems_user-questions.md
96
+ en_reference_subsystems_web.md
97
+ en_reference_subsystems_web-server.md
98
+ en_reference_subsystems_workflow.md
99
+ en_reference_subsystems_workspace.md
100
+ en_reference_tool-catalog.md
101
+ en_reference_tool-execution-pipeline.md
102
+ guide_providers.md
103
+ guide_python-sdk.md
104
+ guide_quickstart.md
105
+ index.md
106
+ reference_agent-lifecycle.md
107
+ reference_capability-seams.md
108
+ reference_config-catalog.md
109
+ reference_cookbook_adding-a-conversation-node.md
110
+ reference_cookbook_adding-an-llm-adapter.md
111
+ reference_cookbook_adding-a-package.md
112
+ reference_cookbook_adding-a-settings-card.md
113
+ reference_cookbook_adding-a-tool.md
114
+ reference_cookbook_extension-cookbook.md
115
+ reference_cordis-api_context.md
116
+ reference_cordis-api_events.md
117
+ reference_cordis-api_fiber.md
118
+ reference_cordis-api_inherited.md
119
+ reference_cordis-api_registry.md
120
+ reference_cordis-api_service.md
121
+ reference_cordis-primer.md
122
+ reference_index.md
123
+ reference_persistence-catalog.md
124
+ reference_subsystems_approval.md
125
+ reference_subsystems_client-modules.md
126
+ reference_subsystems_code-runtime.md
127
+ reference_subsystems_commands.md
128
+ reference_subsystems_compaction.md
129
+ reference_subsystems_core.md
130
+ reference_subsystems_credentials.md
131
+ reference_subsystems_filesystem.md
132
+ reference_subsystems_goal.md
133
+ reference_subsystems_index.md
134
+ reference_subsystems_invariants.md
135
+ reference_subsystems_jobs.md
136
+ reference_subsystems_llm-streaming.md
137
+ reference_subsystems_lsp.md
138
+ reference_subsystems_permission-presets.md
139
+ reference_subsystems_persistence.md
140
+ reference_subsystems_plan.md
141
+ reference_subsystems_sandbox.md
142
+ reference_subsystems_schedule.md
143
+ reference_subsystems_scope.md
144
+ reference_subsystems_session.md
145
+ reference_subsystems_session-projection.md
146
+ reference_subsystems_session-query.md
147
+ reference_subsystems_session-reference.md
148
+ reference_subsystems_session-telemetry.md
149
+ reference_subsystems_session-title.md
150
+ reference_subsystems_settings.md
151
+ reference_subsystems_shell.md
152
+ reference_subsystems_skills.md
153
+ reference_subsystems_spill.md
154
+ reference_subsystems_storage.md
155
+ reference_subsystems_subagent.md
156
+ reference_subsystems_subprocess.md
157
+ reference_subsystems_system-prompt.md
158
+ reference_subsystems_terminal.md
159
+ reference_subsystems_token-meter.md
160
+ reference_subsystems_tools.md
161
+ reference_subsystems_typert.md
162
+ reference_subsystems_user-questions.md
163
+ reference_subsystems_web.md
164
+ reference_subsystems_web-server.md
165
+ reference_subsystems_workflow.md
166
+ reference_subsystems_workspace.md
167
+ reference_tool-catalog.md
168
+ reference_tool-execution-pipeline.md
@@ -0,0 +1,13 @@
1
+ {
2
+ "knowledgeBase": "DeepSeek Harness 官方文档知识库",
3
+ "source": "官方文档站点 https://deepseek-harness.github.io/deepseek-harness/ (VitePress)",
4
+ "repository": "https://github.com/deepseek-ai/deepseek-harness",
5
+ "branch": "master",
6
+ "commit": "99f6f02fecdb7dff40c3fbc9470f5907c29f74ca",
7
+ "fetchedAt": "2026-08-17T11:21:17.298Z",
8
+ "siteBase": "https://deepseek-harness.github.io/deepseek-harness",
9
+ "publishedMarkdownPages": 168,
10
+ "siteFiles": 172,
11
+ "images": 4,
12
+ "extraFiles": 50
13
+ }
@@ -0,0 +1,75 @@
1
+ # 主题导航(Topics)
2
+
3
+ > 用途:按**任务场景**快速定位要读的文档。路径相对于知识库根 `kb/`(绝对路径:`D:\dsh\plugins\dsh-plugin-dev-kb\kb\`)。
4
+ > 中文优先读 `site/` 下的文件;英文原文在 `site/en/` 对应路径(如 `site/en/develop/basic/index.md`)。
5
+ > 每个主题:**核心** = 先读这些;**扩展** = 需要细节时再读。
6
+
7
+ ## 1. 入门:第一个插件
8
+ - 核心:`site/develop/basic/index.md`(插件 = 导出 `apply(ctx)` 的模块;`ctx.effect()` 自动清理;三种插件形态:函数/对象/类)
9
+ - 扩展:`site/develop/cordis-tutorial/01-first-plugin.md`、`site/develop/framework/index.md`
10
+
11
+ ## 2. 开发一个 Tool
12
+ - 核心:`site/develop/basic/tool.md`(工具定义 DSL)、`site/reference/cookbook/adding-a-tool.md`(完整步骤 + 验证)
13
+ - 扩展:`site/reference/tool-catalog.md`(全部内置工具 schema,大文件请 grep)、`site/reference/subsystems/tools.md`(注册表与执行流水线)、`site/reference/tool-execution-pipeline.md`
14
+
15
+ ## 3. 插件配置
16
+ - 核心:`site/develop/basic/config.md`、`site/develop/cordis-tutorial/05-config.md`
17
+ - 扩展:`site/reference/config-catalog.md`(全量配置项,大文件请 grep)
18
+
19
+ ## 4. 服务与依赖注入
20
+ - 核心:`site/develop/framework/service.md`、`site/develop/cordis-tutorial/03-services.md`
21
+ - 扩展:`site/reference/cordis-api/service.md`、`site/reference/capability-seams.md`(能力三层:Service Definition / Provider / Consumer)
22
+
23
+ ## 5. 事件系统
24
+ - 核心:`site/develop/framework/events.md`、`site/develop/cordis-tutorial/04-events.md`
25
+ - 扩展:`site/reference/cordis-api/events.md`、`site/reference/persistence-catalog.md`(持久化事件目录)、`extra/event-producer-consumer.md`
26
+
27
+ ## 6. 生命周期与副作用
28
+ - 核心:`site/develop/framework/index.md`、`site/develop/cordis-tutorial/02-lifecycle-and-effects.md`
29
+ - 扩展:`site/reference/agent-lifecycle.md`、`site/reference/cordis-api/context.md`、`extra/defensive-patterns.md`(生命周期/并发/子进程防御模式)
30
+
31
+ ## 7. 打包与发布插件
32
+ - 核心:`site/develop/basic/publish.md`
33
+ - 扩展:`extra/cookbook/adding-a-vendored-package.md`(vendored 包)
34
+
35
+ ## 8. LLM 适配器
36
+ - 核心:`site/develop/practice/llm-adapter.md`、`site/reference/cookbook/adding-an-llm-adapter.md`
37
+ - 扩展:`site/reference/subsystems/llm-streaming.md`(流式响应/Message/ContentBlock/StreamChunk)
38
+
39
+ ## 9. 扩展点与能力分层
40
+ - 核心:`site/develop/practice/index.md`(能力三层拆分)、`site/reference/capability-seams.md`
41
+ - 扩展:`site/reference/cookbook/extension-cookbook.md`(扩展模式)、`site/reference/cookbook/adding-a-conversation-node.md`
42
+
43
+ ## 10. 新增 Package / 设置卡片 / Conversation Node
44
+ - 核心:`site/reference/cookbook/adding-a-package.md`、`site/reference/cookbook/adding-a-settings-card.md`、`site/reference/cookbook/adding-a-conversation-node.md`
45
+
46
+ ## 11. 子系统能力速查(按需)
47
+ - 总览:`site/reference/subsystems/index.md`;README 约定见 `site/reference/subsystems/README.md`
48
+ - 内核与作用域:`core.md`、`scope.md`、`invariants.md`(运行时不变式)
49
+ - 会话与持久化:`session.md`、`session-query.md`、`session-reference.md`、`session-title.md`、`session-projection.md`、`persistence.md`、`spill.md`、`session-telemetry.md`
50
+ - 模型与上下文:`llm-streaming.md`、`token-meter.md`、`system-prompt.md`、`compaction.md`(上下文压缩)
51
+ - 执行与工具:`tools.md`、`shell.md`(Bash)、`subprocess.md`、`terminal.md`(PTY)、`jobs.md`(后台任务)、`filesystem.md`、`lsp.md`、`code-runtime.md`、`web.md`、`skills.md`、`workflow.md`、`subagent.md`
52
+ - 策略与交互:`approval.md`(审批)、`permission-presets.md`、`sandbox.md`、`plan.md`(计划模式)、`user-questions.md`、`commands.md`、`goal.md`、`schedule.md`
53
+ - 平台与接入:`web-server.md`(HTTP 服务器)、`typert.md`、`client-modules.md`、`storage.md`、`workspace.md`、`settings.md`、`credentials.md`
54
+ - 以上均在 `site/reference/subsystems/` 下(如 `site/reference/subsystems/session.md`)
55
+
56
+ ## 12. 架构与核心概念
57
+ - 核心:`site/reference/index.md`(架构总览:组合、核心包、循环、seam、扩展点)、`site/reference/cordis-primer.md`(Cordis 入门)
58
+ - 扩展:`extra/glossary.md`(术语表:capability seam 等)、`extra/module-graph.md`(模块依赖全景图,大文件请 grep)、`extra/graph-atlas.md`
59
+
60
+ ## 13. 系统提示词 / Token / 上下文压缩
61
+ - `site/reference/subsystems/system-prompt.md`、`token-meter.md`、`compaction.md`
62
+
63
+ ## 14. 测试与防御
64
+ - `extra/testing.md`(测试策略:快照/e2e/单测边界)、`extra/defensive-patterns.md`、`extra/postmortem/`(事故复盘 4 篇,含沙箱/进程故障模式)
65
+
66
+ ## 15. 文档规范与贡献
67
+ - `extra/AGENTS.md`(文档分层标准:tutorial/reference、字数预算)、`extra/development.md`(开发环境与工作流)、`extra/i18n/`(双语规范与术语)
68
+
69
+ ## 16. 中英对照
70
+ - 英文站:`site/en/`(结构与中文站一致:`guide/`、`develop/`、`reference/`);`INDEX.md` 有全部 URL ↔ 文件对照
71
+
72
+ ## 检索技巧
73
+ - 全量索引:`meta/search-index.json`(220 个文件的 path/url/title/字符数)
74
+ - 大文件(config-catalog / tool-catalog / module-graph / subsystems/session 等 ≥100KB)先用 grep 定位关键行,再 read 局部,不要整读
75
+ - 常用检索关键词:`ctx.effect`、`ctx.on`、`ctx.tools.register`、`inject`、`Service Definition`、`cordis.yml`、`SessionEventMap`
@@ -0,0 +1,108 @@
1
+ ---
2
+ editSource: "docs/user/develop/basic/config.zh.md"
3
+ ---
4
+
5
+ # 插件配置
6
+
7
+ 让你的插件接受用户在 `cordis.yml` 中传入的配置。
8
+
9
+ ## 定义 Config 类型
10
+
11
+ 在插件中导出一个 `Config` 类型和同名的 Schemastery schema;默认值直接写在 schema 中:
12
+
13
+ ```ts
14
+ import type { Context } from '@deepseek-ai/cordis'
15
+ import Schema from '@deepseek-ai/schemastery'
16
+
17
+ export const name = 'my-plugin'
18
+
19
+ export interface Config {
20
+ greeting: string
21
+ maxRetries: number
22
+ verbose?: boolean
23
+ }
24
+
25
+ export const Config: Schema<Config> = Schema.object({
26
+ greeting: Schema.string().default('Hello'),
27
+ maxRetries: Schema.number().default(3),
28
+ verbose: Schema.boolean().default(false),
29
+ })
30
+
31
+ export function apply(ctx: Context, config: Config) {
32
+ console.log(config.greeting) // User value or schema default.
33
+ }
34
+ ```
35
+
36
+ 在 `scratch-plugin/cordis.yml` 新插入的本地插件行中添加配置:
37
+
38
+ ```yaml
39
+ - insert:
40
+ - id: hello
41
+ name: './src/my-plugin.ts'
42
+ config:
43
+ greeting: 'Hi there'
44
+ maxRetries: 5
45
+ ```
46
+
47
+ 插件加载时,Cordis 会通过导出的 schema 校验配置,并填充未提供字段的默认值。不要导出普通对象作为 `Config`,因为它不满足 Cordis 要求的 Standard Schema 接口。
48
+
49
+ ## Schema 校验
50
+
51
+ 对于需要严格校验的场景,使用 Schemastery 定义 schema:
52
+
53
+ ```ts
54
+ import type { Context } from '@deepseek-ai/cordis'
55
+ import Schema from '@deepseek-ai/schemastery'
56
+
57
+ export const name = 'validated-plugin'
58
+
59
+ export interface Config {
60
+ apiKey: string
61
+ timeout: number
62
+ mode: 'fast' | 'accurate'
63
+ }
64
+
65
+ export const Config = Schema.object({
66
+ apiKey: Schema.string().required(),
67
+ timeout: Schema.number().default(30000),
68
+ mode: Schema.union(['fast', 'accurate']).default('fast'),
69
+ })
70
+
71
+ export function apply(ctx: Context, config: Config) {
72
+ // config is validated and type-safe.
73
+ }
74
+ ```
75
+
76
+ Schema 在插件加载时执行校验。如果配置不合法,插件会加载失败并给出明确错误信息。
77
+
78
+ ## 设计原则
79
+
80
+ ### 无硬编码可调参数
81
+
82
+ Harness 的约定:**凡是不同部署可能需要采用不同值的参数,都必须定义为配置字段**。
83
+
84
+ ```ts
85
+ // Wrong: hardcoded timeout.
86
+ const TIMEOUT = 30000
87
+
88
+ // Correct: configurable.
89
+ export interface Config {
90
+ timeoutMs: number // Defaults to 30000.
91
+ }
92
+ ```
93
+
94
+ 检验标准:能否在 `cordis.yml` 中改变这个值,而不需要修改代码?
95
+
96
+ ### 配置错误要响亮
97
+
98
+ 在 schema 中表达自身完备的约束,使无效配置在插件加载时失败。对服务或已注册资源的引用需要依赖注入;[服务教程](../framework/service.md) 会介绍这项约定。
99
+
100
+ ## 配合 HMR
101
+
102
+ 配置变更会触发插件热替换:修改 `cordis.yml` 中某个插件的 `config` 后,框架会卸载旧实例并加载新实例。由于注册都属于 effect 并会自动清理,替换后不会保留旧实例的注册。
103
+
104
+ ## 下一步
105
+
106
+ - [打包与安装插件](./publish.md) — 把插件以可安装包的形式交付
107
+ - [插件与生命周期](../framework/index.md) — 深入了解插件的完整生命周期
108
+ - [服务与依赖](../framework/service.md) — 让你的插件对外提供服务
@@ -0,0 +1,146 @@
1
+ ---
2
+ editSource: "docs/user/develop/basic/index.zh.md"
3
+ ---
4
+
5
+ # 第一个插件
6
+
7
+ 本教程会创建一个最小的 Harness 插件,并将其加载到 Web UI 中。请从已完成[从源码运行路径](https://github.com/deepseek-ai/deepseek-harness/blob/master/README.md#run-from-source)的仓库检出开始。
8
+
9
+ ## 创建本地项目
10
+
11
+ 在仓库根目录创建本教程使用的临时项目:
12
+
13
+ ```sh
14
+ mkdir -p scratch-plugin/src
15
+ ```
16
+
17
+ ## 插件是什么
18
+
19
+ 在 Harness 中,插件是一个导出 `apply` 函数的 TypeScript 模块。框架在加载时调用 `apply`,传入一个 `ctx`(上下文对象),你通过 `ctx` 注册能力:
20
+
21
+ ```ts
22
+ import type { Context } from '@deepseek-ai/cordis'
23
+
24
+ export const name = 'my-plugin'
25
+
26
+ export function apply(ctx: Context) {
27
+ // Register capabilities here.
28
+ }
29
+ ```
30
+
31
+ 这就是完整配置。
32
+
33
+ ## 创建插件文件
34
+
35
+ 创建 `scratch-plugin/src/my-plugin.ts`:
36
+
37
+ ```ts
38
+ import type { Context } from '@deepseek-ai/cordis'
39
+
40
+ export const name = 'hello-plugin'
41
+
42
+ export function apply(ctx: Context) {
43
+ // Required dependencies are ready before apply runs.
44
+ console.log('[hello-plugin] plugin loaded!')
45
+ }
46
+ ```
47
+
48
+ ## 注册到 cordis.yml
49
+
50
+ 在仓库根目录运行 `pwd`,然后创建 `scratch-plugin/cordis.yml`,作为插入本地插件的 Web 覆盖层。请将下文的 `/absolute/path/to/deepseek-harness` 替换为命令打印的路径:
51
+
52
+ ```yaml
53
+ - insert:
54
+ - id: hello
55
+ name: '/absolute/path/to/deepseek-harness/scratch-plugin/src/my-plugin.ts'
56
+ ```
57
+
58
+ 插件路径必须是绝对路径。patch 文件只贡献配置,不会改变 loader 解析模块路径时使用的 profile 目录。
59
+
60
+ 使用该覆盖层启动 Web UI:
61
+
62
+ ```sh
63
+ pnpm dsh web --patch ./scratch-plugin/cordis.yml
64
+ ```
65
+
66
+ 打开 `http://127.0.0.1:3080`。启动期间,终端会打印 `[hello-plugin] plugin loaded!`。
67
+
68
+ ## 自动清理
69
+
70
+ 通过 `ctx` 注册的任何东西——事件监听、工具、定时器——在插件卸载时都会被自动清理。你不需要手动 removeListener 或 clearInterval。
71
+
72
+ 如果你有需要手动清理的资源(比如一个网络连接),用 `ctx.effect()` 告诉框架怎么清理:
73
+
74
+ ```ts
75
+ import type { Context } from '@deepseek-ai/cordis'
76
+
77
+ export function apply(ctx: Context) {
78
+ ctx.effect(() => {
79
+ const timer = setInterval(() => {
80
+ console.log('heartbeat')
81
+ }, 5000)
82
+
83
+ // The returned function runs when the plugin unloads.
84
+ return () => clearInterval(timer)
85
+ })
86
+ }
87
+ ```
88
+
89
+ ## 声明依赖
90
+
91
+ 如果你的插件需要使用其他服务(如 `tools`、`llm`),需要声明 `inject`:
92
+
93
+ ```ts ignore-check
94
+ import type { Context } from '@deepseek-ai/cordis'
95
+
96
+ export const name = 'my-tool-plugin'
97
+ export const inject = ['tools']
98
+
99
+ export function apply(ctx: Context) {
100
+ // ctx.tools is ready here.
101
+ ctx.tools.register(/* ... */)
102
+ }
103
+ ```
104
+
105
+ 框架会确保依赖的服务就绪后才加载你的插件。
106
+
107
+ ## 插件的三种形态
108
+
109
+ 除了函数形式,插件还支持对象形式和类形式:
110
+
111
+ ### 对象形式
112
+
113
+ ```ts
114
+ import type { Context } from '@deepseek-ai/cordis'
115
+
116
+ export default {
117
+ name: 'my-plugin',
118
+ inject: ['tools'],
119
+ apply(ctx: Context) {
120
+ // ...
121
+ },
122
+ }
123
+ ```
124
+
125
+ ### 类形式
126
+
127
+ ```ts
128
+ import { Service, type Context } from '@deepseek-ai/cordis'
129
+
130
+ export default class MyService extends Service {
131
+ static inject = ['tools']
132
+
133
+ constructor(ctx: Context) {
134
+ super(ctx, 'myService')
135
+ // Perform synchronous initialization in the constructor.
136
+ }
137
+ }
138
+ ```
139
+
140
+ 大多数情况下,函数形式足够了。当插件需要向其他插件提供服务时,可使用类形式(见 [服务与依赖](../framework/service.md))。
141
+
142
+ ## 下一步
143
+
144
+ - [开发一个工具](./tool.md) — 了解工具定义 DSL
145
+ - [插件配置](./config.md) — 让插件接受用户配置
146
+ - [Cordis 框架教程](../cordis-tutorial/index.md) — 底层的插件框架,在临时目录中动手构建,无需 API 密钥