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
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 dsh-plugin-dev-kb contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,56 @@
1
+ # dsh-plugin-dev-kb
2
+
3
+ DeepSeek Harness(dsh)**插件开发知识库**:把官方文档站点
4
+ <https://deepseek-harness.github.io/deepseek-harness/> 的全部内容整理为 dsh 原生可用的形态。
5
+
6
+ ## 这是什么
7
+
8
+ - **站点完整镜像**:官方文档(VitePress)由仓库 `deepseek-ai/deepseek-harness` 的 `docs/` 原始 Markdown
9
+ 投影生成(链接已按站点路由重写,与线上逐字一致)。中英双语共 168 页。
10
+ - **补充文档**:仓库 `docs/` 中未发布到站点的 50 篇开发参考(术语表、防御模式、模块图、测试策略、事故复盘、i18n 规范等)。
11
+ - **agent 友好**:`skills/dsh-plugin-dev-kb.md` 技能让 dsh 在插件开发任务中自动加载,获知知识库位置、
12
+ 主题导航与检索策略;`kb/meta/topics.md` 按任务场景映射要读的文件;`kb/meta/search-index.json` 提供全量检索。
13
+
14
+ ## 安装 / 挂载
15
+
16
+ 插件目录放在 `D:\dsh\plugins\dsh-plugin-dev-kb\`(与本机其他 dsh 插件同级)。
17
+ `cordis.patch.yml` 声明 `- insert: { id: dsh-plugin-dev-kb, name: dsh-plugin-dev-kb }`,
18
+ 挂载为 profile 根层插件行;其 `skills/` 技能进入全局层。
19
+
20
+ > 重新启动 / 新建 dsh 会话后,`dsh-plugin-dev-kb` 技能才会出现在可用技能列表中(技能清单在会话启动时快照)。
21
+
22
+ ## 目录结构
23
+
24
+ ```
25
+ dsh-plugin-dev-kb/
26
+ ├── cordis.patch.yml 挂载声明
27
+ ├── package.json 插件元数据
28
+ ├── skills/
29
+ │ └── dsh-plugin-dev-kb.md ★ 知识库使用指南(agent 加载此技能)
30
+ ├── kb/
31
+ │ ├── site/ 站点镜像:guide/ develop/ reference/(+ en/ 英文站)
32
+ │ ├── extra/ 仓库补充文档:glossary、defensive-patterns、module-graph、postmortem/、i18n/ …
33
+ │ ├── meta/
34
+ │ │ ├── topics.md ★ 主题导航:任务场景 → 文件
35
+ │ │ ├── search-index.json 全量索引(220 文件)
36
+ │ │ ├── source.json 来源 commit / 时间 / 统计
37
+ │ │ └── site-pages.txt 线上页面清单
38
+ │ ├── INDEX.md 站点 URL ↔ 本地文件 对照
39
+ │ └── README.md 知识库总览与更新方法
40
+ └── LICENSE
41
+ ```
42
+
43
+ ## 使用
44
+
45
+ - **agent 侧**:写插件 / Tool / 配置 / 服务 / 事件 / 打包 / LLM 适配器时,加载
46
+ `dsh-plugin-dev-kb` 技能 → 读 `kb/meta/topics.md` 定位 → 按需 read/grep。
47
+ - **人侧**:直接浏览 `kb/` 目录,或打开 `kb/INDEX.md` 按 URL 对照查阅。
48
+
49
+ ## 更新知识库
50
+
51
+ 见 `kb/README.md`:重新克隆 `deepseek-ai/deepseek-harness`,安装投影依赖后运行
52
+ `scripts/project-doc-site.ts` 生成 `website/.generated/`,覆盖 `kb/site/`,再重新生成索引。
53
+
54
+ ## License
55
+
56
+ MIT
@@ -0,0 +1,12 @@
1
+ # dsh-plugin-dev-kb bundle patch:DeepSeek Harness 官方文档知识库
2
+ #
3
+ # 挂载为 profile 根层的一个插件行(与 dsh-base / dsh-web-app 同一平面)。
4
+ # 插件无 JS 代码(纯文档数据),skills/ 下的 dsh-plugin-dev-kb 技能进入全局层,
5
+ # 每个会话的 agent 在插件开发 / 查询 dsh 能力 / 写 Tool / 配置 cordis.yml 类任务时,
6
+ # 会根据技能 description 自动加载本技能,从而获知知识库位置与阅读路径。
7
+ #
8
+ # 知识库数据在插件内 kb/ 目录(site/ 站点镜像 + extra/ 补充文档 + meta/ 主题导航与索引)。
9
+ # 更新知识库:见 kb/README.md(重新克隆 deepseek-ai/deepseek-harness 并运行站点投影器)。
10
+ - insert:
11
+ - id: dsh-plugin-dev-kb
12
+ name: dsh-plugin-dev-kb
package/kb/INDEX.md ADDED
@@ -0,0 +1,210 @@
1
+ # DeepSeek Harness 文档索引
2
+
3
+ > 由 `scripts/rebuild-index.mjs` 自动生成。共 168 个站点页面(中英双语),另有 53 个补充文档在 `extra/`。
4
+
5
+ ## 中文站点(根路径)
6
+
7
+ ### 首页
8
+
9
+ | 页面 | 站点 URL | 本地文件 |
10
+ | --- | --- | --- |
11
+ | site/index.md | [https://deepseek-harness.github.io/deepseek-harness](https://deepseek-harness.github.io/deepseek-harness) | `site/index.md` |
12
+
13
+ ### 入门(/guide/)
14
+
15
+ | 页面 | 站点 URL | 本地文件 |
16
+ | --- | --- | --- |
17
+ | 配置模型 | [https://deepseek-harness.github.io/deepseek-harness/guide/providers](https://deepseek-harness.github.io/deepseek-harness/guide/providers) | `site/guide/providers.md` |
18
+ | Python SDK 快速上手 | [https://deepseek-harness.github.io/deepseek-harness/guide/python-sdk](https://deepseek-harness.github.io/deepseek-harness/guide/python-sdk) | `site/guide/python-sdk.md` |
19
+ | 使用 Web UI | [https://deepseek-harness.github.io/deepseek-harness/guide/quickstart](https://deepseek-harness.github.io/deepseek-harness/guide/quickstart) | `site/guide/quickstart.md` |
20
+
21
+ ### 开发(/develop/)
22
+
23
+ | 页面 | 站点 URL | 本地文件 |
24
+ | --- | --- | --- |
25
+ | 插件配置 | [https://deepseek-harness.github.io/deepseek-harness/develop/basic/config](https://deepseek-harness.github.io/deepseek-harness/develop/basic/config) | `site/develop/basic/config.md` |
26
+ | 第一个插件 | [https://deepseek-harness.github.io/deepseek-harness/develop/basic](https://deepseek-harness.github.io/deepseek-harness/develop/basic) | `site/develop/basic/index.md` |
27
+ | 打包与安装插件 | [https://deepseek-harness.github.io/deepseek-harness/develop/basic/publish](https://deepseek-harness.github.io/deepseek-harness/develop/basic/publish) | `site/develop/basic/publish.md` |
28
+ | 开发一个工具 | [https://deepseek-harness.github.io/deepseek-harness/develop/basic/tool](https://deepseek-harness.github.io/deepseek-harness/develop/basic/tool) | `site/develop/basic/tool.md` |
29
+ | 1. 编写第一个插件 | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/01-first-plugin](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/01-first-plugin) | `site/develop/cordis-tutorial/01-first-plugin.md` |
30
+ | 2. 生命周期与 effect | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/02-lifecycle-and-effects](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/02-lifecycle-and-effects) | `site/develop/cordis-tutorial/02-lifecycle-and-effects.md` |
31
+ | 3. 服务 | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/03-services](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/03-services) | `site/develop/cordis-tutorial/03-services.md` |
32
+ | 4. 事件 | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/04-events](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/04-events) | `site/develop/cordis-tutorial/04-events.md` |
33
+ | 5. 配置 | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/05-config](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/05-config) | `site/develop/cordis-tutorial/05-config.md` |
34
+ | 6. 组合与 HMR(热模块替换) | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/06-composition-and-hmr](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/06-composition-and-hmr) | `site/develop/cordis-tutorial/06-composition-and-hmr.md` |
35
+ | 7. 进入 harness | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/07-into-the-harness](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial/07-into-the-harness) | `site/develop/cordis-tutorial/07-into-the-harness.md` |
36
+ | Cordis 教程 | [https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial](https://deepseek-harness.github.io/deepseek-harness/develop/cordis-tutorial) | `site/develop/cordis-tutorial/index.md` |
37
+ | 事件系统 | [https://deepseek-harness.github.io/deepseek-harness/develop/framework/events](https://deepseek-harness.github.io/deepseek-harness/develop/framework/events) | `site/develop/framework/events.md` |
38
+ | 插件与生命周期 | [https://deepseek-harness.github.io/deepseek-harness/develop/framework](https://deepseek-harness.github.io/deepseek-harness/develop/framework) | `site/develop/framework/index.md` |
39
+ | 服务与依赖 | [https://deepseek-harness.github.io/deepseek-harness/develop/framework/service](https://deepseek-harness.github.io/deepseek-harness/develop/framework/service) | `site/develop/framework/service.md` |
40
+ | 能力的三种角色设计 | [https://deepseek-harness.github.io/deepseek-harness/develop/practice](https://deepseek-harness.github.io/deepseek-harness/develop/practice) | `site/develop/practice/index.md` |
41
+ | LLM 适配器 | [https://deepseek-harness.github.io/deepseek-harness/develop/practice/llm-adapter](https://deepseek-harness.github.io/deepseek-harness/develop/practice/llm-adapter) | `site/develop/practice/llm-adapter.md` |
42
+
43
+ ### 参考(/reference/)
44
+
45
+ | 页面 | 站点 URL | 本地文件 |
46
+ | --- | --- | --- |
47
+ | Agent 轮次与步骤生命周期 | [https://deepseek-harness.github.io/deepseek-harness/reference/agent-lifecycle](https://deepseek-harness.github.io/deepseek-harness/reference/agent-lifecycle) | `site/reference/agent-lifecycle.md` |
48
+ | 能力 Seams 与核心服务 | [https://deepseek-harness.github.io/deepseek-harness/reference/capability-seams](https://deepseek-harness.github.io/deepseek-harness/reference/capability-seams) | `site/reference/capability-seams.md` |
49
+ | 插件配置目录 | [https://deepseek-harness.github.io/deepseek-harness/reference/config-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/config-catalog) | `site/reference/config-catalog.md` |
50
+ | 添加 Web Client Conversation Node | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-conversation-node](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-conversation-node) | `site/reference/cookbook/adding-a-conversation-node.md` |
51
+ | 实操手册:添加 workspace 包 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-package](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-package) | `site/reference/cookbook/adding-a-package.md` |
52
+ | Cookbook: 新增设置卡片 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-settings-card](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-settings-card) | `site/reference/cookbook/adding-a-settings-card.md` |
53
+ | 工具编写参考 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool) | `site/reference/cookbook/adding-a-tool.md` |
54
+ | 实操手册:添加 LLM(大语言模型)适配器 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-an-llm-adapter](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-an-llm-adapter) | `site/reference/cookbook/adding-an-llm-adapter.md` |
55
+ | 实操手册:扩展插件形态 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/extension-cookbook](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/extension-cookbook) | `site/reference/cookbook/extension-cookbook.md` |
56
+ | 上下文 | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/context](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/context) | `site/reference/cordis-api/context.md` |
57
+ | 事件 | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/events](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/events) | `site/reference/cordis-api/events.md` |
58
+ | Fiber | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/fiber](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/fiber) | `site/reference/cordis-api/fiber.md` |
59
+ | Inherited Cordis API | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/inherited](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/inherited) | `site/reference/cordis-api/inherited.md` |
60
+ | 注册表 | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/registry](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/registry) | `site/reference/cordis-api/registry.md` |
61
+ | Service | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/service](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/service) | `site/reference/cordis-api/service.md` |
62
+ | Cordis 入门 | [https://deepseek-harness.github.io/deepseek-harness/reference/cordis-primer](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-primer) | `site/reference/cordis-primer.md` |
63
+ | DeepSeek Harness 架构 | [https://deepseek-harness.github.io/deepseek-harness/reference](https://deepseek-harness.github.io/deepseek-harness/reference) | `site/reference/index.md` |
64
+ | 会话持久化事件目录 | [https://deepseek-harness.github.io/deepseek-harness/reference/persistence-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/persistence-catalog) | `site/reference/persistence-catalog.md` |
65
+ | 用户审批 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/approval](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/approval) | `site/reference/subsystems/approval.md` |
66
+ | Client 模块 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/client-modules](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/client-modules) | `site/reference/subsystems/client-modules.md` |
67
+ | 代码运行时 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/code-runtime](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/code-runtime) | `site/reference/subsystems/code-runtime.md` |
68
+ | 用户命令 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/commands](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/commands) | `site/reference/subsystems/commands.md` |
69
+ | 压缩(compaction) | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/compaction](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/compaction) | `site/reference/subsystems/compaction.md` |
70
+ | 核心 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/core](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/core) | `site/reference/subsystems/core.md` |
71
+ | 用户凭据 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/credentials](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/credentials) | `site/reference/subsystems/credentials.md` |
72
+ | 文件系统 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/filesystem](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/filesystem) | `site/reference/subsystems/filesystem.md` |
73
+ | 同会话目标 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/goal](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/goal) | `site/reference/subsystems/goal.md` |
74
+ | 子系统 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems) | `site/reference/subsystems/index.md` |
75
+ | 运行时不变式 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/invariants](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/invariants) | `site/reference/subsystems/invariants.md` |
76
+ | 后台任务运行时 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/jobs](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/jobs) | `site/reference/subsystems/jobs.md` |
77
+ | LLM(大语言模型)流式输出 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/llm-streaming](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/llm-streaming) | `site/reference/subsystems/llm-streaming.md` |
78
+ | LSP 导航 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/lsp](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/lsp) | `site/reference/subsystems/lsp.md` |
79
+ | 权限预设 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/permission-presets](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/permission-presets) | `site/reference/subsystems/permission-presets.md` |
80
+ | 会话持久化 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/persistence](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/persistence) | `site/reference/subsystems/persistence.md` |
81
+ | 计划模式 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/plan](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/plan) | `site/reference/subsystems/plan.md` |
82
+ | 进程沙箱 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/sandbox](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/sandbox) | `site/reference/subsystems/sandbox.md` |
83
+ | 仅限 Session 内的 Schedule | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/schedule](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/schedule) | `site/reference/subsystems/schedule.md` |
84
+ | 作用域注册 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/scope](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/scope) | `site/reference/subsystems/scope.md` |
85
+ | 会话投影 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-projection](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-projection) | `site/reference/subsystems/session-projection.md` |
86
+ | 会话查询 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-query](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-query) | `site/reference/subsystems/session-query.md` |
87
+ | 会话引用 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-reference](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-reference) | `site/reference/subsystems/session-reference.md` |
88
+ | 遥测(telemetry) | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-telemetry](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-telemetry) | `site/reference/subsystems/session-telemetry.md` |
89
+ | 会话标题 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-title](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session-title) | `site/reference/subsystems/session-title.md` |
90
+ | 会话 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/session) | `site/reference/subsystems/session.md` |
91
+ | 用户设置 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/settings](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/settings) | `site/reference/subsystems/settings.md` |
92
+ | Bash 执行器 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/shell](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/shell) | `site/reference/subsystems/shell.md` |
93
+ | Skills | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/skills](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/skills) | `site/reference/subsystems/skills.md` |
94
+ | spill 存储 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/spill](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/spill) | `site/reference/subsystems/spill.md` |
95
+ | 存储 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/storage](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/storage) | `site/reference/subsystems/storage.md` |
96
+ | Subagent | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/subagent](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/subagent) | `site/reference/subsystems/subagent.md` |
97
+ | 子进程 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/subprocess](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/subprocess) | `site/reference/subsystems/subprocess.md` |
98
+ | 系统提示词组装 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/system-prompt](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/system-prompt) | `site/reference/subsystems/system-prompt.md` |
99
+ | 持久 PTY 会话 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/terminal](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/terminal) | `site/reference/subsystems/terminal.md` |
100
+ | Token 计量 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/token-meter](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/token-meter) | `site/reference/subsystems/token-meter.md` |
101
+ | 工具 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/tools](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/tools) | `site/reference/subsystems/tools.md` |
102
+ | Typert 远程调用 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/typert](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/typert) | `site/reference/subsystems/typert.md` |
103
+ | 用户交互 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/user-questions](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/user-questions) | `site/reference/subsystems/user-questions.md` |
104
+ | HTTP 服务器 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web-server](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web-server) | `site/reference/subsystems/web-server.md` |
105
+ | Web 访问 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web) | `site/reference/subsystems/web.md` |
106
+ | 工作流 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/workflow](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/workflow) | `site/reference/subsystems/workflow.md` |
107
+ | 工作区 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/workspace](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/workspace) | `site/reference/subsystems/workspace.md` |
108
+ | 工具 Schema 目录 | [https://deepseek-harness.github.io/deepseek-harness/reference/tool-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/tool-catalog) | `site/reference/tool-catalog.md` |
109
+ | 工具执行流水线 | [https://deepseek-harness.github.io/deepseek-harness/reference/tool-execution-pipeline](https://deepseek-harness.github.io/deepseek-harness/reference/tool-execution-pipeline) | `site/reference/tool-execution-pipeline.md` |
110
+
111
+ ## 英文站点(/en/)
112
+
113
+ ### 首页
114
+
115
+ | 页面 | 站点 URL | 本地文件 |
116
+ | --- | --- | --- |
117
+ | site/en/index.md | [https://deepseek-harness.github.io/deepseek-harness/en](https://deepseek-harness.github.io/deepseek-harness/en) | `site/en/index.md` |
118
+
119
+ ### 全部英文页面(/en/...)
120
+
121
+ | 页面 | 站点 URL | 本地文件 |
122
+ | --- | --- | --- |
123
+ | Plugin configuration | [https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/config](https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/config) | `site/en/develop/basic/config.md` |
124
+ | Your first plugin | [https://deepseek-harness.github.io/deepseek-harness/en/develop/basic](https://deepseek-harness.github.io/deepseek-harness/en/develop/basic) | `site/en/develop/basic/index.md` |
125
+ | Package and install a plugin | [https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/publish](https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/publish) | `site/en/develop/basic/publish.md` |
126
+ | Build a tool | [https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/tool](https://deepseek-harness.github.io/deepseek-harness/en/develop/basic/tool) | `site/en/develop/basic/tool.md` |
127
+ | 1. Your first plugin | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/01-first-plugin](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/01-first-plugin) | `site/en/develop/cordis-tutorial/01-first-plugin.md` |
128
+ | 2. Lifecycle and effects | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/02-lifecycle-and-effects](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/02-lifecycle-and-effects) | `site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md` |
129
+ | 3. Services | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/03-services](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/03-services) | `site/en/develop/cordis-tutorial/03-services.md` |
130
+ | 4. Events | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/04-events](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/04-events) | `site/en/develop/cordis-tutorial/04-events.md` |
131
+ | 5. Configuration | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/05-config](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/05-config) | `site/en/develop/cordis-tutorial/05-config.md` |
132
+ | 6. Composition and HMR | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/06-composition-and-hmr](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/06-composition-and-hmr) | `site/en/develop/cordis-tutorial/06-composition-and-hmr.md` |
133
+ | 7. Into the harness | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/07-into-the-harness](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial/07-into-the-harness) | `site/en/develop/cordis-tutorial/07-into-the-harness.md` |
134
+ | Cordis tutorial | [https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial](https://deepseek-harness.github.io/deepseek-harness/en/develop/cordis-tutorial) | `site/en/develop/cordis-tutorial/index.md` |
135
+ | Event system | [https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/events](https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/events) | `site/en/develop/framework/events.md` |
136
+ | Plugins and lifecycle | [https://deepseek-harness.github.io/deepseek-harness/en/develop/framework](https://deepseek-harness.github.io/deepseek-harness/en/develop/framework) | `site/en/develop/framework/index.md` |
137
+ | Services and dependencies | [https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/service](https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/service) | `site/en/develop/framework/service.md` |
138
+ | Three-role capability design | [https://deepseek-harness.github.io/deepseek-harness/en/develop/practice](https://deepseek-harness.github.io/deepseek-harness/en/develop/practice) | `site/en/develop/practice/index.md` |
139
+ | LLM adapters | [https://deepseek-harness.github.io/deepseek-harness/en/develop/practice/llm-adapter](https://deepseek-harness.github.io/deepseek-harness/en/develop/practice/llm-adapter) | `site/en/develop/practice/llm-adapter.md` |
140
+ | Configure models | [https://deepseek-harness.github.io/deepseek-harness/en/guide/providers](https://deepseek-harness.github.io/deepseek-harness/en/guide/providers) | `site/en/guide/providers.md` |
141
+ | Get started with the Python SDK | [https://deepseek-harness.github.io/deepseek-harness/en/guide/python-sdk](https://deepseek-harness.github.io/deepseek-harness/en/guide/python-sdk) | `site/en/guide/python-sdk.md` |
142
+ | Use the Web UI | [https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart](https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart) | `site/en/guide/quickstart.md` |
143
+ | Agent Turn And Step Lifecycle | [https://deepseek-harness.github.io/deepseek-harness/en/reference/agent-lifecycle](https://deepseek-harness.github.io/deepseek-harness/en/reference/agent-lifecycle) | `site/en/reference/agent-lifecycle.md` |
144
+ | Capability Seams And Core Services | [https://deepseek-harness.github.io/deepseek-harness/en/reference/capability-seams](https://deepseek-harness.github.io/deepseek-harness/en/reference/capability-seams) | `site/en/reference/capability-seams.md` |
145
+ | Plugin Config Catalog | [https://deepseek-harness.github.io/deepseek-harness/en/reference/config-catalog](https://deepseek-harness.github.io/deepseek-harness/en/reference/config-catalog) | `site/en/reference/config-catalog.md` |
146
+ | Add a Web Client conversation node | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-conversation-node](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-conversation-node) | `site/en/reference/cookbook/adding-a-conversation-node.md` |
147
+ | Cookbook: adding a workspace package | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-package](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-package) | `site/en/reference/cookbook/adding-a-package.md` |
148
+ | Cookbook: adding a settings card | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-settings-card](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-settings-card) | `site/en/reference/cookbook/adding-a-settings-card.md` |
149
+ | Tool authoring reference | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-tool) | `site/en/reference/cookbook/adding-a-tool.md` |
150
+ | Cookbook: adding an LLM adapter | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-an-llm-adapter](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-an-llm-adapter) | `site/en/reference/cookbook/adding-an-llm-adapter.md` |
151
+ | Cookbook: extension plugin shapes | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/extension-cookbook](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/extension-cookbook) | `site/en/reference/cookbook/extension-cookbook.md` |
152
+ | Context | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/context](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/context) | `site/en/reference/cordis-api/context.md` |
153
+ | Events | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/events](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/events) | `site/en/reference/cordis-api/events.md` |
154
+ | Fiber | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/fiber](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/fiber) | `site/en/reference/cordis-api/fiber.md` |
155
+ | Inherited Cordis API | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/inherited](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/inherited) | `site/en/reference/cordis-api/inherited.md` |
156
+ | Registry | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/registry](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/registry) | `site/en/reference/cordis-api/registry.md` |
157
+ | Service | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/service](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-api/service) | `site/en/reference/cordis-api/service.md` |
158
+ | Cordis Primer | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-primer](https://deepseek-harness.github.io/deepseek-harness/en/reference/cordis-primer) | `site/en/reference/cordis-primer.md` |
159
+ | DeepSeek Harness Architecture | [https://deepseek-harness.github.io/deepseek-harness/en/reference](https://deepseek-harness.github.io/deepseek-harness/en/reference) | `site/en/reference/index.md` |
160
+ | Session Persistence Event Catalog | [https://deepseek-harness.github.io/deepseek-harness/en/reference/persistence-catalog](https://deepseek-harness.github.io/deepseek-harness/en/reference/persistence-catalog) | `site/en/reference/persistence-catalog.md` |
161
+ | User Approval | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/approval](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/approval) | `site/en/reference/subsystems/approval.md` |
162
+ | Client Modules | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/client-modules](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/client-modules) | `site/en/reference/subsystems/client-modules.md` |
163
+ | Code Runtime | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/code-runtime](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/code-runtime) | `site/en/reference/subsystems/code-runtime.md` |
164
+ | Human Commands | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/commands](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/commands) | `site/en/reference/subsystems/commands.md` |
165
+ | Compaction | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/compaction](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/compaction) | `site/en/reference/subsystems/compaction.md` |
166
+ | Core | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/core](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/core) | `site/en/reference/subsystems/core.md` |
167
+ | User Credentials | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/credentials](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/credentials) | `site/en/reference/subsystems/credentials.md` |
168
+ | Filesystem | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/filesystem](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/filesystem) | `site/en/reference/subsystems/filesystem.md` |
169
+ | Same-session goals | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/goal](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/goal) | `site/en/reference/subsystems/goal.md` |
170
+ | Subsystems | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems) | `site/en/reference/subsystems/index.md` |
171
+ | Runtime Invariants | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/invariants](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/invariants) | `site/en/reference/subsystems/invariants.md` |
172
+ | Background Task Runtime | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/jobs](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/jobs) | `site/en/reference/subsystems/jobs.md` |
173
+ | LLM Streaming | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/llm-streaming](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/llm-streaming) | `site/en/reference/subsystems/llm-streaming.md` |
174
+ | LSP navigation | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/lsp](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/lsp) | `site/en/reference/subsystems/lsp.md` |
175
+ | Permission Presets | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/permission-presets](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/permission-presets) | `site/en/reference/subsystems/permission-presets.md` |
176
+ | Session Persistence | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/persistence](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/persistence) | `site/en/reference/subsystems/persistence.md` |
177
+ | Plan Mode | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/plan](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/plan) | `site/en/reference/subsystems/plan.md` |
178
+ | Process Sandbox | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/sandbox](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/sandbox) | `site/en/reference/subsystems/sandbox.md` |
179
+ | Session-local Schedule | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/schedule](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/schedule) | `site/en/reference/subsystems/schedule.md` |
180
+ | Scoped Registration | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/scope](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/scope) | `site/en/reference/subsystems/scope.md` |
181
+ | Session Projections | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-projection](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-projection) | `site/en/reference/subsystems/session-projection.md` |
182
+ | Session Query | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-query](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-query) | `site/en/reference/subsystems/session-query.md` |
183
+ | Session References | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-reference](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-reference) | `site/en/reference/subsystems/session-reference.md` |
184
+ | SessionTelemetryBackend | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-telemetry](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-telemetry) | `site/en/reference/subsystems/session-telemetry.md` |
185
+ | Session Titles | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-title](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session-title) | `site/en/reference/subsystems/session-title.md` |
186
+ | Sessions | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/session) | `site/en/reference/subsystems/session.md` |
187
+ | User Settings | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/settings](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/settings) | `site/en/reference/subsystems/settings.md` |
188
+ | Bash Executor | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/shell](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/shell) | `site/en/reference/subsystems/shell.md` |
189
+ | Skills | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/skills](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/skills) | `site/en/reference/subsystems/skills.md` |
190
+ | Spill Storage | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/spill](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/spill) | `site/en/reference/subsystems/spill.md` |
191
+ | Storage | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/storage](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/storage) | `site/en/reference/subsystems/storage.md` |
192
+ | Subagent | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/subagent](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/subagent) | `site/en/reference/subsystems/subagent.md` |
193
+ | Subprocess | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/subprocess](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/subprocess) | `site/en/reference/subsystems/subprocess.md` |
194
+ | System Prompt Assembly | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/system-prompt](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/system-prompt) | `site/en/reference/subsystems/system-prompt.md` |
195
+ | Persistent PTY Sessions | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/terminal](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/terminal) | `site/en/reference/subsystems/terminal.md` |
196
+ | Token Meter | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/token-meter](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/token-meter) | `site/en/reference/subsystems/token-meter.md` |
197
+ | Tools | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/tools](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/tools) | `site/en/reference/subsystems/tools.md` |
198
+ | Typert remote calls | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/typert](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/typert) | `site/en/reference/subsystems/typert.md` |
199
+ | User Interaction | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/user-questions](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/user-questions) | `site/en/reference/subsystems/user-questions.md` |
200
+ | HTTP Server | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web-server](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web-server) | `site/en/reference/subsystems/web-server.md` |
201
+ | Web Access | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web) | `site/en/reference/subsystems/web.md` |
202
+ | Workflow | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workflow](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workflow) | `site/en/reference/subsystems/workflow.md` |
203
+ | Workspaces | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workspace](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workspace) | `site/en/reference/subsystems/workspace.md` |
204
+ | Tool Schema Catalog | [https://deepseek-harness.github.io/deepseek-harness/en/reference/tool-catalog](https://deepseek-harness.github.io/deepseek-harness/en/reference/tool-catalog) | `site/en/reference/tool-catalog.md` |
205
+ | Tool Execution Pipeline | [https://deepseek-harness.github.io/deepseek-harness/en/reference/tool-execution-pipeline](https://deepseek-harness.github.io/deepseek-harness/en/reference/tool-execution-pipeline) | `site/en/reference/tool-execution-pipeline.md` |
206
+
207
+ ---
208
+
209
+ *站点页面:168(中文 84,英文 84)*
210
+
package/kb/README.md ADDED
@@ -0,0 +1,69 @@
1
+ # DeepSeek Harness 文档知识库
2
+
3
+ 本地镜像的 DeepSeek Harness 官方文档知识库,用于辅助 Harness **插件开发**。内容抓取自官方文档站点
4
+ <https://deepseek-harness.github.io/deepseek-harness/>,并以**仓库内原始 Markdown**(`deepseek-ai/deepseek-harness` 的 `docs/` 目录)重建,比抓取渲染后的 HTML 保真度更高、链接与代码块完整。
5
+
6
+ ## 目录结构
7
+
8
+ ```
9
+ knowledge/deepseek-harness/
10
+ ├── README.md 本文件:总览与使用指南
11
+ ├── INDEX.md 全部页面的 站点 URL ↔ 本地文件 对照索引(自动生成)
12
+ ├── site/ 线上站点的完整镜像(中英双语,链接已按站点路由重写)
13
+ │ ├── index.md 中文首页(/deepseek-harness/)
14
+ │ ├── guide/ 入门:quickstart / providers / python-sdk
15
+ │ ├── develop/ 开发:basic(第一个插件/tool/config/publish)、
16
+ │ │ framework(生命周期/service/事件)、practice、cordis-tutorial(7 章)
17
+ │ ├── reference/ 参考:架构、capability-seams、config-catalog、tool-catalog、
18
+ │ │ cordis-api、cookbook、subsystems(42 个子系统页)…
19
+ │ └── en/ 英文站镜像(/deepseek-harness/en/...),结构同上
20
+ ├── extra/ 仓库 docs/ 中未发布到站点的补充文档(开发参考)
21
+ │ ├── glossary.md 术语表(capability seam 等核心概念)
22
+ │ ├── defensive-patterns.md / testing.md / development.md / rescope.md …
23
+ │ ├── module-graph.md 模块依赖全景图(125KB)
24
+ │ ├── cookbook/ adding-a-vendored-package 等仓库内 cookbook
25
+ │ ├── subsystems/ attachment / extensions / feedback
26
+ │ ├── postmortem/ 事故复盘(4 篇)
27
+ │ └── i18n/ 文档双语规范与术语
28
+ └── meta/
29
+ ├── source.json 来源信息:仓库 commit、抓取时间、统计
30
+ └── site-pages.txt 线上站点 hashmap.json 的页面清单(168 页)
31
+ ```
32
+
33
+ ## 插件开发学习路径(从 `site/` 开始)
34
+
35
+ 1. **第一个插件** — `site/develop/basic/index.md`(插件 = 导出 `apply(ctx)` 的模块,`ctx.effect()` 自动清理)
36
+ 2. **开发一个 Tool** — `site/develop/basic/tool.md`(工具定义 DSL)
37
+ 3. **插件配置** — `site/develop/basic/config.md`;**打包安装** — `site/develop/basic/publish.md`
38
+ 4. **框架能力** — `site/develop/framework/index.md`(生命周期)、`service.md`(服务与依赖注入)、`events.md`(事件系统)
39
+ 5. **Cordis 框架教程** — `site/develop/cordis-tutorial/`(7 章:插件/生命周期/服务/事件/配置/组合与热重载/进入 Harness)
40
+ 6. **实战** — `site/develop/practice/index.md`(能力三层拆分)、`llm-adapter.md`
41
+ 7. **按需查阅** — `site/reference/`:
42
+ - 架构总览 `reference/index.md`;能力服务 `reference/capability-seams.md`;Agent 生命周期 `reference/agent-lifecycle.md`
43
+ - 插件配置目录 `reference/config-catalog.md`;Tool Schema 目录 `reference/tool-catalog.md`;持久化事件 `reference/persistence-catalog.md`
44
+ - Cordis API `reference/cordis-api/`(Context / Events / Fiber / Registry / Service / 继承接口面)
45
+ - Cookbook `reference/cookbook/`(新增 package / tool / LLM adapter / 设置卡片 / 扩展模式 / Conversation Node)
46
+ - 子系统 `reference/subsystems/`(core / scope / session / tools / shell / filesystem / subagent / sandbox / approval … 共 42 页)
47
+
48
+ ## 更新方法
49
+
50
+ 知识库与仓库 `master` 分支对齐(见 `meta/source.json` 的 commit)。需要刷新时:
51
+
52
+ ```sh
53
+ # 1. 重新克隆并安装投影依赖
54
+ git clone --depth 1 https://github.com/deepseek-ai/deepseek-harness.git <tmp>
55
+ cd <tmp> && npm install --no-save --no-package-lock mdast-util-from-markdown mdast-util-gfm micromark-extension-gfm
56
+ # 2. 运行站点投影器(需要 Node ≥ 22.19)
57
+ node --experimental-strip-types run-projector.ts # 输出到 website/.generated/
58
+ # 3. 用 website/.generated/ 覆盖本插件的 kb/site/
59
+ # 4. 在本插件根目录重新生成索引与 INDEX.md
60
+ node scripts/rebuild-index.mjs
61
+ ```
62
+
63
+ 站点投影逻辑为仓库内 `website/docs.ts`(发布清单)+ `scripts/project-doc-site.ts`(链接重写/图片复制)。
64
+
65
+ ## 统计
66
+
67
+ - 站点页面:168 个 Markdown(中文 84 + 英文 84),4 张图片
68
+ - 补充文档:50 个 Markdown(`extra/`)
69
+ - 来源 commit:`99f6f02fecdb7dff40c3fbc9470f5907c29f74ca`(master)
@@ -0,0 +1,75 @@
1
+ # AGENTS.md — The documentation standard
2
+
3
+ This file defines document structure, Markdown tiers, writing rules, and `verify-doc-budgets` ceilings. Use [dsh-doc-standards](../.agents/skills/dsh-doc-standards/SKILL.md) for placement and validation, and [dsh-prose-standard](../.agents/skills/dsh-prose-standard/SKILL.md) for required coverage and editorial judgment; the [doc-tiers Agent Note](../.agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.md) owns rationale.
4
+
5
+ ## Document structure
6
+
7
+ These rules apply to human-facing documentation; [Agent Notes](../.agents/notes/README.md) remain outside their scope. A [postmortem](postmortem/README.md) is an incident-scoped reference; chronology records evidence, not a teaching sequence. A document's subject and tree position fix its scope: describe its own subject at appropriate detail and direct children only by purpose, responsibility, and high-level behavior; link to the owning descendant for lower-level detail. Document type does not widen that scope. A reference may be exhaustive only about its own subject. Testing mechanisms, fixtures, and harnesses belong at the lowest owning level; higher documents link there.
8
+
9
+ Classify every in-scope document as a tutorial or reference. Tutorials follow an ordered path to an outcome and introduce only what each step needs. References define a lookup scope and current behavior without a teaching sequence. Separate substantial tutorial and reference content; label a section when either part is small.
10
+
11
+ Before writing a tutorial, privately classify the reader's starting knowledge and each concept as beginner, intermediate, or advanced. Establish prerequisites before dependent concepts, increase difficulty gradually, and move unnecessary advanced material to a later tutorial or reference.
12
+
13
+ Author in this order: locate the document in the tree; set its permitted detail; choose tutorial or reference; for a tutorial, order concepts by prerequisite and difficulty; relocate descendant-owned detail; replace lower-level explanations with links to their owners.
14
+
15
+ ## The tier taxonomy: one home per fact
16
+
17
+ Each fact has one home: the tier whose job it is; elsewhere, link there.
18
+
19
+ | Tier | Job | Does NOT belong there |
20
+ |---|---|---|
21
+ | Root `AGENTS.md` | Standing orders: rules an agent needs in context in every session, one to three lines each, linking its home | Stories, worked examples, situational procedures, anything restated from a linked home |
22
+ | Subtree `AGENTS.md` (`packages/`, `examples/`, `docs/`, `.agents/notes/`) | Orders specific to that subtree | Repo-wide rules the root file already carries |
23
+ | [architecture.md](architecture.md) | Ordered map: composition, core packages, loop, seams, extension points; read before changing `packages/` | Type definitions (→ subsystems), per-package detail (→ package READMEs), decision rationale (→ Agent Notes), implementation-status annotations |
24
+ | [subsystems/](subsystems/README.md) | One reference page per subsystem: type definitions, semantics, and the generated Cordis API | Behavior narration (→ architecture.md) |
25
+ | [Agent Notes](../.agents/notes/README.md) | Active decision records: the why, what-was-given-up, and required verification; `implemented/` notes describe shipped reality in present tense | Migration plans, acceptance-task checklists, fixture walkthroughs, and spec-speak ("should…") once the decision has shipped; archived notes are frozen history, never current authority |
26
+ | [postmortem/](postmortem/README.md) | Incident stories — the only tier where war-story narrative belongs | — |
27
+ | [cookbook/](cookbook/adding-a-package.md) | Step-by-step how-tos with numbered verify steps | Design rationale (→ the Agent Note each guide links) |
28
+ | [user/](user/index.md) | Product-facing guides published by the documentation website | Generated reference tables, contributor procedures, decision history |
29
+ | Package README | The per-package contract: config, semantics, limitations, extension points, and [Model Experience](cookbook/adding-a-package.md#4-write-the-package-readme) | JSDoc restatement, generated-catalog restatement (event/tool tables), other packages' concerns |
30
+ | [development.md](development.md) | Contributor setup, daily workflow, and a summary of CI; a bilingual pair under the [i18n contract](i18n/README.md) | Runtime/version rationale (→ Agent Notes), check-by-check lists that drift from `package.json` scripts |
31
+ | Generated reference: the per-page `cordis-surface` regions in [subsystems/](subsystems/README.md), the [Cordis core API + inherited tier](cordis-api/context.md), [tool-catalog](tool-catalog.md), [config-catalog](config-catalog.md), [persistence-catalog](persistence-catalog.md), [module-graph.md](module-graph.md) | Exhaustive English sources regenerated from source and freshness-gated; reviewed Chinese counterparts follow the [pairing workflow](i18n/README.md#scope-and-exclusions) | Hand edits to generated English sources or regions; Chinese counterparts update through pairing only |
32
+ | Skills (`.agents/skills/`) | Reusable workflows and specialized decision standards | Product and runtime contracts (→ docs or source) |
33
+
34
+ Placement: bugs → postmortems; rationale → Agent Notes; procedures → cookbooks; type definitions → subsystems; package contracts → READMEs; standing orders → root `AGENTS.md` with a rationale link.
35
+
36
+ ## Writing rules
37
+
38
+ - **Document current state, not change history.** Avoid "previously/now/no longer", PRs, commits, and stack positions in durable prose; name the live mechanism. Put change stories in commits, PRs, Agent Notes, or postmortems; the latter two may cite merged PRs and issues as evidence.
39
+ - **Every non-trivial change includes at least one Agent Note in the same PR.** Update the owning note or add one; only mechanical/local edits are exempt ([scope](../.agents/notes/README.md#when-to-write-one)).
40
+ - **One physical line per paragraph** (`verify-md-wrap`): use editor soft-wrap. Code blocks, tables, and list structure keep their formatting; code comments stay under the linter's column limit.
41
+ - **Fenced `ts` blocks must compile** (`doc-typecheck`); a pasted type declaration and its original JSDoc use ` ```ts type-equiv `, while a body-stripped public class declaration uses ` ```ts public-api `; register either in the manifest so neither can drift ([mechanics](development.md#documenting-types-verbatim-ts-type-equiv)).
42
+ - **The owning [subsystems page](subsystems/README.md) updates in the same change** that reshapes a documented type. `verify-type-equiv` catches drifted pastes, not never-documented new types; a type is documented on its declaring package group's page ([page scoping](../.agents/notes/implemented/process/2026-08-03-package-anchored-subsystem-pages.md)).
43
+ - **Pairs update together**: [Terminology-guided](i18n/terminology.md), single-pass active-agent work repositions first-use annotations, preserves untouched prose, and re-records; `dsh-translate-docs` remains user-invoked ([contract](i18n/README.md)).
44
+ - **Comments and JSDoc state complete contracts, not reasoning transcripts.** Preserve behavior, failure, timing, ownership, modality, exceptions, consequences, and non-obvious orientation; delete narration, test walkthroughs, review analysis, and code restatement. Keep the local contract and link its rationale. Use [dsh-prose-standard](../.agents/skills/dsh-prose-standard/SKILL.md) for details.
45
+ - Write directly: name actors and facts ([decision](../.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.md)). Reserve `seam` for the defined capability. Name the exact check, type, API, operation, or behavior instead of metaphorical "gate", "vocabulary", or "surface".
46
+
47
+ ## Wordcount Budgets
48
+
49
+ [scripts/doc-budgets.manifest.json](../scripts/doc-budgets.manifest.json) sets standing-doc ceilings; `pnpm run verify-doc-budgets` rejects excess or missing files.
50
+
51
+ When the gate goes red:
52
+
53
+ 1. **Relocate** content that belongs in another tier; leave a one-line link if needed.
54
+ 2. **Condense** content that belongs here but can be shorter.
55
+ 3. **Raise** the ceiling only when the words need the space; justify the manifest diff in the PR. A too-low ceiling is a budget bug.
56
+
57
+ Ceilings are guardrails, not reduction targets. At or below target, retain at least 5% headroom; above target, freeze the ceiling until relocation or condensation brings the document under target. Lower a ceiling only when the document still has room, and raise it when content would otherwise be deleted. Targets: root `AGENTS.md` ≤ 1,600 words; `architecture.md` ≤ 1,800; subtree `AGENTS.md` ≤ 600, except `packages/AGENTS.md` ≤ 650 and this file ≤ 1,250; `packages/README.md` ≤ 600. Review governs unbudgeted tiers.
58
+
59
+ ## The slop checklist
60
+
61
+ Hunt these in any doc; [dsh-doc-standards](../.agents/skills/dsh-doc-standards/SKILL.md) runs this list as an audit:
62
+
63
+ - The same rule stated in more than one home. Grep a distinctive phrase; keep one home and link the rest.
64
+ - Narrated history or war stories: "previously", "now", "no longer", "used to", "renamed", "was moved", PRs, or commits. State the current fact; link an Agent Note or postmortem when needed.
65
+ - Implementation-status annotations in prose or diagrams ("implemented!", "future: …"). Status rots; the repo layout and package manifests carry it.
66
+ - Hand-restated catalogs, JSDoc, or inventories of tests, packages, and status when source or a generator is authoritative.
67
+ - Reasoning transcripts: step-by-step implementation narration, proof of obvious branches, test walkthroughs, or rejected local alternatives. Keep the resulting contract or durable rationale; delete the path used to derive it.
68
+ - Rationale repeated beside sibling methods instead of once at the owning capability or helper.
69
+ - Paragraph walls: one paragraph carrying several rules and parenthetical asides. Split it or demote the detail to its home.
70
+ - Emphasis inflation: bold, CAPS, or "critically" everywhere means nothing stands out. Reserve emphasis for the clause that changes behavior.
71
+ - Spec-speak in `implemented/` Agent Notes: "should", migration plans, acceptance checklists. An implemented Agent Note describes what is, per the [implemented-note instructions](../.agents/notes/implemented/AGENTS.md).
72
+
73
+ ## Cross-reference with machine-checkable links, never free prose
74
+
75
+ Link repository references with relative Markdown paths, never bare filenames or Agent Note numbers. `verify-md-links` rejects missing targets and dead `#fragment` anchors ([rationale](../.agents/notes/implemented/process/2026-06-18-markdown-cross-link-lint.md)).