dsh-plugin-guide 0.3.41 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (892) hide show
  1. package/LICENSE +0 -0
  2. package/NOTICE.md +8 -23
  3. package/PRIVACY.md +11 -0
  4. package/README-zh.md +45 -418
  5. package/README.md +50 -435
  6. package/SKILL.md +41 -99
  7. package/STANDARDS.md +14 -5
  8. package/cordis.patch.yml +0 -0
  9. package/docs/boost.md +75 -0
  10. package/docs/entry.md +60 -0
  11. package/docs/flow.md +57 -0
  12. package/docs/levels.md +76 -0
  13. package/icon.svg +0 -0
  14. package/index.js +7 -24
  15. package/locale/en.json +2 -2
  16. package/locale/zh.json +2 -2
  17. package/package.json +29 -78
  18. package/README-es.md +0 -453
  19. package/README-hi.md +0 -453
  20. package/README-pt.md +0 -453
  21. package/bin/dsh-plugin-dev.js +0 -6
  22. package/data/facts.json +0 -66
  23. package/data/seams/index.json +0 -397
  24. package/data/standards.json +0 -300
  25. package/dist/dsh-plugin-dev.js +0 -2261
  26. package/guide/choosing-a-plugin.md +0 -412
  27. package/guide/choosing-a-plugin.zh-CN.md +0 -414
  28. package/guide/family-toolchain.md +0 -260
  29. package/guide/links.md +0 -112
  30. package/guide/migration-0.2.md +0 -275
  31. package/guide/plugin-dev-guide.md +0 -629
  32. package/guide/quick-reference.es.md +0 -185
  33. package/guide/quick-reference.hi.md +0 -185
  34. package/guide/quick-reference.md +0 -185
  35. package/guide/quick-reference.pt.md +0 -185
  36. package/guide/quick-reference.zh-CN.md +0 -184
  37. package/guide/release-engineering.md +0 -198
  38. package/guide/release-engineering.zh-CN.md +0 -198
  39. package/guide/standards.md +0 -141
  40. package/guide/standards.zh-CN.md +0 -141
  41. package/guide/unfixed-issues.md +0 -155
  42. package/guide/version-matrix.md +0 -309
  43. package/guide/when-to-retire-a-plugin.md +0 -127
  44. package/guide/when-to-retire-a-plugin.zh-CN.md +0 -127
  45. package/index.d.ts +0 -32
  46. package/references/cli-positioning-decision.md +0 -78
  47. package/references/community-ecosystem.md +0 -202
  48. package/references/community-repo-deep-dive.md +0 -660
  49. package/references/cordis-paper-and-community.md +0 -326
  50. package/references/dev-resource-landscape.md +0 -294
  51. package/references/harness-repo.md +0 -673
  52. package/references/mirror-scope-decision.md +0 -79
  53. package/references/official-docs/AGENTS.md +0 -185
  54. package/references/official-docs/BENCHMARK.md +0 -3
  55. package/references/official-docs/CLAUDE.md +0 -1
  56. package/references/official-docs/CONTRIBUTING.i18n.yaml +0 -7
  57. package/references/official-docs/CONTRIBUTING.md +0 -23
  58. package/references/official-docs/CONTRIBUTING.zh.md +0 -23
  59. package/references/official-docs/LICENSE +0 -21
  60. package/references/official-docs/README.i18n.yaml +0 -34
  61. package/references/official-docs/README.md +0 -35
  62. package/references/official-docs/README.zh.md +0 -96
  63. package/references/official-docs/SNAPSHOT.md +0 -14
  64. package/references/official-docs/THIRD_PARTY_NOTICES.md +0 -304
  65. package/references/official-docs/docs/AGENTS.md +0 -77
  66. package/references/official-docs/docs/agent-lifecycle.i18n.yaml +0 -10
  67. package/references/official-docs/docs/agent-lifecycle.md +0 -91
  68. package/references/official-docs/docs/agent-lifecycle.zh.md +0 -93
  69. package/references/official-docs/docs/api-gateway.i18n.yaml +0 -31
  70. package/references/official-docs/docs/api-gateway.md +0 -172
  71. package/references/official-docs/docs/api-gateway.zh.md +0 -178
  72. package/references/official-docs/docs/architecture.i18n.yaml +0 -37
  73. package/references/official-docs/docs/architecture.md +0 -165
  74. package/references/official-docs/docs/architecture.zh.md +0 -169
  75. package/references/official-docs/docs/capability-seams.i18n.yaml +0 -10
  76. package/references/official-docs/docs/capability-seams.md +0 -714
  77. package/references/official-docs/docs/capability-seams.zh.md +0 -716
  78. package/references/official-docs/docs/cli-help.i18n.yaml +0 -34
  79. package/references/official-docs/docs/cli-help.md +0 -203
  80. package/references/official-docs/docs/cli-help.zh.md +0 -205
  81. package/references/official-docs/docs/config-catalog.i18n.yaml +0 -19
  82. package/references/official-docs/docs/config-catalog.md +0 -4801
  83. package/references/official-docs/docs/config-catalog.zh.md +0 -4803
  84. package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +0 -28
  85. package/references/official-docs/docs/cookbook/adding-a-package.md +0 -170
  86. package/references/official-docs/docs/cookbook/adding-a-package.zh.md +0 -170
  87. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.i18n.yaml +0 -22
  88. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.md +0 -52
  89. package/references/official-docs/docs/cookbook/adding-a-plugin-preview.zh.md +0 -52
  90. package/references/official-docs/docs/cookbook/adding-a-remote-api.i18n.yaml +0 -25
  91. package/references/official-docs/docs/cookbook/adding-a-remote-api.md +0 -197
  92. package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +0 -197
  93. package/references/official-docs/docs/cookbook/adding-a-session-format-version.i18n.yaml +0 -40
  94. package/references/official-docs/docs/cookbook/adding-a-session-format-version.md +0 -153
  95. package/references/official-docs/docs/cookbook/adding-a-session-format-version.zh.md +0 -153
  96. package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +0 -22
  97. package/references/official-docs/docs/cookbook/adding-a-settings-card.md +0 -72
  98. package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +0 -72
  99. package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +0 -31
  100. package/references/official-docs/docs/cookbook/adding-a-tool.md +0 -101
  101. package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +0 -103
  102. package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +0 -19
  103. package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +0 -59
  104. package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +0 -59
  105. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +0 -19
  106. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +0 -43
  107. package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +0 -43
  108. package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +0 -25
  109. package/references/official-docs/docs/cookbook/extension-cookbook.md +0 -132
  110. package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +0 -136
  111. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +0 -22
  112. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.md +0 -64
  113. package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +0 -64
  114. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +0 -16
  115. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.md +0 -32
  116. package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +0 -32
  117. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.i18n.yaml +0 -31
  118. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.md +0 -122
  119. package/references/official-docs/docs/cookbook/reviewing-persistence-type-changes.zh.md +0 -122
  120. package/references/official-docs/docs/cordis-api/context.i18n.yaml +0 -73
  121. package/references/official-docs/docs/cordis-api/context.md +0 -364
  122. package/references/official-docs/docs/cordis-api/context.zh.md +0 -366
  123. package/references/official-docs/docs/cordis-api/events.i18n.yaml +0 -37
  124. package/references/official-docs/docs/cordis-api/events.md +0 -207
  125. package/references/official-docs/docs/cordis-api/events.zh.md +0 -209
  126. package/references/official-docs/docs/cordis-api/fiber.i18n.yaml +0 -76
  127. package/references/official-docs/docs/cordis-api/fiber.md +0 -375
  128. package/references/official-docs/docs/cordis-api/fiber.zh.md +0 -377
  129. package/references/official-docs/docs/cordis-api/inherited.md +0 -38
  130. package/references/official-docs/docs/cordis-api/registry.i18n.yaml +0 -22
  131. package/references/official-docs/docs/cordis-api/registry.md +0 -152
  132. package/references/official-docs/docs/cordis-api/registry.zh.md +0 -154
  133. package/references/official-docs/docs/cordis-api/service.i18n.yaml +0 -37
  134. package/references/official-docs/docs/cordis-api/service.md +0 -102
  135. package/references/official-docs/docs/cordis-api/service.zh.md +0 -104
  136. package/references/official-docs/docs/cordis-primer.i18n.yaml +0 -22
  137. package/references/official-docs/docs/cordis-primer.md +0 -45
  138. package/references/official-docs/docs/cordis-primer.zh.md +0 -51
  139. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +0 -22
  140. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.md +0 -95
  141. package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +0 -95
  142. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +0 -16
  143. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.md +0 -98
  144. package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +0 -98
  145. package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +0 -22
  146. package/references/official-docs/docs/cordis-tutorial/03-services.md +0 -98
  147. package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +0 -98
  148. package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +0 -16
  149. package/references/official-docs/docs/cordis-tutorial/04-events.md +0 -144
  150. package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +0 -144
  151. package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +0 -19
  152. package/references/official-docs/docs/cordis-tutorial/05-config.md +0 -111
  153. package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +0 -111
  154. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +0 -16
  155. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.md +0 -113
  156. package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +0 -113
  157. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +0 -19
  158. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +0 -108
  159. package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +0 -108
  160. package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +0 -16
  161. package/references/official-docs/docs/cordis-tutorial/index.md +0 -60
  162. package/references/official-docs/docs/cordis-tutorial/index.zh.md +0 -62
  163. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +0 -34
  164. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +0 -162
  165. package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +0 -162
  166. package/references/official-docs/docs/defensive-patterns/README.i18n.yaml +0 -10
  167. package/references/official-docs/docs/defensive-patterns/README.md +0 -25
  168. package/references/official-docs/docs/defensive-patterns/README.zh.md +0 -27
  169. package/references/official-docs/docs/defensive-patterns/client-components.i18n.yaml +0 -46
  170. package/references/official-docs/docs/defensive-patterns/client-components.md +0 -493
  171. package/references/official-docs/docs/defensive-patterns/client-components.zh.md +0 -495
  172. package/references/official-docs/docs/defensive-patterns/conversation-and-session.i18n.yaml +0 -31
  173. package/references/official-docs/docs/defensive-patterns/conversation-and-session.md +0 -316
  174. package/references/official-docs/docs/defensive-patterns/conversation-and-session.zh.md +0 -316
  175. package/references/official-docs/docs/defensive-patterns/general.i18n.yaml +0 -52
  176. package/references/official-docs/docs/defensive-patterns/general.md +0 -222
  177. package/references/official-docs/docs/defensive-patterns/general.zh.md +0 -252
  178. package/references/official-docs/docs/defensive-patterns/package-surface.i18n.yaml +0 -28
  179. package/references/official-docs/docs/defensive-patterns/package-surface.md +0 -231
  180. package/references/official-docs/docs/defensive-patterns/package-surface.zh.md +0 -231
  181. package/references/official-docs/docs/defensive-patterns/remote-and-api.i18n.yaml +0 -16
  182. package/references/official-docs/docs/defensive-patterns/remote-and-api.md +0 -115
  183. package/references/official-docs/docs/defensive-patterns/remote-and-api.zh.md +0 -115
  184. package/references/official-docs/docs/dependency-catalog.json +0 -7312
  185. package/references/official-docs/docs/development.i18n.yaml +0 -49
  186. package/references/official-docs/docs/development.md +0 -214
  187. package/references/official-docs/docs/development.zh.md +0 -221
  188. package/references/official-docs/docs/event-producer-consumer.i18n.yaml +0 -13
  189. package/references/official-docs/docs/event-producer-consumer.md +0 -110
  190. package/references/official-docs/docs/event-producer-consumer.zh.md +0 -112
  191. package/references/official-docs/docs/experimental-persistence-catalog.i18n.yaml +0 -10
  192. package/references/official-docs/docs/experimental-persistence-catalog.md +0 -17
  193. package/references/official-docs/docs/experimental-persistence-catalog.zh.md +0 -17
  194. package/references/official-docs/docs/glossary.i18n.yaml +0 -25
  195. package/references/official-docs/docs/glossary.md +0 -46
  196. package/references/official-docs/docs/glossary.zh.md +0 -46
  197. package/references/official-docs/docs/graph-atlas.i18n.yaml +0 -10
  198. package/references/official-docs/docs/graph-atlas.md +0 -22
  199. package/references/official-docs/docs/graph-atlas.zh.md +0 -24
  200. package/references/official-docs/docs/i18n/README.i18n.yaml +0 -19
  201. package/references/official-docs/docs/i18n/README.md +0 -69
  202. package/references/official-docs/docs/i18n/README.zh.md +0 -71
  203. package/references/official-docs/docs/i18n/style-samples.md +0 -87
  204. package/references/official-docs/docs/i18n/terminology.md +0 -215
  205. package/references/official-docs/docs/i18n/translation-prompt.md +0 -263
  206. package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +0 -28
  207. package/references/official-docs/docs/i18n/translation-rules.md +0 -69
  208. package/references/official-docs/docs/i18n/translation-rules.zh.md +0 -69
  209. package/references/official-docs/docs/module-graph.i18n.yaml +0 -10
  210. package/references/official-docs/docs/module-graph.md +0 -1776
  211. package/references/official-docs/docs/module-graph.zh.md +0 -1778
  212. package/references/official-docs/docs/persistence-catalog.i18n.yaml +0 -2152
  213. package/references/official-docs/docs/persistence-catalog.md +0 -9140
  214. package/references/official-docs/docs/persistence-catalog.zh.md +0 -9142
  215. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.i18n.yaml +0 -28
  216. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.md +0 -280
  217. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.schema.json +0 -13557
  218. package/references/official-docs/docs/persistence-changes/2026-09-11-initial.zh.md +0 -280
  219. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.i18n.yaml +0 -28
  220. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.md +0 -52
  221. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.schema.json +0 -910
  222. package/references/official-docs/docs/persistence-changes/2026-09-12-auto-review-error-metadata.zh.md +0 -52
  223. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.i18n.yaml +0 -28
  224. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.md +0 -48
  225. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.schema.json +0 -76
  226. package/references/official-docs/docs/persistence-changes/2026-09-13-working-directory.zh.md +0 -48
  227. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.i18n.yaml +0 -28
  228. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.md +0 -96
  229. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.schema.json +0 -8478
  230. package/references/official-docs/docs/persistence-changes/2026-09-14-image-offload.zh.md +0 -96
  231. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.i18n.yaml +0 -28
  232. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.md +0 -48
  233. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.schema.json +0 -72
  234. package/references/official-docs/docs/persistence-changes/2026-09-14-workspace-changes-event.zh.md +0 -48
  235. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.i18n.yaml +0 -28
  236. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.md +0 -120
  237. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.schema.json +0 -16212
  238. package/references/official-docs/docs/persistence-changes/2026-09-16-session-format-v4.zh.md +0 -120
  239. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.i18n.yaml +0 -28
  240. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.md +0 -48
  241. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.schema.json +0 -302
  242. package/references/official-docs/docs/persistence-changes/2026-09-18-schedule-optional-title.zh.md +0 -48
  243. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.i18n.yaml +0 -28
  244. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.md +0 -48
  245. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.schema.json +0 -290
  246. package/references/official-docs/docs/persistence-changes/2026-09-19-external-subagent-catalog.zh.md +0 -48
  247. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.i18n.yaml +0 -28
  248. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.md +0 -48
  249. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.schema.json +0 -250
  250. package/references/official-docs/docs/persistence-changes/2026-09-20-unknown-child-catalog.zh.md +0 -48
  251. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.i18n.yaml +0 -28
  252. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.md +0 -60
  253. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.schema.json +0 -11405
  254. package/references/official-docs/docs/persistence-changes/2026-09-21-user-question-reply.zh.md +0 -60
  255. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.i18n.yaml +0 -28
  256. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.md +0 -52
  257. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.schema.json +0 -297
  258. package/references/official-docs/docs/persistence-changes/2026-09-30-job-session-lifecycle.zh.md +0 -52
  259. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.i18n.yaml +0 -28
  260. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.md +0 -48
  261. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.schema.json +0 -457
  262. package/references/official-docs/docs/persistence-changes/2026-10-05-ptc-operation-metadata.zh.md +0 -48
  263. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.i18n.yaml +0 -28
  264. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.md +0 -60
  265. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.schema.json +0 -11474
  266. package/references/official-docs/docs/persistence-changes/2026-10-05-working-directory-attribution.zh.md +0 -60
  267. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.i18n.yaml +0 -28
  268. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.md +0 -48
  269. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.schema.json +0 -2990
  270. package/references/official-docs/docs/persistence-changes/2026-10-07-title-reasoning-effort.zh.md +0 -48
  271. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.i18n.yaml +0 -28
  272. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.md +0 -48
  273. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.schema.json +0 -231
  274. package/references/official-docs/docs/persistence-changes/2026-10-13-deepseek-search-thinking.zh.md +0 -48
  275. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.i18n.yaml +0 -28
  276. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.md +0 -60
  277. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.schema.json +0 -11559
  278. package/references/official-docs/docs/persistence-changes/2026-10-13-user-rpc-principal.zh.md +0 -60
  279. package/references/official-docs/docs/persistence-changes/README.i18n.yaml +0 -28
  280. package/references/official-docs/docs/persistence-changes/README.md +0 -90
  281. package/references/official-docs/docs/persistence-changes/README.zh.md +0 -90
  282. package/references/official-docs/docs/persistence-changes/finalized/v4.json +0 -379
  283. package/references/official-docs/docs/persistence-changes/historical-formats/README.i18n.yaml +0 -28
  284. package/references/official-docs/docs/persistence-changes/historical-formats/README.md +0 -75
  285. package/references/official-docs/docs/persistence-changes/historical-formats/README.zh.md +0 -75
  286. package/references/official-docs/docs/persistence-changes/historical-formats/v0.i18n.yaml +0 -1285
  287. package/references/official-docs/docs/persistence-changes/historical-formats/v0.md +0 -5105
  288. package/references/official-docs/docs/persistence-changes/historical-formats/v0.schema.json +0 -49308
  289. package/references/official-docs/docs/persistence-changes/historical-formats/v0.zh.md +0 -5105
  290. package/references/official-docs/docs/persistence-changes/historical-formats/v1.i18n.yaml +0 -1285
  291. package/references/official-docs/docs/persistence-changes/historical-formats/v1.md +0 -5107
  292. package/references/official-docs/docs/persistence-changes/historical-formats/v1.schema.json +0 -49411
  293. package/references/official-docs/docs/persistence-changes/historical-formats/v1.zh.md +0 -5107
  294. package/references/official-docs/docs/persistence-changes/historical-formats/v2.i18n.yaml +0 -1345
  295. package/references/official-docs/docs/persistence-changes/historical-formats/v2.md +0 -5362
  296. package/references/official-docs/docs/persistence-changes/historical-formats/v2.schema.json +0 -56466
  297. package/references/official-docs/docs/persistence-changes/historical-formats/v2.zh.md +0 -5362
  298. package/references/official-docs/docs/persistence-changes/historical-formats/v3.i18n.yaml +0 -1441
  299. package/references/official-docs/docs/persistence-changes/historical-formats/v3.md +0 -5634
  300. package/references/official-docs/docs/persistence-changes/historical-formats/v3.schema.json +0 -61307
  301. package/references/official-docs/docs/persistence-changes/historical-formats/v3.zh.md +0 -5634
  302. package/references/official-docs/docs/persistence-changes/releases/README.i18n.yaml +0 -31
  303. package/references/official-docs/docs/persistence-changes/releases/README.md +0 -103
  304. package/references/official-docs/docs/persistence-changes/releases/README.zh.md +0 -103
  305. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.i18n.yaml +0 -31
  306. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.md +0 -201
  307. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.schema.json +0 -39868
  308. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.1.zh.md +0 -201
  309. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.i18n.yaml +0 -31
  310. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.md +0 -261
  311. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.schema.json +0 -43342
  312. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.2.zh.md +0 -261
  313. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.i18n.yaml +0 -31
  314. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.md +0 -126
  315. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.schema.json +0 -19452
  316. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.3.zh.md +0 -126
  317. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.i18n.yaml +0 -31
  318. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.md +0 -75
  319. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.schema.json +0 -5
  320. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.4.zh.md +0 -75
  321. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.i18n.yaml +0 -31
  322. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.md +0 -75
  323. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.schema.json +0 -5
  324. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.0.1-rc.5.zh.md +0 -75
  325. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.i18n.yaml +0 -31
  326. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.md +0 -75
  327. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.schema.json +0 -5
  328. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.1.zh.md +0 -75
  329. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.i18n.yaml +0 -31
  330. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.md +0 -75
  331. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.schema.json +0 -5
  332. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.2.zh.md +0 -75
  333. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.i18n.yaml +0 -31
  334. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.md +0 -75
  335. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.schema.json +0 -5
  336. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.3.zh.md +0 -75
  337. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.i18n.yaml +0 -31
  338. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.md +0 -75
  339. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.schema.json +0 -5
  340. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.5.zh.md +0 -75
  341. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.i18n.yaml +0 -31
  342. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.md +0 -75
  343. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.schema.json +0 -5
  344. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.6.zh.md +0 -75
  345. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.i18n.yaml +0 -31
  346. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.md +0 -82
  347. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.schema.json +0 -5320
  348. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.7.zh.md +0 -82
  349. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.i18n.yaml +0 -31
  350. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.md +0 -110
  351. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.schema.json +0 -21258
  352. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.0-rc.8.zh.md +0 -110
  353. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.i18n.yaml +0 -31
  354. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.md +0 -82
  355. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.schema.json +0 -417
  356. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.1.zh.md +0 -82
  357. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.i18n.yaml +0 -31
  358. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.md +0 -119
  359. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.schema.json +0 -29672
  360. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.1-rc.2.zh.md +0 -119
  361. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.i18n.yaml +0 -31
  362. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.md +0 -295
  363. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.schema.json +0 -48429
  364. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.1.zh.md +0 -295
  365. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.i18n.yaml +0 -31
  366. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.md +0 -286
  367. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.schema.json +0 -49347
  368. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.2.zh.md +0 -286
  369. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.i18n.yaml +0 -31
  370. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.md +0 -75
  371. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.schema.json +0 -5
  372. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.3.zh.md +0 -75
  373. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.i18n.yaml +0 -31
  374. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.md +0 -95
  375. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.schema.json +0 -17642
  376. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.4.zh.md +0 -95
  377. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.i18n.yaml +0 -31
  378. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.md +0 -75
  379. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.schema.json +0 -5
  380. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-alpha.5.zh.md +0 -75
  381. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.i18n.yaml +0 -31
  382. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.md +0 -75
  383. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.schema.json +0 -5
  384. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.2-rc.1.zh.md +0 -75
  385. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.i18n.yaml +0 -31
  386. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.md +0 -154
  387. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.schema.json +0 -38678
  388. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.1.zh.md +0 -154
  389. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.i18n.yaml +0 -31
  390. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.md +0 -86
  391. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.schema.json +0 -783
  392. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.3-alpha.2.zh.md +0 -86
  393. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.i18n.yaml +0 -31
  394. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.md +0 -139
  395. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.schema.json +0 -24597
  396. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.1.zh.md +0 -139
  397. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.i18n.yaml +0 -31
  398. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.md +0 -95
  399. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.schema.json +0 -2132
  400. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-alpha.2.zh.md +0 -95
  401. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.i18n.yaml +0 -31
  402. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.md +0 -75
  403. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.schema.json +0 -5
  404. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.1.zh.md +0 -75
  405. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.i18n.yaml +0 -31
  406. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.md +0 -75
  407. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.schema.json +0 -5
  408. package/references/official-docs/docs/persistence-changes/releases/dsh-v0.1.5-rc.2.zh.md +0 -75
  409. package/references/official-docs/docs/persistence-changes/releases/manifest.json +0 -162
  410. package/references/official-docs/docs/persistence-schema.json +0 -26177
  411. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +0 -34
  412. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +0 -113
  413. package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +0 -113
  414. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +0 -28
  415. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +0 -47
  416. package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +0 -47
  417. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +0 -28
  418. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +0 -53
  419. package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +0 -53
  420. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +0 -28
  421. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +0 -55
  422. package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +0 -55
  423. package/references/official-docs/docs/postmortem/README.i18n.yaml +0 -7
  424. package/references/official-docs/docs/postmortem/README.md +0 -18
  425. package/references/official-docs/docs/postmortem/README.zh.md +0 -18
  426. package/references/official-docs/docs/rescope.i18n.yaml +0 -19
  427. package/references/official-docs/docs/rescope.md +0 -53
  428. package/references/official-docs/docs/rescope.zh.md +0 -53
  429. package/references/official-docs/docs/session-format-status.i18n.yaml +0 -28
  430. package/references/official-docs/docs/session-format-status.md +0 -63
  431. package/references/official-docs/docs/session-format-status.zh.md +0 -63
  432. package/references/official-docs/docs/subsystems/README.i18n.yaml +0 -7
  433. package/references/official-docs/docs/subsystems/README.md +0 -76
  434. package/references/official-docs/docs/subsystems/README.zh.md +0 -76
  435. package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +0 -22
  436. package/references/official-docs/docs/subsystems/agent-team.md +0 -231
  437. package/references/official-docs/docs/subsystems/agent-team.zh.md +0 -231
  438. package/references/official-docs/docs/subsystems/approval.i18n.yaml +0 -19
  439. package/references/official-docs/docs/subsystems/approval.md +0 -170
  440. package/references/official-docs/docs/subsystems/approval.zh.md +0 -170
  441. package/references/official-docs/docs/subsystems/attachment.i18n.yaml +0 -13
  442. package/references/official-docs/docs/subsystems/attachment.md +0 -361
  443. package/references/official-docs/docs/subsystems/attachment.zh.md +0 -361
  444. package/references/official-docs/docs/subsystems/boot.i18n.yaml +0 -16
  445. package/references/official-docs/docs/subsystems/boot.md +0 -447
  446. package/references/official-docs/docs/subsystems/boot.zh.md +0 -447
  447. package/references/official-docs/docs/subsystems/browser-use.i18n.yaml +0 -19
  448. package/references/official-docs/docs/subsystems/browser-use.md +0 -67
  449. package/references/official-docs/docs/subsystems/browser-use.zh.md +0 -67
  450. package/references/official-docs/docs/subsystems/claude-code-mods.i18n.yaml +0 -28
  451. package/references/official-docs/docs/subsystems/claude-code-mods.md +0 -146
  452. package/references/official-docs/docs/subsystems/claude-code-mods.zh.md +0 -146
  453. package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +0 -19
  454. package/references/official-docs/docs/subsystems/client-modules.md +0 -198
  455. package/references/official-docs/docs/subsystems/client-modules.zh.md +0 -198
  456. package/references/official-docs/docs/subsystems/client-resources.i18n.yaml +0 -22
  457. package/references/official-docs/docs/subsystems/client-resources.md +0 -92
  458. package/references/official-docs/docs/subsystems/client-resources.zh.md +0 -92
  459. package/references/official-docs/docs/subsystems/commands.i18n.yaml +0 -19
  460. package/references/official-docs/docs/subsystems/commands.md +0 -223
  461. package/references/official-docs/docs/subsystems/commands.zh.md +0 -223
  462. package/references/official-docs/docs/subsystems/compaction.i18n.yaml +0 -22
  463. package/references/official-docs/docs/subsystems/compaction.md +0 -284
  464. package/references/official-docs/docs/subsystems/compaction.zh.md +0 -284
  465. package/references/official-docs/docs/subsystems/computer-use.i18n.yaml +0 -16
  466. package/references/official-docs/docs/subsystems/computer-use.md +0 -59
  467. package/references/official-docs/docs/subsystems/computer-use.zh.md +0 -59
  468. package/references/official-docs/docs/subsystems/conversation.i18n.yaml +0 -31
  469. package/references/official-docs/docs/subsystems/conversation.md +0 -301
  470. package/references/official-docs/docs/subsystems/conversation.zh.md +0 -303
  471. package/references/official-docs/docs/subsystems/core.i18n.yaml +0 -37
  472. package/references/official-docs/docs/subsystems/core.md +0 -1113
  473. package/references/official-docs/docs/subsystems/core.zh.md +0 -1125
  474. package/references/official-docs/docs/subsystems/credentials.i18n.yaml +0 -25
  475. package/references/official-docs/docs/subsystems/credentials.md +0 -493
  476. package/references/official-docs/docs/subsystems/credentials.zh.md +0 -493
  477. package/references/official-docs/docs/subsystems/deliverables.i18n.yaml +0 -28
  478. package/references/official-docs/docs/subsystems/deliverables.md +0 -178
  479. package/references/official-docs/docs/subsystems/deliverables.zh.md +0 -178
  480. package/references/official-docs/docs/subsystems/extensions.i18n.yaml +0 -7
  481. package/references/official-docs/docs/subsystems/extensions.md +0 -384
  482. package/references/official-docs/docs/subsystems/extensions.zh.md +0 -384
  483. package/references/official-docs/docs/subsystems/feedback.i18n.yaml +0 -28
  484. package/references/official-docs/docs/subsystems/feedback.md +0 -400
  485. package/references/official-docs/docs/subsystems/feedback.zh.md +0 -400
  486. package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +0 -34
  487. package/references/official-docs/docs/subsystems/filesystem.md +0 -530
  488. package/references/official-docs/docs/subsystems/filesystem.zh.md +0 -530
  489. package/references/official-docs/docs/subsystems/goal.i18n.yaml +0 -19
  490. package/references/official-docs/docs/subsystems/goal.md +0 -313
  491. package/references/official-docs/docs/subsystems/goal.zh.md +0 -313
  492. package/references/official-docs/docs/subsystems/jobs.i18n.yaml +0 -28
  493. package/references/official-docs/docs/subsystems/jobs.md +0 -554
  494. package/references/official-docs/docs/subsystems/jobs.zh.md +0 -554
  495. package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +0 -49
  496. package/references/official-docs/docs/subsystems/llm-streaming.md +0 -1196
  497. package/references/official-docs/docs/subsystems/llm-streaming.zh.md +0 -1202
  498. package/references/official-docs/docs/subsystems/lsp.i18n.yaml +0 -19
  499. package/references/official-docs/docs/subsystems/lsp.md +0 -202
  500. package/references/official-docs/docs/subsystems/lsp.zh.md +0 -202
  501. package/references/official-docs/docs/subsystems/mcp.i18n.yaml +0 -34
  502. package/references/official-docs/docs/subsystems/mcp.md +0 -139
  503. package/references/official-docs/docs/subsystems/mcp.zh.md +0 -139
  504. package/references/official-docs/docs/subsystems/office-to-pdf.i18n.yaml +0 -19
  505. package/references/official-docs/docs/subsystems/office-to-pdf.md +0 -87
  506. package/references/official-docs/docs/subsystems/office-to-pdf.zh.md +0 -87
  507. package/references/official-docs/docs/subsystems/otel.i18n.yaml +0 -7
  508. package/references/official-docs/docs/subsystems/otel.md +0 -44
  509. package/references/official-docs/docs/subsystems/otel.zh.md +0 -44
  510. package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +0 -19
  511. package/references/official-docs/docs/subsystems/permission-presets.md +0 -167
  512. package/references/official-docs/docs/subsystems/permission-presets.zh.md +0 -167
  513. package/references/official-docs/docs/subsystems/persistence.i18n.yaml +0 -37
  514. package/references/official-docs/docs/subsystems/persistence.md +0 -418
  515. package/references/official-docs/docs/subsystems/persistence.zh.md +0 -418
  516. package/references/official-docs/docs/subsystems/plan.i18n.yaml +0 -22
  517. package/references/official-docs/docs/subsystems/plan.md +0 -87
  518. package/references/official-docs/docs/subsystems/plan.zh.md +0 -87
  519. package/references/official-docs/docs/subsystems/product-telemetry.i18n.yaml +0 -10
  520. package/references/official-docs/docs/subsystems/product-telemetry.md +0 -81
  521. package/references/official-docs/docs/subsystems/product-telemetry.zh.md +0 -81
  522. package/references/official-docs/docs/subsystems/ptc-runtime.i18n.yaml +0 -19
  523. package/references/official-docs/docs/subsystems/ptc-runtime.md +0 -250
  524. package/references/official-docs/docs/subsystems/ptc-runtime.zh.md +0 -250
  525. package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +0 -19
  526. package/references/official-docs/docs/subsystems/sandbox.md +0 -221
  527. package/references/official-docs/docs/subsystems/sandbox.zh.md +0 -221
  528. package/references/official-docs/docs/subsystems/schedule.i18n.yaml +0 -40
  529. package/references/official-docs/docs/subsystems/schedule.md +0 -550
  530. package/references/official-docs/docs/subsystems/schedule.zh.md +0 -550
  531. package/references/official-docs/docs/subsystems/scope.i18n.yaml +0 -16
  532. package/references/official-docs/docs/subsystems/scope.md +0 -59
  533. package/references/official-docs/docs/subsystems/scope.zh.md +0 -61
  534. package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +0 -16
  535. package/references/official-docs/docs/subsystems/session-projection.md +0 -356
  536. package/references/official-docs/docs/subsystems/session-projection.zh.md +0 -356
  537. package/references/official-docs/docs/subsystems/session-query.i18n.yaml +0 -28
  538. package/references/official-docs/docs/subsystems/session-query.md +0 -511
  539. package/references/official-docs/docs/subsystems/session-query.zh.md +0 -511
  540. package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +0 -19
  541. package/references/official-docs/docs/subsystems/session-reference.md +0 -224
  542. package/references/official-docs/docs/subsystems/session-reference.zh.md +0 -224
  543. package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +0 -22
  544. package/references/official-docs/docs/subsystems/session-telemetry.md +0 -212
  545. package/references/official-docs/docs/subsystems/session-telemetry.zh.md +0 -212
  546. package/references/official-docs/docs/subsystems/session-title.i18n.yaml +0 -16
  547. package/references/official-docs/docs/subsystems/session-title.md +0 -213
  548. package/references/official-docs/docs/subsystems/session-title.zh.md +0 -213
  549. package/references/official-docs/docs/subsystems/session.i18n.yaml +0 -70
  550. package/references/official-docs/docs/subsystems/session.md +0 -1339
  551. package/references/official-docs/docs/subsystems/session.zh.md +0 -1343
  552. package/references/official-docs/docs/subsystems/settings.i18n.yaml +0 -13
  553. package/references/official-docs/docs/subsystems/settings.md +0 -155
  554. package/references/official-docs/docs/subsystems/settings.zh.md +0 -155
  555. package/references/official-docs/docs/subsystems/shell.i18n.yaml +0 -25
  556. package/references/official-docs/docs/subsystems/shell.md +0 -314
  557. package/references/official-docs/docs/subsystems/shell.zh.md +0 -314
  558. package/references/official-docs/docs/subsystems/sidebar-right.i18n.yaml +0 -37
  559. package/references/official-docs/docs/subsystems/sidebar-right.md +0 -160
  560. package/references/official-docs/docs/subsystems/sidebar-right.zh.md +0 -160
  561. package/references/official-docs/docs/subsystems/skills.i18n.yaml +0 -28
  562. package/references/official-docs/docs/subsystems/skills.md +0 -352
  563. package/references/official-docs/docs/subsystems/skills.zh.md +0 -352
  564. package/references/official-docs/docs/subsystems/slots.i18n.yaml +0 -28
  565. package/references/official-docs/docs/subsystems/slots.md +0 -200
  566. package/references/official-docs/docs/subsystems/slots.zh.md +0 -204
  567. package/references/official-docs/docs/subsystems/spill.i18n.yaml +0 -16
  568. package/references/official-docs/docs/subsystems/spill.md +0 -124
  569. package/references/official-docs/docs/subsystems/spill.zh.md +0 -124
  570. package/references/official-docs/docs/subsystems/ssh.i18n.yaml +0 -22
  571. package/references/official-docs/docs/subsystems/ssh.md +0 -146
  572. package/references/official-docs/docs/subsystems/ssh.zh.md +0 -146
  573. package/references/official-docs/docs/subsystems/storage.i18n.yaml +0 -25
  574. package/references/official-docs/docs/subsystems/storage.md +0 -259
  575. package/references/official-docs/docs/subsystems/storage.zh.md +0 -259
  576. package/references/official-docs/docs/subsystems/subagent.i18n.yaml +0 -28
  577. package/references/official-docs/docs/subsystems/subagent.md +0 -686
  578. package/references/official-docs/docs/subsystems/subagent.zh.md +0 -688
  579. package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +0 -31
  580. package/references/official-docs/docs/subsystems/subprocess.md +0 -321
  581. package/references/official-docs/docs/subsystems/subprocess.zh.md +0 -321
  582. package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +0 -19
  583. package/references/official-docs/docs/subsystems/system-prompt.md +0 -254
  584. package/references/official-docs/docs/subsystems/system-prompt.zh.md +0 -254
  585. package/references/official-docs/docs/subsystems/terminal.i18n.yaml +0 -19
  586. package/references/official-docs/docs/subsystems/terminal.md +0 -184
  587. package/references/official-docs/docs/subsystems/terminal.zh.md +0 -184
  588. package/references/official-docs/docs/subsystems/todo.i18n.yaml +0 -13
  589. package/references/official-docs/docs/subsystems/todo.md +0 -32
  590. package/references/official-docs/docs/subsystems/todo.zh.md +0 -32
  591. package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +0 -13
  592. package/references/official-docs/docs/subsystems/token-meter.md +0 -106
  593. package/references/official-docs/docs/subsystems/token-meter.zh.md +0 -106
  594. package/references/official-docs/docs/subsystems/tools.i18n.yaml +0 -25
  595. package/references/official-docs/docs/subsystems/tools.md +0 -747
  596. package/references/official-docs/docs/subsystems/tools.zh.md +0 -747
  597. package/references/official-docs/docs/subsystems/translation.i18n.yaml +0 -19
  598. package/references/official-docs/docs/subsystems/translation.md +0 -103
  599. package/references/official-docs/docs/subsystems/translation.zh.md +0 -103
  600. package/references/official-docs/docs/subsystems/typert.i18n.yaml +0 -25
  601. package/references/official-docs/docs/subsystems/typert.md +0 -690
  602. package/references/official-docs/docs/subsystems/typert.zh.md +0 -690
  603. package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +0 -28
  604. package/references/official-docs/docs/subsystems/user-questions.md +0 -307
  605. package/references/official-docs/docs/subsystems/user-questions.zh.md +0 -307
  606. package/references/official-docs/docs/subsystems/voice-input.i18n.yaml +0 -19
  607. package/references/official-docs/docs/subsystems/voice-input.md +0 -164
  608. package/references/official-docs/docs/subsystems/voice-input.zh.md +0 -164
  609. package/references/official-docs/docs/subsystems/web-client.i18n.yaml +0 -37
  610. package/references/official-docs/docs/subsystems/web-client.md +0 -100
  611. package/references/official-docs/docs/subsystems/web-client.zh.md +0 -100
  612. package/references/official-docs/docs/subsystems/web-server.i18n.yaml +0 -16
  613. package/references/official-docs/docs/subsystems/web-server.md +0 -302
  614. package/references/official-docs/docs/subsystems/web-server.zh.md +0 -302
  615. package/references/official-docs/docs/subsystems/web.i18n.yaml +0 -28
  616. package/references/official-docs/docs/subsystems/web.md +0 -206
  617. package/references/official-docs/docs/subsystems/web.zh.md +0 -206
  618. package/references/official-docs/docs/subsystems/webhook.i18n.yaml +0 -19
  619. package/references/official-docs/docs/subsystems/webhook.md +0 -70
  620. package/references/official-docs/docs/subsystems/webhook.zh.md +0 -70
  621. package/references/official-docs/docs/subsystems/workflow.i18n.yaml +0 -28
  622. package/references/official-docs/docs/subsystems/workflow.md +0 -278
  623. package/references/official-docs/docs/subsystems/workflow.zh.md +0 -278
  624. package/references/official-docs/docs/subsystems/working-directory.i18n.yaml +0 -13
  625. package/references/official-docs/docs/subsystems/working-directory.md +0 -64
  626. package/references/official-docs/docs/subsystems/working-directory.zh.md +0 -64
  627. package/references/official-docs/docs/subsystems/workspace.i18n.yaml +0 -28
  628. package/references/official-docs/docs/subsystems/workspace.md +0 -647
  629. package/references/official-docs/docs/subsystems/workspace.zh.md +0 -647
  630. package/references/official-docs/docs/subsystems/worktrees.i18n.yaml +0 -13
  631. package/references/official-docs/docs/subsystems/worktrees.md +0 -76
  632. package/references/official-docs/docs/subsystems/worktrees.zh.md +0 -76
  633. package/references/official-docs/docs/testing.i18n.yaml +0 -34
  634. package/references/official-docs/docs/testing.md +0 -55
  635. package/references/official-docs/docs/testing.zh.md +0 -55
  636. package/references/official-docs/docs/tool-catalog.i18n.yaml +0 -331
  637. package/references/official-docs/docs/tool-catalog.md +0 -2824
  638. package/references/official-docs/docs/tool-catalog.zh.md +0 -2832
  639. package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +0 -10
  640. package/references/official-docs/docs/tool-execution-pipeline.md +0 -65
  641. package/references/official-docs/docs/tool-execution-pipeline.zh.md +0 -67
  642. package/references/official-docs/docs/ui-radius.i18n.yaml +0 -31
  643. package/references/official-docs/docs/ui-radius.md +0 -117
  644. package/references/official-docs/docs/ui-radius.zh.md +0 -117
  645. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.i18n.yaml +0 -16
  646. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.md +0 -22
  647. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/schedule-optional-bundle/guide.zh.md +0 -22
  648. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.i18n.yaml +0 -16
  649. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.md +0 -25
  650. package/references/official-docs/docs/upgrade-guide/v0.1.7-rc.2/transcript-view-legacy-normal/guide.zh.md +0 -25
  651. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.i18n.yaml +0 -16
  652. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.md +0 -18
  653. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/account-sign-in-errors/guide.zh.md +0 -18
  654. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.i18n.yaml +0 -16
  655. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.md +0 -18
  656. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/bundled-python-tests/guide.zh.md +0 -18
  657. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.i18n.yaml +0 -16
  658. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.md +0 -18
  659. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/primary-runtime-python-aliases/guide.zh.md +0 -18
  660. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.i18n.yaml +0 -16
  661. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.md +0 -23
  662. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants/guide.zh.md +0 -23
  663. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.i18n.yaml +0 -16
  664. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.md +0 -22
  665. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/schedule-bundle-retired/guide.zh.md +0 -22
  666. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.i18n.yaml +0 -16
  667. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.md +0 -27
  668. package/references/official-docs/docs/upgrade-guide/v0.2.0-rc.2/subpath-plugin-display-manifest/guide.zh.md +0 -27
  669. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.i18n.yaml +0 -16
  670. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.md +0 -17
  671. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/deepseek-model-discovery/guide.zh.md +0 -17
  672. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.i18n.yaml +0 -16
  673. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.md +0 -18
  674. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/desktop-test-auth-popup/guide.zh.md +0 -18
  675. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.i18n.yaml +0 -16
  676. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.md +0 -28
  677. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/experimental-package-composition/guide.zh.md +0 -28
  678. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.i18n.yaml +0 -16
  679. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.md +0 -20
  680. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/instruction-home-override/guide.zh.md +0 -20
  681. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.i18n.yaml +0 -16
  682. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.md +0 -18
  683. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/job-id-identity/guide.zh.md +0 -18
  684. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.i18n.yaml +0 -16
  685. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.md +0 -18
  686. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/jsonl-persistence-plugin/guide.zh.md +0 -18
  687. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.i18n.yaml +0 -16
  688. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.md +0 -17
  689. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/mock-messages-events/guide.zh.md +0 -17
  690. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.i18n.yaml +0 -16
  691. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.md +0 -31
  692. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/native-subagent-bundle-tools/guide.zh.md +0 -31
  693. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.i18n.yaml +0 -16
  694. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.md +0 -20
  695. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/new-session-generations/guide.zh.md +0 -20
  696. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.i18n.yaml +0 -16
  697. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.md +0 -20
  698. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/plugin-option-placement/guide.zh.md +0 -20
  699. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.i18n.yaml +0 -16
  700. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.md +0 -18
  701. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-optional-resources/guide.zh.md +0 -18
  702. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.i18n.yaml +0 -16
  703. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +0 -21
  704. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +0 -21
  705. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.i18n.yaml +0 -16
  706. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.md +0 -18
  707. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-adapters/guide.zh.md +0 -18
  708. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.i18n.yaml +0 -16
  709. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.md +0 -20
  710. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/session-title-provider-strategy/guide.zh.md +0 -20
  711. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.i18n.yaml +0 -16
  712. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.md +0 -19
  713. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/ssh-helper-launch/guide.zh.md +0 -19
  714. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.i18n.yaml +0 -16
  715. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.md +0 -59
  716. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-activations/guide.zh.md +0 -59
  717. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.i18n.yaml +0 -16
  718. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.md +0 -21
  719. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/subagent-preset-composition/guide.zh.md +0 -21
  720. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.i18n.yaml +0 -16
  721. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.md +0 -21
  722. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/team-direct-inbox/guide.zh.md +0 -21
  723. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.i18n.yaml +0 -16
  724. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.md +0 -18
  725. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/terminal-command-labels/guide.zh.md +0 -18
  726. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.i18n.yaml +0 -16
  727. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.md +0 -21
  728. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/tool-presentation-mode/guide.zh.md +0 -21
  729. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.i18n.yaml +0 -16
  730. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.md +0 -36
  731. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/web-listener-trust-config/guide.zh.md +0 -36
  732. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.i18n.yaml +0 -16
  733. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.md +0 -25
  734. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.1/working-directory/guide.zh.md +0 -25
  735. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.i18n.yaml +0 -16
  736. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.md +0 -18
  737. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-identity-watch/guide.zh.md +0 -18
  738. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.i18n.yaml +0 -16
  739. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.md +0 -27
  740. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/deepseek-account-model-catalog/guide.zh.md +0 -27
  741. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.i18n.yaml +0 -16
  742. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.md +0 -18
  743. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/desktop-font-size-shortcuts/guide.zh.md +0 -18
  744. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.i18n.yaml +0 -16
  745. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.md +0 -20
  746. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/from-default-profile-replaces-target/guide.zh.md +0 -20
  747. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.i18n.yaml +0 -16
  748. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.md +0 -18
  749. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/operator-connect/guide.zh.md +0 -18
  750. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.i18n.yaml +0 -16
  751. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.md +0 -19
  752. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-azure-provider/guide.zh.md +0 -19
  753. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.i18n.yaml +0 -16
  754. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.md +0 -17
  755. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/pi-ai-model-discovery/guide.zh.md +0 -17
  756. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.i18n.yaml +0 -16
  757. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.md +0 -20
  758. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/plugin-install-over-installed/guide.zh.md +0 -20
  759. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.i18n.yaml +0 -16
  760. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.md +0 -32
  761. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/sdk-minimal-image-compaction/guide.zh.md +0 -32
  762. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.i18n.yaml +0 -16
  763. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.md +0 -25
  764. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.2/stored-credentials-precedence/guide.zh.md +0 -25
  765. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.i18n.yaml +0 -16
  766. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.md +0 -21
  767. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.3/plugin-engines-dsh/guide.zh.md +0 -21
  768. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.i18n.yaml +0 -16
  769. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.md +0 -18
  770. package/references/official-docs/docs/upgrade-guide/v0.2.1-alpha.4/account-notification-fields/guide.zh.md +0 -18
  771. package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +0 -28
  772. package/references/official-docs/docs/user/develop/basic/config.md +0 -106
  773. package/references/official-docs/docs/user/develop/basic/config.zh.md +0 -106
  774. package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +0 -37
  775. package/references/official-docs/docs/user/develop/basic/index.md +0 -144
  776. package/references/official-docs/docs/user/develop/basic/index.zh.md +0 -144
  777. package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +0 -31
  778. package/references/official-docs/docs/user/develop/basic/publish.md +0 -191
  779. package/references/official-docs/docs/user/develop/basic/publish.zh.md +0 -191
  780. package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +0 -16
  781. package/references/official-docs/docs/user/develop/basic/tool.md +0 -52
  782. package/references/official-docs/docs/user/develop/basic/tool.zh.md +0 -52
  783. package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +0 -46
  784. package/references/official-docs/docs/user/develop/framework/events.md +0 -143
  785. package/references/official-docs/docs/user/develop/framework/events.zh.md +0 -143
  786. package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +0 -31
  787. package/references/official-docs/docs/user/develop/framework/index.md +0 -137
  788. package/references/official-docs/docs/user/develop/framework/index.zh.md +0 -137
  789. package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +0 -40
  790. package/references/official-docs/docs/user/develop/framework/service.md +0 -148
  791. package/references/official-docs/docs/user/develop/framework/service.zh.md +0 -150
  792. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +0 -10
  793. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +0 -15
  794. package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +0 -15
  795. package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +0 -46
  796. package/references/official-docs/docs/user/develop/practice/index.md +0 -155
  797. package/references/official-docs/docs/user/develop/practice/index.zh.md +0 -155
  798. package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +0 -34
  799. package/references/official-docs/docs/user/develop/practice/llm-adapter.md +0 -189
  800. package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +0 -189
  801. package/references/official-docs/docs/user/guide/github-review.i18n.yaml +0 -25
  802. package/references/official-docs/docs/user/guide/github-review.md +0 -99
  803. package/references/official-docs/docs/user/guide/github-review.zh.md +0 -99
  804. package/references/official-docs/docs/user/guide/index.i18n.yaml +0 -19
  805. package/references/official-docs/docs/user/guide/index.md +0 -31
  806. package/references/official-docs/docs/user/guide/index.zh.md +0 -31
  807. package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +0 -37
  808. package/references/official-docs/docs/user/guide/mcp-memory.md +0 -101
  809. package/references/official-docs/docs/user/guide/mcp-memory.zh.md +0 -101
  810. package/references/official-docs/docs/user/guide/network-proxy.i18n.yaml +0 -25
  811. package/references/official-docs/docs/user/guide/network-proxy.md +0 -85
  812. package/references/official-docs/docs/user/guide/network-proxy.zh.md +0 -85
  813. package/references/official-docs/docs/user/guide/plugin-market.i18n.yaml +0 -34
  814. package/references/official-docs/docs/user/guide/plugin-market.md +0 -148
  815. package/references/official-docs/docs/user/guide/plugin-market.zh.md +0 -148
  816. package/references/official-docs/docs/user/guide/providers-custom-form.png +0 -0
  817. package/references/official-docs/docs/user/guide/providers-custom-form.zh.png +0 -0
  818. package/references/official-docs/docs/user/guide/providers-models-page.png +0 -0
  819. package/references/official-docs/docs/user/guide/providers-models-page.zh.png +0 -0
  820. package/references/official-docs/docs/user/guide/providers.i18n.yaml +0 -40
  821. package/references/official-docs/docs/user/guide/providers.md +0 -227
  822. package/references/official-docs/docs/user/guide/providers.zh.md +0 -227
  823. package/references/official-docs/docs/user/guide/public-deployments.i18n.yaml +0 -19
  824. package/references/official-docs/docs/user/guide/public-deployments.md +0 -37
  825. package/references/official-docs/docs/user/guide/public-deployments.zh.md +0 -37
  826. package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +0 -28
  827. package/references/official-docs/docs/user/guide/python-sdk.md +0 -185
  828. package/references/official-docs/docs/user/guide/python-sdk.zh.md +0 -185
  829. package/references/official-docs/docs/user/guide/schedule.i18n.yaml +0 -31
  830. package/references/official-docs/docs/user/guide/schedule.md +0 -79
  831. package/references/official-docs/docs/user/guide/schedule.zh.md +0 -79
  832. package/references/official-docs/docs/user/index.i18n.yaml +0 -10
  833. package/references/official-docs/docs/user/index.md +0 -11
  834. package/references/official-docs/docs/user/index.zh.md +0 -11
  835. package/references/official-docs/docs/web-styling.i18n.yaml +0 -19
  836. package/references/official-docs/docs/web-styling.md +0 -39
  837. package/references/official-docs/docs/web-styling.zh.md +0 -39
  838. package/references/official-docs/packages/AGENTS.md +0 -29
  839. package/references/official-docs/packages/README.md +0 -117
  840. package/references/official-docs/vendor/README.md +0 -73
  841. package/references/official-docs/website-docs.ts +0 -591
  842. package/references/official-plugin-dev-skill.md +0 -124
  843. package/references/sources.md +0 -143
  844. package/references/upstream-cordis.md +0 -594
  845. package/references/website-pages.md +0 -673
  846. package/scripts/archive-discussions.ps1 +0 -162
  847. package/scripts/build-llms-full.mjs +0 -73
  848. package/scripts/check-docs-drift-detail.mjs +0 -145
  849. package/scripts/check-docs-drift.ps1 +0 -55
  850. package/scripts/check-facts.mjs +0 -162
  851. package/scripts/check-ps1-bom.mjs +0 -68
  852. package/scripts/check-readme-parity.mjs +0 -149
  853. package/scripts/check-readme-sync.mjs +0 -96
  854. package/scripts/download-community-articles.ps1 +0 -188
  855. package/scripts/download-community-repos.ps1 +0 -232
  856. package/scripts/download-sources.ps1 +0 -195
  857. package/scripts/gen-topic-snapshot.ps1 +0 -91
  858. package/scripts/install-skill.ps1 +0 -63
  859. package/scripts/measure-mirror-references.mjs +0 -117
  860. package/scripts/sync-official-docs.ps1 +0 -138
  861. package/scripts/verify-artifacts.mjs +0 -145
  862. package/scripts/verify-kit.ps1 +0 -197
  863. package/templates/js/LICENSE +0 -15
  864. package/templates/js/README-es.md +0 -46
  865. package/templates/js/README-hi.md +0 -46
  866. package/templates/js/README-pt.md +0 -46
  867. package/templates/js/README-zh.md +0 -46
  868. package/templates/js/README.md +0 -46
  869. package/templates/js/cordis.patch.yml +0 -10
  870. package/templates/js/icon.svg +0 -4
  871. package/templates/js/index.js +0 -38
  872. package/templates/js/locale/en.json +0 -6
  873. package/templates/js/locale/zh.json +0 -6
  874. package/templates/js/package.json +0 -49
  875. package/templates/js/tests/index.test.js +0 -12
  876. package/templates/ts/LICENSE +0 -15
  877. package/templates/ts/README-es.md +0 -48
  878. package/templates/ts/README-hi.md +0 -48
  879. package/templates/ts/README-pt.md +0 -48
  880. package/templates/ts/README-zh.md +0 -48
  881. package/templates/ts/README.md +0 -48
  882. package/templates/ts/cordis.patch.yml +0 -10
  883. package/templates/ts/icon.svg +0 -4
  884. package/templates/ts/locale/en.json +0 -6
  885. package/templates/ts/locale/zh.json +0 -6
  886. package/templates/ts/package.json +0 -58
  887. package/templates/ts/src/config.ts +0 -12
  888. package/templates/ts/src/index.ts +0 -36
  889. package/templates/ts/tests/index.test.ts +0 -12
  890. package/templates/ts/tsconfig.json +0 -17
  891. package/templates/ts/tsdown.config.mjs +0 -21
  892. package/templates/ts/vitest.config.ts +0 -8
@@ -1,660 +0,0 @@
1
- # 社区插件开发仓库深读
2
-
3
- > 对 15 个 DeepSeek Harness 插件开发社区仓库的逐仓库源码深读。源码副本位于
4
- > `dsh-plugin-guide/downloads/community-repos/<repo>/`;本文所有文件路径均为相对各仓库根目录的路径
5
- > (即 `community-repos/<repo>/` 之下),不重复书写 `downloads/community-repos/` 前缀。
6
- > 术语保留英文(bundle / profile / cordis.patch.yml / `dsh.bundle` / repository-plugin 等)。
7
- > 阅读范围:README / SKILL.md / docs/ / references/ / package.json / cordis.patch.yml / 关键源码 / 测试;
8
- > 跳过 `node_modules` / `.git` / `dist` / `build` / `lib` / `coverage` 产物(但把“是否入库产物”作为一个事实记录)。
9
- > 本文是 `guide/plugin-dev-guide.md` §7.3 与 `guide/quick-reference.md`“社区实测坑速查”的**全文证据与出处**。
10
-
11
- > ⚠️ **基线声明与许可口径(2026-10-13 追加,读本文件前必看)**
12
- >
13
- > 1. **这是时点快照,不是现行 API 手册。** 被调研的仓库多数停在旧世代,**其中的代码示例可能使用已被上游移除的机制**。
14
- > 引用前先到 `references/official-docs/`(逐字镜像)核对;冲突时以镜像与官方代码为准。
15
- > **已知本文内含已被移除的机制**(保留原文以便追溯,但**不得照抄**):
16
- > - **`ctx.get('invariants')` / `./invariant` 伴生**(§1.1 plugin-template 等):运行时 invariants 已**整体移除**
17
- > (`upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants`)。**新插件不要建 `src/invariant.ts`。**
18
- > - **`source: { kind: 'plugin', … }`**(多处):会话格式 V4 在消息准入处**拒绝**该形态,
19
- > 改用 `declare module '@deepseek-ai/dsh-llm'` 声明自有 kind。
20
- > - **`@deepseek-ai/dsh-invariants` 依赖**:该包已被移除,出现在 `peerDependencies` 里会导致装不上。
21
- > 2. **许可**:本文件调研的部分仓库**没有 LICENSE 文件**(已逐仓复核)。凡无许可证者,
22
- > 本文**只做事实性转述并链回上游**,不复制其源码、配置或整句原文——
23
- > §1.2(`dsh-plugin-dev`)与 §1.8(`fabric`→`stent`)两节已按此口径重写。
24
- > **引用具体代码前请自行确认该仓库的许可证。**
25
- >
26
- > 见 [`guide/version-matrix.md`](../guide/version-matrix.md) §3、[`guide/migration-0.2.md`](../guide/migration-0.2.md) §4/§13。
27
-
28
- ---
29
-
30
- ## 0. 总览表
31
-
32
- > “文件数”为排除 `node_modules/.git/dist/build/lib/coverage` 后的非产物文件数(本机 `Get-ChildItem -Recurse` 统计,
33
- > 与下载日志 `_download.log` 的 tarball 文件数略有出入)。仓库按“对插件开发者重要性”排序。
34
-
35
- | # | 仓库(owner/repo) | 定位 | 形态 | 语言 | 安装方式 | 文件数 | 亮点 |
36
- |---|---|---|---|---|---|---|---|
37
- | 1 | omdsh-dev/**plugin-template** | 自包含独立插件模板 | scaffold + 7 个仓库本地 skill | TypeScript/ESM | `pnpm install`;bundle 经 `dsh plugin add` | 46 | src 四文件结构 + `./invariant` 伴生 + tsdown 双构建路径 + `verify:self-contained` 边界校验 |
38
- | 2 | omdsh-dev/**dsh-plugin-dev** | 踩坑与做法档案 | skill + 文档 | Markdown | 拷入 skills 目录 | 9 | 20 个实测坑(cordis 双副本 / tsconfig 三件套 / Windows junction / 多帧 zstd / `DSH_PERMISSION_MODE` 等) |
39
- | 3 | Opr4Mp3r/**deepseek-harness-plugin-from-scratch** | 代码审计式渐进教程 + 可安装示例 | 教程 + bundle | TypeScript | `pnpm install`;`pnpm pack` 后 `dsh plugin add` | 48 | checkpoint 生成器 + 17 反模式 + 5 层测试证据 + 交付检查单 |
40
- | 4 | omdsh-dev/**dsh-plugin-skills** | 写/测插件的 agent skills | skill(纯 Markdown) | Markdown | `cp -r` 到 `.agents/skills/` | 11 | 5 种能力形态各配一份自包含 reference + 测试分层决策表 |
41
- | 5 | vlln/**plugin-registry** | 插件生态基建:薄控制台 + 开发引导 | bundle(console 包)+ docs + skill | TypeScript | `dsh plugin --profile web add "github:vlln/plugin-registry#main&path:/packages/plugin/console"` | 63 | 记录 repository-plugin 0809→0811 全时间线;bundle vs 纯插件双通道对比 |
42
- | 6 | omdsh-dev/**dsh-plugin-check** | 插件健康检查工具 | tool-bundle | TypeScript | `dsh plugin --profile web add "C:/path/to/dsh-plugin-check"` | 27 | `plugin_check` 工具 36 项检测项(清单/patch/构建/生态/hub)按形态分流 |
43
- | 7 | whyihaveyou/**dsh-suite** | 双语插件目录 + 脚手架 + 自研插件 | monorepo(脚手架 + 3 个第一方插件) | JS/TS | `npm create dsh-plugin@latest`;`dsh plugin add <pkg>` | 79 | 167+ 插件目录带日检兼容徽章 + `create-dsh-plugin` 三模板 + 15 条设计准则 |
44
- | 8 | omdsh-dev/**fabric** → **stent** | MC-Fabric 风格 hook 处理器 | 3 包 workspace + bundle 载体 | TypeScript | ⚠️ **安装命令已失效**(原 `github:dsh-external/fabric` 指向已改名仓;且无许可证) | 91 | Orchestrion-JS 加载期代码变换;`before/after/around/replace` 四操作;**与官方"不得改 agent-loop"红线相冲突,本库不建议当范例**——详见 §1.8 |
45
- | 9 | randerous/**dsh-turn-meta** | 最小首插件范例 | monorepo 包 | TypeScript | npm/tarball(`workspace:^` 依赖) | 11 | `agent/pre-step` `{prepend:true}` waterfall 注入 + source 归属 + `./invariant` 伴生 |
46
- | 10 | bobleer/**deepseek-harness-plugin-mcp** | 把 DSH 插件发布给外部 agent 的 MCP server | 双入口 npm 包(stdio/HTTP MCP + DSH bundle) | TypeScript | `npx deepseek-harness-plugin-mcp`;`dsh plugin add github:bobleer/...` | 46 | Catalog/Profile/Runtime 三平面;`ctx.tools`→MCP 工具桥接 + `tools/change` 联动 |
47
- | 11 | Nagi-ovo/**dsh-find-plugins** | 找插件/装插件 agent skill | skill(SKILL.md + script) | Markdown + Node ESM | 拷入 skills 目录 | 5 | 身份 = `dsh-plugin` topic;bundle/cordis/skill 四类装法优先级 |
48
- | 12 | omdsh-dev/**dsh-hub-workshop** | 插件市场/注册 workshop | 静态站点 + JSON feed/schema + CF Worker | HTML/JS + JSON Schema | 无需安装(feed 站点) | 60 | “发现 ≠ 安装权限”信任边界;40 位不可变 commit 准入;registry 安装权威为空(08-13 17:27Z 复核仍空,11 候选 blocked) |
49
- | 13 | AdamPlatin123/**awesome-dsh-plugins** | 生态情报/兼容性雷达 | 情报仓库(报告 + 脚本) | bash/python/Markdown | 无需安装 | 1556 | 288 仓每日 mainline 四维兼容引擎 + 两代格式对照 + 12 条安全清单 |
50
- | 14 | bruc3van/**awesome-dsh-plugin** | 双语精选 catalog | catalog + JSON Schema + 生成器 | Python | 无需安装 | 11 | 严格 JSON Schema + 强制双语 `localizedText` + CI `--check` |
51
- | 15 | Alex-Yanggg/**awesome-DSH-plugin** | 使用者场景导航 + 全量 topic 快照 | 数据 JSON + 生成器 | Node.js ESM | 无需安装 | 10 | 场景化“套装”推荐 + 212 仓机器快照(含 star/license/语言) |
52
-
53
- ---
54
-
55
- ## 1. 每个仓库的详细分析
56
-
57
- ### 1.1 plugin-template(omdsh-dev/plugin-template)— 自包含独立插件模板(重要性最高)
58
-
59
- - **目的**:提供一个“仓库内一切开发输入都在根目录之下”的最小 DSH 插件模板,把
60
- `src/index.ts` / `config.ts` / `runtime.ts` / `invariant.ts` 与 `tests/harness.ts` 的职责边界固定,
61
- 并随模板配送 7 个仓库本地的开发 skill。README 开头即声明:
62
- > "A self-contained standalone repository template for an ESM Cordis plugin. Every source file, compiler setting, test fixture, contributor instruction, skill, and build helper used by the repository is inside this directory…"(`README.md`)
63
- - **结构**:`src/{index,config,runtime,invariant}.ts`;`tests/{harness,plugin.spec}.ts`;`scripts/{extract-patch,patch.sh,prepare,verify-self-contained}.mjs`;`patches/README.md`;`docs/dsh-plugin-contracts.md`;`.agents/skills/dsh-plugin-{development,plan,scaffold,implement,compose,test,release}/`;`tsconfig.{base,json,vitest,prepare,prepare.dts}.json`;`tsdown.config.ts` + `tsdown.prepare.config.ts`。**不入库产物**:`.gitignore` 明确忽略 `lib/ node_modules/ *.tsbuildinfo *.tgz coverage/ .pnpm-store/`。
64
- - **约定与代码模式**(关键 snippet):
65
-
66
- 插件入口(`src/index.ts`,命名导出、无 default):
67
- ```ts
68
- export const name = 'plugin-template'
69
- export const inject: string[] = []
70
- export { Config } from './config.ts'
71
- export type { ResolvedConfig } from './config.ts'
72
- export { apply } from './runtime.ts'
73
- export type { PluginRuntime } from './runtime.ts'
74
- ```
75
-
76
- 配置 schema(`src/config.ts`,Schemastery `z<Config>` + 直调默认值):
77
- ```ts
78
- export interface Config { message?: string }
79
- export interface ResolvedConfig { message: string }
80
- export const Config: z<Config> = z.object({
81
- message: z.string().default('DSH plugin template loaded'),
82
- })
83
- export function resolveConfig(config: Config = {}): ResolvedConfig {
84
- return { message: config.message ?? 'DSH plugin template loaded' }
85
- }
86
- ```
87
-
88
- > ❌ **这一段已过时(2026-10-13 标注)**:下面的 `cordis.patch.yml` invariant 伴生行与随后的
89
- > `src/invariant.ts` 写法**都已被上游移除**——运行时 invariants 在 `0.2.1-alpha.1` 整体删除。
90
- > 该模板的 `src/{index,config,runtime,invariant}.ts` 四文件结构因此**只剩三文件有效**。
91
- > **照抄会在启动期失败**。现行做法:不要建 `src/invariant.ts`,也不要注入 `invariants` 服务。
92
- > 官方出处:`upgrade-guide/v0.2.0-rc.2/remove-runtime-invariants`。
93
- > 下文代码保留**仅为追溯该模板的历史形态**。
94
-
95
- bundle manifest(`package.json`)与 `cordis.patch.yml`(含 invariant 伴生行):
96
- ```json
97
- { "dsh": { "bundle": { "patch": "./cordis.patch.yml" } } }
98
- ```
99
- ```yaml
100
- - insert:
101
- - id: plugin-template
102
- name: '@your-scope/dsh-plugin-template'
103
- config: { message: DSH plugin template loaded }
104
- - id: plugin-template-invariant
105
- name: '@your-scope/dsh-plugin-template/invariant'
106
- ```
107
-
108
- invariant 伴生(`src/invariant.ts`,经 `ctx.get('invariants')` 取窄接口注册):
109
- ```ts
110
- export const name = 'plugin-template-invariant'
111
- export const inject = ['invariants']
112
- export const apply = (ctx: Context): Promise<() => void> =>
113
- Promise.resolve(getInvariantRegistry(ctx).register(PACKAGE_NAME, install))
114
- ```
115
-
116
- 测试(真实 Cordis 挂载 + Loader 解包断言,`tests/harness.ts`、`tests/plugin.spec.ts`):
117
- ```ts
118
- export async function createPluginHarness(config: plugin.Config = {}) {
119
- const ctx = new Context()
120
- const info = vi.spyOn(ctx.logger, 'info').mockImplementation(() => undefined)
121
- const fiber = await ctx.plugin(plugin, config)
122
- // ... dispose(): fiber.dispose() then info.mockRestore()
123
- }
124
- ```
125
- ```ts
126
- it('preserves the function-plugin namespace through Loader unwrapping', () => {
127
- expect('default' in plugin).toBe(false)
128
- const unwrapped = Object.create(Loader.prototype).unwrapExports(plugin)
129
- expect(unwrapped.name).toBe('plugin-template')
130
- expect(unwrapped.inject).toEqual([])
131
- expect(unwrapped.Config).toBeDefined()
132
- expect(typeof unwrapped.apply).toBe('function')
133
- })
134
- ```
135
-
136
- package.json 关键字段(`package.json`):`"type":"module"`、`"packageManager":"pnpm@11.7.0"`、
137
- `"engines":{"node":"^22.19.0 || >=24.0.0"}`、`main: lib/index.js`、`types: lib/types/index.d.ts`、
138
- `exports` 含 `.`/`./invariant`/`./src/*`/`./package.json`、`files: [lib/index.js, lib/invariant.js, lib/types/**/*.d.ts(+map), src, cordis.patch.yml]`、
139
- `peerDependencies: { cordis: ^4.0.0-rc.7, schemastery: ^3.18.0 }`、`devDependencies` 含 `@cordisjs/plugin-loader`、`tsdown`、`vitest`、`unrun`。
140
- scripts:`build: tsc -b && tsdown`、`test: vitest run`、`typecheck: tsc -b --pretty false && tsc -p tsconfig.vitest.json --pretty false`、`prepare: node scripts/prepare.mjs`、`verify:self-contained`、`extract:patch`、`patch:host`。
141
-
142
- tsconfig 三件套(`tsconfig.base.json`,与 omdsh-dev/dsh-plugin-dev 坑 2 完全一致):
143
- ```jsonc
144
- { "target": "ES2024", "module": "ESNext", "moduleResolution": "bundler",
145
- "declaration": true, "sourceMap": true, "declarationMap": true,
146
- "composite": true, "incremental": true, "skipLibCheck": true, "esModuleInterop": true,
147
- "allowImportingTsExtensions": true, "rewriteRelativeImportExtensions": true,
148
- "strict": true, "noUncheckedIndexedAccess": true, "exactOptionalPropertyTypes": true,
149
- "noImplicitOverride": true, "noFallthroughCasesInSwitch": true,
150
- "noUnusedLocals": true, "noUnusedParameters": true, "types": ["node"] }
151
- ```
152
- `tsconfig.json`:`extends base` + `rootDir: src` + `outDir: lib/types` + `include: ["src"]`。
153
-
154
- - **记录的坑**(verbatim,带根因+修法):
155
- - **函数插件不得加 default export**:`README.md` — "Do not add a default export to a function plugin. Cordis Loader unwraps `exports.default ?? exports`; a stray default export discards namespace exports such as `inject`, `Config`, and `apply`."
156
- - **id 定向 patch 是整行替换 config,非深合并**:`docs/dsh-plugin-contracts.md` — "An id-targeted override replaces the complete `config`, so retained fields must be restated."(`cordis.patch.yml` 内注释同义)
157
- - **`!!js` 只在 plugin `config` 下合法**:`.agents/skills/dsh-plugin-implement/SKILL.md` — "JavaScript interpolation is permitted only under plugin `config` in DSH composition."
158
- - **pnpm ≥10 阻止 prepare(allowBuilds)**:`.agents/skills/dsh-plugin-compose/SKILL.md` — "pnpm 10 and later block dependency lifecycle builds until allowed … print the exact `allowBuilds` key. Add only that printed key to the profile's `pnpm-workspace.yaml`, then rerun."
159
- - **禁用 `link:`/`file:` 依赖与越界路径**:`scripts/verify-self-contained.mjs` 用正则拒绝非 registry spec 与离开仓库根的代码/编译器/Markdown 链接/symlink(`if (/^(?:file|link|portal|workspace|git\+|https?):/i.test(spec) || spec.startsWith('.') || isAbsolute(spec)) { failures.push(...) }`)。
160
- - **host patch 三条裁剪规则**:`patches/README.md` — `keep actual code` / `drop documentation` / `drop what the official registration system handles`(`.patch` 不随包发布、不进 `pnpm-workspace.yaml`)。
161
- - **安装/发布指令**(verbatim):
162
- ```sh
163
- pnpm install && pnpm run verify:self-contained && pnpm run typecheck && pnpm test && pnpm run build && pnpm run prepare
164
- pnpm run prepare && pnpm pack --dry-run --json && pnpm run build # 分发前
165
- dsh --profile <profile> --dump-default-config
166
- dsh --profile <profile> --dump-config
167
- ```
168
- 本仓库未使用 `github:owner/repo#ref&path:...` 全形 git 安装语法;安装形态统一描述为
169
- `dsh plugin --profile <p> add <spec>`(`patches/README.md`、`scripts/patch.sh`)。
170
- - **.dsh-plugin / repository-plugin 机制演变**:无。通篇只描述现代 bundle 机制(`dsh.bundle.patch`→`cordis.patch.yml`),无 `.dsh-plugin` / `repository-plugin` / `dsh.plugin.json` 字样。
171
-
172
- ### 1.2 dsh-plugin-dev(omdsh-dev/dsh-plugin-dev)— 踩坑与做法档案
173
-
174
- > ⚠️ **许可与引用口径(2026-10-13 复核)**:该仓库 **没有 LICENSE 文件**(GitHub API `license: null`),
175
- > 因此本节**只做事实性转述并链回原文**,**不再复制其代码块、配置文件或整句引文**。
176
- > 同组织的 `omdsh-dev/fabric` 现在**重定向到 `omdsh-dev/stent`**,同样无许可证。
177
- > 需要逐字内容请直接读上游;本知识库只保留"有什么、可用于什么"的索引级信息。
178
-
179
- - **目的**:把 DSH 公测期插件开发的真实踩坑固化成档案——vendor cordis 双副本、tsconfig 三件套、
180
- Windows junction、多帧 zstd 会话 API 等。**无 `package.json`**,是纯文档 + skill 形态的仓库。
181
- - **结构**:一份 `SKILL.md` + 一组 `references/*.md` 分面文档(工具插件、构建坑、bundle patch、测试、发布),
182
- 外加中英双份 README。
183
- - **自述的核心主张**:工具插件等于"cordis 插件包 + `cordis.patch.yml`",挂进 profile 即生效;
184
- 但 bundle 并非唯一形态,registry / skill / collection 各有其协议,应按需求选型。
185
- - **它记录并已被本库独立复核的坑**(本库在 [`plugin-dev-guide.md` §7.3](../guide/plugin-dev-guide.md) 保留同主题条目):
186
- 1. **cordis 双副本** → `Property 'tools' does not exist on type 'Context'`(两个物理副本 = 两个模块,
187
- `declare module` 合并失败)。
188
- 2. **Windows junction 只有 PowerShell 的 `New-Item -ItemType Junction` 可靠**;`ln -s` 与
189
- `cmd /c mklink /J` 都会失败(后者被 MSYS 参数转换破坏)。
190
- 3. **tsconfig 三件套**:`allowImportingTsExtensions` + `rewriteRelativeImportExtensions` +
191
- 较新的 `lib`(否则分别报 TS5097 / 产物残留 `./x.ts` 导入导致运行时 ESM 崩溃 / TS2550)。
192
- 4. **多帧 zstd 会话文件**:每批追加一个 frame,单帧 API 会误判为"只有 header"——
193
- 必须逐帧扫。本库在 [`plugin-dev-guide.md`](../guide/plugin-dev-guide.md) 与
194
- [`migration-0.2.md`](../guide/migration-0.2.md) 记有同一结论(按魔数 `28 B5 2F FD` 切分)。
195
- 5. **`DSH_*` 环境变量分层**:启动方式相关变量必须由运行环境传入,不能只放 `~/.dsh/.env`;
196
- 凭据已迁到 `$DSH_HOME/.credentials.yaml`。
197
- 6. **`tsc` 默认报错仍 emit**:需 `--noEmitOnError` 或显式 `|| exit 1`,并 grep 产物确认无 `.ts` 残留。
198
- 7. **Windows 路径分隔符**:`path.resolve()` 的反斜杠与正斜杠比较会恒定 false,造成"路径逃逸"误报。
199
- 8. **`DSH_PERMISSION_MODE=danger-full-access` 在其环境基线中被标为高风险**(当时 Windows 无沙箱后端);
200
- 该模式禁用审批提示,**不应写进模板、CI 或共享机器**。
201
- - **本库不采纳的部分**:其环境基线锁定在早期 npm rc 线,且该仓库**无许可证**,
202
- 故**其代码骨架不作为本库的示例来源**——示例一律取自官方 `docs/` 或本仓库自己的实现(见 §4.9)。
203
- - **上游**:<https://github.com/omdsh-dev/dsh-plugin-dev>(读原文;注意无许可证)
204
-
205
- ### 1.3 deepseek-harness-plugin-from-scratch(Opr4Mp3r)— 代码审计式渐进教程
206
-
207
- - **目的**:回答“不是 `apply()` 怎么写,而是一个插件如何在真实 Harness 中做到:依赖正确、配置可验证、注册可撤销、服务可替换、模型可见内容可回放、测试覆盖真实装配路径”(`README.md`)。非官方社区教程,审计基线 `deepseek-ai/deepseek-harness@47f9438`(2026-08-13),示例依赖公开包 `0.1.0-rc.6`。
208
- - **六句话核心**(`README.md`):① 一切行为都是插件,不修改 `agent-loop`;② 必需依赖用 `inject`、可选读取 `ctx.get()`、可选子贡献 `ctx.inject()`;③ 所有注册和外部资源都必须属于可撤销 effect;④ 可替换能力由 Service Definition / Provider / Consumer 三角色组成;⑤ `waterfall` 是 around middleware,除非有意短路必须 `next()`;⑥ 模型可见 ⟺ 可从 Session log 重建(`model-visible ⇔ logged`)。
209
- - **结构**:`docs/{00-architecture-map,01-minimal-plugin,02-lifecycle-and-effects,03-capability-seams,04-events-and-durability,05-testing-and-release}.md` + `anti-patterns.md` + `checklist.md` + `audit-report.md`;`examples/progressive/{src,tests,checkpoints,diffs}`;`scripts/{checkpoint-lib,generate-checkpoints,verify-checkpoints,verify-docs,verify-package,verify-preview,verify-profile}`;`preview/server.mjs`(本地 scrollytelling 阅读器);`cordis.patch.yml`;`audit-manifest.json`(钉 commit/日期/运行时版本)。
210
- - **checkpoint 系统**(`README.md`、`scripts/verify-checkpoints.ts`):唯一手工维护源码 `examples/progressive/src/index.ts`;三份 checkpoint(`01-plugin.ts`/`02-config.ts`/`03-tool.ts`)由 `generate-checkpoints` 生成;CI 验证“每步只能在上一步末尾追加,最终一步与源码逐字相同”;配套 `diffs/*.patch`。
211
- - **17 条反模式**(`docs/anti-patterns.md`,每条有对应生产代码证据在 `audit-report.md`)——最关键:
212
- 1. 函数插件同时 `export default apply` → Loader 丢 `inject/Config/name`;
213
- 2. 可选 service 用 `ctx.optionalService` → shadow/fiber 拓扑下兄弟 provider 不可见,用 `ctx.get()`;
214
- 4. waterfall 忘记 `next()` → 日志/metrics 插件悄悄吞掉工具执行或模型请求;
215
- 5. registry mutation/timer/watcher 不属于 effect → HMR 后留旧资源;
216
- 8. 只有 TypeScript `Config` interface → 真实 Loader 无运行时 schema;
217
- 9. 在 `run()` 里 `?? default` → 用显式 `resolve(request): spec`;
218
- 15. 忽略 `exec.signal` 或 dispose 不等 quiescence → 取消后旧工作继续改变世界;
219
- 17. 把“源码能跑”当成“插件可安装” → 没有 `lib/`、包入口、`dsh.bundle` 或 `cordis.patch.yml` 时,`dsh plugin add` 只会装普通依赖、不激活插件。
220
- - **五层测试证据**(`docs/05-testing-and-release.md`):Unit(边界/错误/取消/race/纯 render)→ HMR disposal(贡献随 fiber 消失)→ Real Loader composition(export normalization、fiber topology、cordis.yml)→ Built entry smoke(发布后 `lib/` 由 plain Node 使用)→ Keyless snapshot / e2e(模型/协议/UI/人类可见行为在完整应用成立)。配套教训:“178 个测试全绿、100% 行覆盖,但 ACP 在真实编辑器第一次连接时就崩溃”——手工 `ctx.plugin(...)` 测试绕过了 default-export 与错误 Context 路径两条真实路径。
221
- - **一个可安装包必须交付什么**(`docs/05-testing-and-release.md`):`main/types/exports` 指向真实生成的 `lib/`;`files` 只收录运行入口/声明/许可证/README/组合层;`dsh.bundle.patch` 指向包内 `cordis.patch.yml`;patch 用包名而非 checkout 相对路径加载;Harness 提供的 Cordis 与 Service Definition 包为 peer、插件自有实现为 dependencies;npm/tarball 分发前构建、GitHub 源安装配自包含 `prepare`。
222
- - **交付检查单**(`docs/checklist.md`,可直接复制进 PR 描述):架构 / 导出依赖生命周期 / Config 与错误 / Tool·UI / Event 与持久化 / 测试与文档 / 构建打包安装 七大块。
223
- - **安装/发布指令**(verbatim,`README.md`):
224
- ```sh
225
- pnpm install --frozen-lockfile
226
- pnpm smoke:source && pnpm smoke:loader && pnpm check
227
- pnpm pack
228
- dsh plugin --profile tutorial add ./deepseek-harness-plugin-from-scratch-0.1.0.tgz
229
- dsh --profile tutorial --dump-config # 应出现 # == deepseek-harness-plugin-from-scratch 与 id: greet-tool
230
- pnpm check:profile # 打包→dsh plugin add→config 层检查→启动→调用 greet(公开 CLI @deepseek-ai/dsh@0.1.0-rc.6)
231
- dsh plugin --profile tutorial add 'github:Opr4Mp3r/deepseek-harness-plugin-from-scratch#FULL_COMMIT_SHA' # GitHub 源,需 prepare+allowBuilds
232
- ```
233
- 配置覆盖示例(整行替换,两个字段都要重述):`cordis.patch.yml` 内 `- id: greet-tool` + `config: { greeting: '你好', excited: true }`。
234
- - **兼容性锁定**(`README.md`):审计语义 Harness `47f9438…`;可运行示例 `@deepseek-ai/dsh-*` `0.1.0-rc.6`、`@deepseek-ai/cordis` `4.0.1`;`@deepseek-ai/cordis-plugin-include` `1.0.6`、`@deepseek-ai/cordis-plugin-loader` `1.0.2`、`@deepseek-ai/schemastery` `3.18.1`;发布 peer window `@deepseek-ai/cordis ^4.0.1`、`@deepseek-ai/dsh-tools ^0.1.0-rc.5`。“上游在首个正式 tag 前明确不承诺兼容旧格式,升级依赖时应重新执行审计清单”。
235
-
236
- ### 1.4 dsh-plugin-skills(omdsh-dev/dsh-plugin-skills)— 写/测插件 skill 集
237
-
238
- - **目的**:把“选形态 → 走包清单 → 选测试分层”固化成语义可被任意 agent 读取的 skill,声明**完全自包含**:“Both skills are fully self-contained: no external docs or other skills needed at runtime”(`README.md`)。
239
- - **结构**:`dsh-write-plugin/SKILL.md` + `references/{tool-plugin,service-plugin,hook-plugin,config-plugin,llm-adapter-plugin}.md`;`dsh-test-plugin/SKILL.md`。
240
- - **形态分类表**(`dsh-write-plugin/SKILL.md`):模型工具→Tool plugin;新模型提供商→LLM adapter;拦截请求/工具/回合→Hook;其他插件消费的能力→Service;用户可配置行为→Config。
241
- - **关键 snippet**:`defineTool` 注册(`references/tool-plugin.md`,与官方一致):
242
- ```ts
243
- export const name = 'my-tool'
244
- export const inject = ['tools']
245
- export function apply(ctx: Context) {
246
- ctx.tools.register(defineTool({
247
- name: 'read_file', description: 'Read a file from disk.',
248
- parameters: { path: { type: 'string', required: true, description: 'Absolute path' } },
249
- output: { schema: { type: 'string' }, render: (_args, value) => [{ type: 'text', text: value }] },
250
- async execute(args, exec) { return readFile(args.path, { encoding: 'utf8', signal: exec.signal }) },
251
- }))
252
- }
253
- ```
254
- 服务(`references/service-plugin.md`):`export default class MetricsService extends Service { static inject = ['llm']; constructor(ctx){ super(ctx,'metrics') } }` + `declare module 'cordis' { interface Context { metrics: MetricsService } }`。
255
- 权限 gate(`references/hook-plugin.md`):`ctx.on('tools/pre-execute', async (exec, next) => { if (!(await isAllowed(exec))) return { kind:'deny', reason:'…' }; return next() })`。
256
- - **记录的坑**(verbatim):`Config` 不得是普通对象(`config-plugin.md` — "Do not export a plain object as `Config`; it does not implement the Standard Schema interface Cordis requires.");`!!js`(双感叹号)只允许在 plugin `config` 下、`disabled: !!js …` 是 truthy object 恒禁用(`config-plugin.md`);UI presenter 是纯函数(回放会重跑,禁 I/O/时钟/随机,`tool-plugin.md`);可选服务 `ctx.get` 缺省容忍、必选服务消失自动卸载恢复(`service-plugin.md`);“真实入口路径 = 发布产物”(`dsh-test-plugin/SKILL.md` — package `bin` 跑 built `lib/bin.js` 于 plain Node,暴露 tsx 掩盖的失败;测试解析停在源码 plane,workspace import 走 `src` 而非 stale `lib/`)。
257
- - **安装**:`cp -r dsh-write-plugin dsh-test-plugin <project>/.agents/skills/`;Claude Code 用 `ln -s ../.agents/skills <project>/.claude/skills`(`README.md`)。无 `dsh plugin add`/`pack`(本仓库是 skill 非包)。
258
- - **.dsh-plugin / repository-plugin 机制演变**:无(面向 workspace package + `ctx.*` 扩展点,不涉及历史静态格式)。
259
-
260
- ### 1.5 plugin-registry(vlln/plugin-registry)— 机制演变权威记录 + 薄控制台
261
-
262
- - **目的**:官方机制管“插件是什么、怎么跑”;本仓库补两件事——① 薄控制台(管理 profile 插件安装态的浏览器面板 + 4 个 agent 工具);② 开发规范和引导(`make-dsh-plugin` skill + cookbook)(`README.md`)。交付物是**官方 bundle 格式的独立包** `@dsh-external/plugin-console`(声明 `dsh.bundle` + `dsh.client`),非 patch/官方源码改动(`AGENTS.md`)。
263
- - **最关键的机制演变记录**(`README.md` 顶部告示,verbatim):
264
- > "**转向(2026-08)**:官方 0809 推出仓库插件机制(`.dsh-plugin`)覆盖旧独立机制 ~95%,本仓库收敛为薄控制台 + 插件开发规范和引导(旧 patch/CLI/面板已移除)。**0811 起官方删除 repository-plugins 机制**(`vendor/loader/src/repository.ts`),外部插件统一经 web profile 安装:bundle 插件(`dsh.bundle` 包)进 `dsh.profile.bundles` 层栈;非 bundle 插件(纯 cordis 包)经 profile `cordis.patch.yml` insert 行挂载(配置 HMR 实时生效)。"
265
- - **完整时间线**(`CHANGELOG.md` + `docs/official-0809-coverage.md`):
266
- - **0809 新增**:官方新增 repository-plugin 格式——`.dsh-plugin/` 目录 + `package.json#dsh.skills/mcpServers/entry` + `scripts.prepack`(调用 `dsh-plugin-prepare`)→ 生成固定 `dsh-plugin.mjs` wrapper + `dsh-plugin-assets/`;安装走 `$DSH_HOME/cordis.patch.yml` 的 `repository-plugins.repositories` 列表,`github:owner/repo#<ref>` 精确锁定、可 `&path:` 选子目录;`RepositoryCache` + `loadPreparedRepository` + 事务性换代 + HMR watcher。官方**明确拒绝** install 命令/注册表/市场(config-only-repository-plugins Alternatives 原文 “Add a dsh plugin install command and installation database. Rejected”)。
267
- - **0809/0810 转向**:`docs/official-0809-coverage.md` 逐能力评估后结论 “plugin-registry 作为独立插件机制的 ~95% 能力被官方 0809 覆盖,剩余价值收敛为管理 .dsh-plugin 包的控制台”;`CHANGELOG.md` 记录 “官方 0809 覆盖度评估结论……进入转向期……旧机制已移除(独立一步,46ac846):patch 加载(0808)、`dsh registry` CLI、`ctx.plugins`、`ui-plugin-manager` 旧面板、patches/ 目录全部删除”。
268
- - **0810**:官方 client 插件声明 `dshClient` → `dsh.client`(原 `dshClient` 不再识别);用户配置层为 `$DSH_HOME/cordis.patch.yml`(08-05 取代 `config.yaml`)。
269
- - **0811 契约断裂**:`CHANGELOG.md` — “官方 `vendor/loader/src/repository.ts` 删除(−258 行),`repository-plugins.repositories` 机制整体移除——`plugin_search`/`plugin_install`/`plugin_uninstall`/`plugin_status` 四个工具与面板「repository 插件源」区的官方后端不复存在。”新契约:bundle 插件进 `dsh.profile.bundles` 层栈(重启生效);非 bundle 插件经 profile `cordis.patch.yml` insert 行(**配置 HMR 实时生效,零重启**——0811 保留配置级 HMR,web-app 禁用模块级 hmr 时 profile-boot 主动挂 watch-only 实例,`profile-boot.ts:287-301`)。
270
- - **0812 服务重命名**:17 个服务名变更——`httpServer`→`webServer`、`tasks`→`jobs`、`bash`→`shell`、`compact`→`compaction` 等;`repository.ts` 无回归(0811 删除保持)。
271
- - **bundle vs 纯 cordis 双通道**(`docs/plugin-types.md`):核心判据 = 包是否自带 `dsh.bundle.patch`(组合层)。bundle → `dsh plugin --profile web add` 进层栈,**重启生效**;纯 cordis(无 `dsh.bundle`,`main` 指向 Cordis entry)→ `dsh plugin add` 装依赖 + profile `cordis.patch.yml` 加 insert 行,**配置 HMR 实时生效**。管理文件:profile `package.json` 的 `dsh.profile.bundles`(bundle 层栈)+ profile `cordis.patch.yml`(insert 行 + disabled 启停,HMR watched)。
272
- - **官方包未发布的依赖解析**(`docs/plugin-types.md`):两类插件都依赖 `@deepseek-ai/*`(未发布到公共 npm)时,`dependencies` 声明为空是**设计**——官方包由 profile 的 pnpm 闭包挂载时注入(`$DSH_HOME/profiles/node_modules` flat fallback);声明了反而解析失败。(注:rc.6 起公开包可用,见 dsh-plugin-dev/from-scratch 的 npm rc 路径,两条时间线资料要按宿主版本取舍。)
273
- - **薄控制台代码模式**(`packages/plugin/console/`):Node half `inject = ['webServer','loader','tools','agentPresets']`;`ctx.effect` 内 `webServer.register({kind:'prefix', path:'/api/plugin-console', handler})` + `pluginTools.map(t => ctx.tools.register(t))` 并返回 disposer(`src/index.ts`)。`plugin_install` 工具描述直接写双通道语义(`src/discovery/tools.ts`):bundle → pnpm add + 进 `dsh.profile.bundles`(重启生效);非 bundle → pnpm add + profile `cordis.patch.yml` insert 行(HMR 实时)。tsdown 双产物(`tsdown.config.ts`):Node half ESM(`external: [/@deepseek-ai\//]`)+ client half **CJS**(`window.__ModuleLoader__.load({ id, factory })` banner/footer;ESM 输出与顶层 `return` 不兼容,已实证浏览器解析失败)。
274
- - **记录的坑**(`CHANGELOG.md` + `skills/make-dsh-plugin/references/gotchas.md`,verbatim):
275
- - insert 行 `name:` 必须加引号——“YAML `@` 开头是保留指示符,裸写解析失败 HMR 不生效”;
276
- - 移除最后一个 insert 行后必须恢复 `[]` 模板——“纯注释文件解析为 null,HMR reload 失败”;
277
- - tsdown 需 `external: [/@deepseek-ai\//]`——“本地仓库 symlink 官方包后 tsdown 会误内联依赖(lib 从 242 行膨胀到 7036 行)……官方包由 profile 闭包注入,不内联”;
278
- - 官方 `@deepseek-ai/*` 未发布公共 npm → `npm install` 直接失败,`dependencies` 留空(`gotchas.md`);
279
- - 已挂载插件改源码需 web 重启(ESM 模块缓存按 URL 永久缓存,`import(entryUrl)` 无 query bust)(`gotchas.md`);
280
- - 宿主全局 CSS 可能覆盖插件 `<style>`,关键样式用 JS 内联(`gotchas.md`);
281
- - 严格注入(0811 cordis):`ctx.get` 未在 `inject` 声明 → `cannot get property without inject`,apply 开头即抛(`gotchas.md`);
282
- - allowBuilds 的 key 含冒号,写入 yaml 必须加引号(`gotchas.md`)。
283
- - **安装**(verbatim,`README.md`):方式一(git 源一行,实测约 15 秒,产物已入库故不触发构建):
284
- ```sh
285
- dsh plugin --profile web add "github:vlln/plugin-registry#main&path:/packages/plugin/console"
286
- ```
287
- 方式二(本地目录):`git clone … && cd plugin-registry/packages/plugin/console && dsh plugin --profile web add .`(“产物已入库,无需构建;当前目录即 bundle 包子目录,dsh 锚定 `.` 为绝对路径”)。
288
- bundle 子目录 `&path:` 语法(`skills/make-dsh-plugin/references/bundle-plugins.md`):
289
- ```sh
290
- dsh plugin --profile web add "github:owner/my-bundle#<commit>&path:/packages/my-bundle"
291
- # ❌ 不要写仓库根(dsh plugin --profile web add ./)——根不是 npm 包,无 dsh.bundle。
292
- ```
293
- - **.dsh-plugin / repository-plugin 机制演变**:本仓库是唯一完整记录 0809 新增→0811 删除→双通道替代→0812 服务重命名全过程的仓库,是知识库该机制条目的**事实源**。历史文档存档:`docs/cookbook/creating-a-repository-plugin.md`(标“历史文档:官方 0811 移除 repository-plugins 机制…安装路径已不可用”)、`docs/architecture.md`、`docs/manifest-format.md` 等 12 篇标“历史文档”的设计。
294
-
295
- ### 1.6 dsh-plugin-check(omdsh-dev/dsh-plugin-check)— 插件健康检查工具
296
-
297
- - **目的**:把组织内作者踩过的坑(cordis 双副本、tsconfig 三件套、patch name 不一致、产物 `.ts` 残留)变成可自动检查的门禁(`README.md`)。**只读**:仅 `readdir/stat/readFile`,不修改/不构建被检查仓库;零业务依赖(仅 node 内置模块);不执行 tsc(构建陷阱全静态文本扫描)。
298
- - **形态**:tool-bundle,注册 `plugin_check` 工具(`@deepseek-ai/dsh-plugin-check`,row id `tool-plugin-check`),统一输出 JSON 文本;无 CLI、无进程退出码——verdict 内嵌 JSON。参数 `action: check|scan|schema`、`path`、`strict`(warning 升级为 error)。
299
- - **检测项**(`README.md` 表 + `src/report.ts` 的 `CHECK_SCHEMA`):清单协议(`no-manifest/invalid-name/missing-main-or-types/no-patch` + `incomplete-files/missing-peer/no-bundle-decl`)、patch 格式(`malformed-patch/patch-name-mismatch/duplicate-row-id`)、构建陷阱(`no-source-entry/no-tsconfig/missing-ts-ext-imports/lib-layout-mismatch/stale-ts-imports` + `missing-rewrite-imports`)、生态合规(`core-row-id`=patch 用官方核心 row tools/session/llm/web/permission、`missing-profile-install-example`、`manual-install-only`、`core-modification-required`)、hub 收录(`not-in-hub`)。`verdict`:0 error→pass;有 error→fail;仅 warning→warn。`kind`:registry/skill/collection/tool-bundle/bundle/infra/unknown,按形态套用不同检查集。
300
- - **manifest 校验规则**(`src/manifest.ts`,verbatim 语义):name 用完整 npm 规则 + 组织政策(`@deepseek-ai/*` 或 `dsh-*`);`main`/`types` 走 `resolveWithin` 真实路径 containment;`files` 必须含 `lib`/`src`/`cordis.patch.yml`;peer 必须含 `@deepseek-ai/cordis` 或 `cordis`;`dsh.bundle.patch` 必须声明且目标在根内。
301
- - **npm rc.1 依赖线**(`README.md`、`package.json`):peer 全 scoped `@deepseek-ai/cordis@^4.0.1-rc.1` + `@deepseek-ai/dsh-tools@^0.0.1-rc.1` + `@deepseek-ai/dsh-invariants@^0.0.1-rc.1`;`npm install`→`npm run typecheck`→`npm test`→`npm run build`→`npm pack`;启动 `npx -p @deepseek-ai/dsh@0.0.1-rc.1 dsh web`。
302
- - **安装**(verbatim):`dsh plugin --profile web add "C:/path/to/dsh-plugin-check"`;`dsh plugin --profile headless add "C:/path/to/dsh-plugin-check"`(`dsh run` 默认用 headless profile)。验证:`dsh --profile web --dump-config | grep tool-plugin-check`;运行:`dsh run "使用 plugin_check 工具检查一个插件仓库"`。**注意**:web 与 headless 是不同 profile,web 安装不覆盖 headless。
303
- - **内部不一致**(值得记录):README 称“33 项”,`src/report.ts` 的 `CHECK_SCHEMA` 实为 **36 项**;README 表把 `missing-rewrite-imports` 标 warning 但代码为 error(以 `ERROR_CODES`/`isErrorCode` 为准)。
304
- - **.dsh-plugin / repository-plugin 机制演变**:无(只校验现代 bundle 与 `dsh.plugin.json` registry 形态,不涉及 `.dsh-plugin`)。
305
-
306
- ### 1.7 dsh-suite(whyihaveyou/dsh-suite)— 目录 + 脚手架 + 自研插件
307
-
308
- - **目的**:DSH 发布时无官方 registry,发现靠 GitHub `dsh-plugin` topic 与一夜冒出的静态列表,且 DSH 仍在发兼容性破坏变更。本仓库建三件东西:① 活目录(每条带 DSH 兼容徽章,CI 每 24h 对最新 DSH 重检,无 key);② 脚手架 `npm create dsh-plugin`(官方没有);③ 自研插件(`plugin-notify`/`plugin-session-export`/`plugin-team-board`)(`README.md`)。
309
- - **目录数据**(`data/plugins.json`,单一真相源,JSON):`_meta` + `plugins[]`(167 条)+ `watchlist[]`(57 条)。字段(`docs/catalog-schema.md`):`id`(slug)、`name`、`npm`(当前全 null)、`repo`、`url`、`category`(11 类)、`description {en,zh}`(≤140 字符)、`author`、`stars`、`license`、`tags`、`dsh {minVersion,peerCordis,node}`、`compat {status,dshVersion,lastVerified,note}`、`install`(空则生成默认 `dsh plugin --profile demo add <name>`)、`featured`、`isOfficialBeta`、`language`、`sourceNote`、`watchReason`。`compat.status` 枚举 `unknown|ok|broken|unmaintained`。README 目录表格由 `gen-readme.mjs` 生成,**绝不手改**。
310
- - **兼容性日检(三层,无 key)**(`docs/catalog-schema.md` + `scripts/compat-check.mjs` + `.github/workflows/compat.yml`):L1 静态 peer 比对(已实现)——`npm view <name> peerDependencies engines --json` 比 `@deepseek-ai/cordis`/`@deepseek-ai/dsh` peer 范围与 node engines(peer 不满足→broken;有 cordis/dsh peer 且满足→ok;无 npm 包→unavailable;无 peer→unknown);L2 安装检查(TODO)`dsh plugin --profile __compat__ add <name>`;L3 组装检查(TODO)`dsh --profile __compat__ --dump-config`。`--write` 把 ok/broken 写回 `data/plugins.json`;CI 每日 UTC 00:00 cron。徽章:🟢 ok / 🔴 broken / ⚪ unknown / ⚫ unmaintained。真实 broken 案例(`data/compat-report.json`):`open-managed-agents`→`node 22.17.0 not in engines ">=22.19.0"`;`role-model`→`no @deepseek-ai/cordis or @deepseek-ai/dsh peer dep`。
311
- - **`create-dsh-plugin` 脚手架**(`packages/create-dsh-plugin/`,零依赖,`bin: create-dsh-plugin → src/cli.js`):
312
- ```bash
313
- npm create dsh-plugin@latest my-plugin
314
- ```
315
- 三模板 `tool`/`events`/`webui`(差异见 `src/templates.js` + 各模板):
316
- - `tool`:`dependencies: {"@deepseek-ai/dsh-tools": "{{DSH_TOOLS_VERSION}}"}`;`inject = ['tools']`;`defineTool` 返回时间/环境信息。
317
- - `events`:`"dependencies": {}`(**零运行时依赖**,dsh-tools/dsh-session 仅 devDep 供 `import type`);不声明 `inject`;`ctx.on('session/event')` + `ctx.on('tools/change')` + `ctx.on('tools/pre-execute', (exec,next)=>{…; return next()})` + `ctx.effect(()=>{ const timer=setInterval(…); return ()=>clearInterval(timer) })`。
318
- - `webui`:同 `tool`,额外 `presentationMeta`/`presentCall`/`presentResult` diff 卡片(`presentCall` 返回 `{card:'diff', diffs:[{path, oldText:null, newText}], locations:[{path}]}`)。
319
- 三者共同 `peerDependencies: {"@deepseek-ai/cordis": "^{{CORDIS_VERSION}}"}`、tsconfig `target es2022 + module esnext + moduleResolution bundler + strict + outDir dist`。
320
- tool 模板 `src/index.ts` 头注逐字列出它守护的坑:
321
- > "1. `@deepseek-ai/dsh-tools` is pinned to the `next`-tag version in package.json — npm's `latest` tag is a STALE 0.0.1-rc.1. Never run a bare `npm i @deepseek-ai/dsh-tools` over it.
322
- > 2. Registration is an EFFECT: `ctx.tools.register()` returns a disposer…
323
- > 3. Load order = service dependencies (`inject`), never file order.
324
- > 4. Pure ESM (`"type": "module"`); `@deepseek-ai/cordis` is types-only here…
325
- > 5. An object output schema MUST declare `additionalProperties` explicitly."
326
- `cordis.patch.yml` 头注:“`name` is a PACKAGE NAME(经 profile node_modules 或 `$DSH_HOME/profiles/node_modules` fallback 解析),NOT a relative path”。
327
- - **10 条 PITFALLS**(`packages/create-dsh-plugin/src/templates.js` 的 `PITFALLS` 数组,渲染进每个生成项目 README):① Node `^22.19.0 || >=24.0.0`(旧版 EBADENGINE 告警);② **npm dist-tag 坑(最大)**:`@deepseek-ai/dsh-tools` 的 `latest` 是过期的 `0.0.1-rc.1`、真版本在 `next` tag(`0.1.0-rc.x`);③ 版本线对齐(所有 `@deepseek-ai/dsh-*` 统一同 `0.1.0-rc.x` 线,避免 pnpm 装两份);④ `@deepseek-ai/cordis` 是 peerDep 且只 `import type`(编译期擦除,运行时 ctx 由宿主传入);⑤ 纯 ESM(`"type":"module"` + `module: esnext` + `moduleResolution: bundler`);⑥ `dsh plugin add <dir>` 相对路径锚定**调用目录**(要在插件父目录执行);⑦ bundle `cordis.patch.yml` 里 `name` 是**包名**;⑧ 注册是 effect(timer/连接包 `ctx.effect(()=>{…; return cleanup})`);⑨ 加载顺序靠 `inject` 不靠文件顺序;⑩ 端到端需 `DEEPSEEK_API_KEY`(无 key 时 `--verify` 只能证明 load/list/event,模型调用 `MISSING_CREDENTIAL`)。
328
- - **第一方插件代码模式**:`@dsh-suite/plugin-notify` 用 Schemastery `Schema.object({ webhooks: Schema.object({ feishu/wecom/dingtalk/slack/discord/custom: Schema.string() }), events: Schema.array(...), local: Schema.boolean().default(true), timeoutMs: Schema.number().default(5000) })` + `declare module '@deepseek-ai/dsh-session/types' { interface SessionEventMap { 'approval/asked': {…} } }`(`packages/plugins/plugin-notify/src/index.ts`);`plugin-session-export` `inject = ['tools','sessions']`、`ctx.sessions.list()/get(SessionId(...))`(`packages/plugins/plugin-session-export/src/index.ts`)。
329
- - **15 条插件设计准则**(`CONTRIBUTING.md`,对应 Cordis 论文概念):注册即效果(register 返回 disposer)、共享状态物化为服务键(禁全局可变态)、依赖走 `inject` 不乐观查找、每个原子副作用配逆、相关拆除放进同一 effect、集合型可交换协作用、多 provider 走 service broker、能力封装成 seam、外部副作用(发射)扣留或 saga 补偿、跨重载状态放进更长命依赖、避免依赖环、声明式配置走 cordis.yml + `!!js`、消费依赖用 Proxy 属性访问 `ctx.<key>`、realm 隔离 + interception 治理、类型化事件 + 声明派发模式。
330
- - **目录收录标准**(`CONTRIBUTING.md`):真是 DSH 插件/生态组件(npm 包带 `dsh.bundle` 或 GitHub 仓库明确面向 DSH);有真实代码;repo+stars 可核实(`gh api`);中英双语描述(≤140 字符);`compat.status` 诚实(没实测留 unknown)。蹭 tag/工具链/占位进 `watchlist`。
331
- - **.dsh-plugin / repository-plugin 机制演变**:无(目录按现代 bundle/npm 名收录;全仓唯一命中“repository plugins”是第三方条目 plugin-registry 的英文描述文本,非本仓库机制)。
332
-
333
- ### 1.8 ~~fabric~~ → stent(omdsh-dev/fabric)— Fabric/Mixin 加载期变换层
334
-
335
- > ⚠️ **仓库状态与引用口径(2026-10-13 复核)**:`omdsh-dev/fabric` 现在**重定向到 `omdsh-dev/stent`**,
336
- > 且上游已把 README 改写成一份 RFC;**该仓库没有 LICENSE 文件**。因此本节
337
- > **只保留事实性转述与本库自己的判断**,**不再复制其源码片段、配置或整句引文**——
338
- > 原先 §1.8 内的四段代码块与多处逐字引用已移除,需要原文请直接读上游。
339
- > 之前的 `github:dsh-external/fabric` 安装命令**已失效,不再提供**。
340
-
341
- - **目的**:类 MC Fabric 的 hook 处理器——受信插件 A 无需改插件 B 的源码即可改变其函数行为,
342
- 通过注册 patch 对 B 的 module / file / function 施加 before / after / around / replace 四类操作。
343
- - **机制本质**:**加载期代码变换**(建立在 Orchestrion-JS 的 code-transformer 之上),
344
- **不是** bundling Cordis、也不是 shim。变换 hook 重写目标函数体,把调用记录发到进程内 bridge channel,
345
- 运行时再派发给当前注册的 handler;没有 handler 时直接委托原函数体。
346
- 四类操作的语义差异是这条路的重点:before 改入参、after 观察或替换成功结果(含 async)、
347
- around 决定原体是否运行并可替换、replace 完全接管。
348
- - **结构**(三包 workspace + 一个 bundle 载体):一个核心包 + 一个 API 包 + 一个 DSH 宿主门面包,
349
- 根 `cordis.patch.yml` 作为 bundle 载体;另有一份 host 端 launcher/bootstrap 的 patch 与说明;
350
- 构建产物 `lib/` 不入库,由 `prepare` 现建。
351
- - **DSH 集成的两点设计**:宿主门面把 Host 契约收窄成**唯一视图**(因为官方 `@deepseek-ai/*` 私有不可装,
352
- 只能声明最小结构面);bundle 载体用 pnpm 的 `&path:` 子目录选择器依赖 workspace 内的三个包。
353
- - **安全边界(值得借鉴的设计)**:patch handler 是**注册时绑定的可信代码**,
354
- 配置只承载描述符元数据,**可执行 handler 绝不由 YAML 或模型输入反序列化**;
355
- 必需 patch 在 boot 后 fail loud(`filePath` 写错 launch form 或目标函数已迁移都会被抓到)。
356
- - **它记录的坑(本库只做转述)**:Node 加载期变换要求预编译 JS(`.ts` 源码直接给 load hook 会失败);
357
- src/lib 混用会分裂 bridge 监听器;同步 registerHooks 在特定 Node 版本区间对 CJS 崩溃,需版本门控并回退
358
- 到 async `module.register`;constructor 目标无法被变换;workspace 包缺少 `node_modules` 边界导致模块身份
359
- 无法命名;RegExp 形式的 `filePath` 过不了 JSON 配置通道,需要用 marker 重建;
360
- 同一目标上的两个 replace patch 在注册期即被拒。
361
- - **主机集成限制**:host launcher 必须在任何 target module import **之前**完成 bootstrap,
362
- 而官方 master 尚未提供这个接线点——源码宿主需自行打 patch,npm 安装的官方 `dsh` 打不了源码 patch,
363
- 只能等官方 merge wiring。**这是该方案没能落地的真实原因。**
364
- - **本库的结论**:**不建议把它当插件开发范例**。它是"绕过扩展点去改别人函数体"的路线,
365
- 与官方"新行为必须挂到已文档化扩展点、不得改 agent-loop"的红线相冲突;
366
- 加上仓库无许可证、上游已改写成 RFC、安装命令失效,**引用价值仅在于它记录的 Node 加载期变换坑**。
367
- - **上游**:<https://github.com/omdsh-dev/stent>(原 fabric 重定向至此;无许可证)
368
-
369
- ### 1.9 dsh-turn-meta(randerous/dsh-turn-meta)— 最小首插件范例
370
-
371
- - **目的**:刻意极小的可作模板的首插件,注入紧凑的、带 source 归属的每步头部(当前 turn/step、真实用户消息数与工具结果数、前置 turn 数)进 agent 请求历史(`src/index.ts` 头注)。它演练真实插件用的同一条 seam:命名 Cordis 插件 + Schemastery `Config` + 可选 `inject` + `agent/pre-step` hook `{prepend:true}` + `createUserMessage` source 归属。
372
- - **形态**:monorepo 包 `@deepseek-ai/dsh-turn-meta`(`package.json` 的 `repository.directory: packages/context/turn-meta`,`workspace:^` 依赖,无 `dsh.bundle.patch`——这是官方包结构的抽取样例)。
373
- - **关键 snippet**(`src/index.ts`):
374
- ```ts
375
- export const name = 'turn-meta'
376
- export const inject = ['agents']
377
- export interface Config { enabled?: boolean; minStep?: number }
378
- export const Config: z<Config> = z.object({ enabled: z.boolean(), minStep: z.number() })
379
-
380
- export function apply(ctx: Context, config: Config): void {
381
- const enabled = config.enabled ?? true
382
- const minStep = config.minStep ?? 1
383
- validateMinStep(minStep)
384
- if (!enabled) return
385
- ctx.on('agent/pre-step', async ({ agent, turn, step }, next): Promise<PreStepDecision> => {
386
- const decision = await next()
387
- if (decision.kind === 'reject' || step < minStep) return decision
388
- return {
389
- kind: 'enter',
390
- messages: [...decision.messages, createUserMessage({
391
- content: [{ type: 'text', text: renderHeader(agent, turn, step, decision.messages) }],
392
- source: { kind: 'plugin', plugin: name, form: 'snapshot', sections: [{ name, text }] },
393
- })],
394
- }
395
- }, { prepend: true })
396
- }
397
- ```
398
- 要点:`{ prepend: true }` 让 hook 在模型调用前运行;waterfall 先 `await next()` 再改 `decision.messages`;source 归属 `kind:'plugin'` 使注入可追溯/过滤;`enabled` 主开关是“发布默认关闭特性”的范式;`validateMinStep` 在 apply 顶部 fail loud。
399
- - **构建**(`tsdown.config.ts`):tsc 先 emit 到 `lib/types`,tsdown 再对 `index`/`invariant` 双入口各打一个 ESM bundle(esm/node/es2024/`dts:false`)。
400
- - **测试**:`tests/turn-meta.spec.ts`(8 用例)+ `tests/smoke.mjs`(6 断言)。
401
- - **.dsh-plugin / repository-plugin 机制演变**:无。
402
-
403
- ### 1.10 deepseek-harness-plugin-mcp(bobleer)— 把 DSH 插件发布给外部 agent 的 MCP server
404
-
405
- - **目的**:官方 `@deepseek-ai/dsh-mcp-client` 是“把外部 MCP 工具拉进 DSH”;本仓库是**反向**——让不会说 Cordis 的外部 agent(Cursor/Claude Desktop/Claude Code/Codex)能发现、检视、安装、运行 DSH 插件(`README.md:13`)。三平面共享一个 MCP server:Catalog(只读 GitHub `topic:dsh-plugin`)/ Profile(`dsh plugin add|remove` 操作真实 profile)/ Runtime(`dsh --profile <name>` 拉起并把组合包注册的 `ctx.tools` 桥成 MCP `dsh__*` 工具)。
406
- - **形态**:单 npm 包双入口——既是 agent 可 spawn 的 stdio/`--http` MCP server,又是 `dsh plugin add` 可装的 DSH bundle(`docs/design.md`)。
407
- - **关键 snippet**:
408
- bundle 清单 + `cordis.patch.yml`(`!!js` 环境变量求值 + 默认关闭授权):
409
- ```yaml
410
- - insert:
411
- - id: dsh-plugin-mcp
412
- name: deepseek-harness-plugin-mcp
413
- config:
414
- host: 127.0.0.1
415
- port: !!js Number(process.env.DSH_PLUGIN_MCP_PORT ?? 8765)
416
- catalog: !!js process.env.DSH_PLUGIN_MCP_CATALOG !== '0'
417
- bridgeTools: true
418
- allowInstall: false
419
- allowRuntime: false
420
- ```
421
- 插件入口(`src/dsh-plugin.ts`):`inject = ['tools']`,`apply` 内 `new ToolBridge(ctx.tools)` → `ctx.on('tools/change', …)` + `ctx.effect(() => () => { stopChange(); void listening.close() }, '…')` 收尾。
422
- 工具名规范化(`src/plugin/names.ts`):`dsh__<rawName>`,非法字符替换 + 64 上限 + SHA-256 哈希后缀防碰撞。
423
- 控制面工具(`src/mcp/control-tools.ts`)用 **zod** 校验参数,`dsh_plugin_install` 需 `--allow-install` 或 `DSH_PLUGIN_MCP_ALLOW_INSTALL=1`,`handle` 内 `dsh.runPlugin(config.profile, pluginAddArgs(spec))`。
424
- MCP server(`src/mcp/server.ts`)声明 `tools: { listChanged: true }` 能力;安装 spec 一律 `github:<owner>/<repo>`(`src/plugin/classify.ts` 的 `installSpecFor`,不含 `#ref&path`)。
425
- - **记录的坑**:① Runtime 子进程会再次挂载本包 → spawn 时强制注入 `DSH_PLUGIN_MCP_CATALOG/ALLOW_INSTALL/ALLOW_RUNTIME=0` 防递归(`src/runtime/host.ts`);② `!!js` 标量在检视面不能求值 → 给 yaml 解析器注册自定义 tag `tag:yaml.org,2002:js` 当不透明字符串(`src/plugin/inspect.ts`);③ Windows `which` 补 `.cmd/.exe` 后缀(`src/profile/dsh-cli.ts`);④ 安装/运行前置 `whichDsh()` 检查,缺 `dsh` 返回 exit 127(同文件)。**注意**:`dsh-cli.ts` 用捕获式 stdio(`spawnSync(..., encoding:'utf8')` 与 `spawn(dsh, [...], {stdio:['ignore','pipe','pipe']})`),但仓库未记录 Windows 受限沙箱下 piped stdio 的 EPERM/MSYS 坑(潜在风险,读者自行注意)。
426
- - **安装/运行**(verbatim,`README.md`):`npm install -g deepseek-harness-plugin-mcp` 或 `npx deepseek-harness-plugin-mcp --help`;`dsh-plugin-mcp --http --port 8765 --allow-runtime`;装进 Harness `dsh plugin --profile web add github:bobleer/deepseek-harness-plugin-mcp`。agent stdio 配置 `command: npx` + `args: [-y, deepseek-harness-plugin-mcp, --allow-install, --allow-runtime]`。
427
- - **.dsh-plugin / repository-plugin 机制演变**:无(只识别 `dsh.bundle.patch`→bundle 与 `dsh.client`→ui 两种现代形态)。
428
-
429
- ### 1.11 dsh-find-plugins(Nagi-ovo)— 找插件/装插件 agent skill
430
-
431
- - **目的**:给 DSH 一句“有没有插件能……”,agent 搜出候选、解释差别、等用户拍板,再按仓库**当前声明**判定装法并验证挂载;“只负责找和装;开发新插件转 make-dsh-plugin”(`skills/find-plugins/SKILL.md`)。
432
- - **核心原则**(`SKILL.md`):“把 GitHub 的 `dsh-plugin` topic 当作插件身份,不把某个 owner 或组织当作目录。仓库转移后以搜索结果返回的最新 `fullName` 和 `url` 为准。”
433
- - **装法判定**(`SKILL.md` Step 2):`package.json` 声明 `dsh.bundle.patch`→`bundle`;含 `SKILL.md` 且无 bundle 声明→`skill`;README 要求写 `cordis.patch.yml` 且无 bundle→`cordis`;**只有 `.dsh-plugin`/`repository` 旧格式→标“需迁移”,不能直接安装**;无法判断→“需核对”,不编造安装命令。
434
- - **repository 旧格式已移除**(`references/install-methods.md:39-43`,verbatim):“最新 DSH 已删除 `@deepseek-ai/dsh-repository-plugin`、`.dsh-plugin`、repository cache 和对应配置行,不提供兼容解析。只有 `repository` 标记的插件不能安装;报告仓库链接和「需要迁移为 profile bundle」。”
435
- - **安装优先级**(`references/install-methods.md:3-6`):`bundle` > `cordis` > 外部管理器(`marisa`/`mygo`);`repository` 已移除。bundle 安装命令(verbatim):
436
- ```sh
437
- cd <dsh-source>
438
- pnpm dsh plugin --profile <profile> add <package-or-git-spec>
439
- pnpm dsh plugin --profile <profile> add 'github:<owner>/<repo>#<commit>' # pin commit;README 给 &path:/<子目录> 时保留
440
- ```
441
- 手工等价操作(CLI 不可用时):在 `$DSH_HOME/profiles/<profile>/package.json` 的 `dependencies` 加包 → 同文件 `dsh.profile.bundles` 末尾追加包名 → profile 目录 `pnpm install`。cordis(裸插件):profile `cordis.patch.yml` 加 `- insert: - name: '<package-name>' config: {}`。
442
- - **记录的坑**:`dsh` 全局 launcher 已消失,须从 checkout 用 `pnpm dsh`(`references/install-methods.md:8-10`);lifecycle scripts(`preinstall/install/postinstall/prepare`)风险须先确认(`SKILL.md` Step 4);验证失败排查 `hmr/config-update-failed`、Git spec 转移前 owner、ref/path 拼写、profile `pnpm install`(`SKILL.md` Step 5)。
443
- - **检索脚本**(`scripts/search-topic.mjs`):`topic:dsh-plugin is:public archived:false`,分页 100/页,复用 `GITHUB_TOKEN`/`GH_TOKEN`→`gh auth token`→公开 API,过滤 archived/disabled/fork,按 `full_name` 去重。
444
- - **.dsh-plugin / repository-plugin 机制演变**:本仓库是对“repository 旧格式已退役”的最直接陈述之一。
445
-
446
- ### 1.12 dsh-hub-workshop(omdsh-dev)— 插件市场/注册 workshop
447
-
448
- - **目的**:把“发现层”与“安装层”严格分离——公开仓库/`dsh-plugin` topic 只是**发现证据**,绝不自动授予安装权限;可安装条目必须经 Workshop 审核,由 `registry-v1.json` 发布**不可变来源坐标**(`README.md`)。`SECURITY.md`:“Catalog inclusion, a public repository, passing CI, and a `dsh-plugin` topic are discovery facts rather than security endorsements or installation grants.”
449
- - **形态**:纯静态站点 + JSON feed/schema + Cloudflare Worker + 3 个 Node 脚本;`private: true`、唯一依赖 `wrangler`。
450
- - **目录/registry schema**(`catalog.schema.json`、`registry-v1.json`、`submission.schema.json`):`package` 记录必填 `id/name/description/kind/tags/author/repository/ref/updatedAt/license/status/install`;`kind` enum(skill/mcp/extension/channel/ui/adapter/manager/toolkit)、`category` enum(9+1 类);`install.type` enum 含 `profile-bundle/repository-plugin/marisa/plugin-registry/source/manual/npm/script`。`ref` 必须是 **40 位 hex 不可变 commit**(`^[0-9a-f]{40}$`);`status` ∈ verified/beta/prototype(注意:实际 `catalog.json` 用 v0.3 schema、`status: discovery`、`ref: master/main`,与 `catalog.schema.json` 的 v0.2 声明不一致——schema 文件是遗留未同步文件,运行中校验门断言 v0.3)。
451
- - **submission 条件约束**(`submission.schema.json`):`management.method=repository-plugin ⇒ source` 必须匹配 `^github:owner/repo#40hex&path:/...$`;`method=profile-bundle ⇒ profileBundle` 必须为对象(`spec` 匹配 `github:…#40hex` 或 semver);`deepHook=true ⇒ requiresFabric=true`;`installScriptsMustRemainDisabled` 恒 `const: true`。
452
- - **样例记录**(`catalog.json`):`status: discovery`、`install.type: manual`、`install.note: "Topic 标签只用于发现。请先检查源码、许可证、固定版本、权限和运行环境;该条目尚未获得 Registry 安装权限。"`——目录 264 条全是 `discovery`,`registry-v1.json` 安装权威**为空**(`entries: []`,`signature: null`)。**08-13 17:27Z 复核(新 HEAD ca595d6)**:`registry-v1.json`/`registry-admissions.json` 已随站点上线(origins: hub.omdsh.dev / hub.0.org.cn;`runtimeBaseline: @deepseek-ai/dsh@0.1.0-rc.6`);`entries` 仍为空;admissions 中 11 个候选全部 `blocked`——9 个因 `official-repository-plugin-unavailable`(repository-plugin 0811 移除的落地印证)、1 个 `current-runtime-baseline-not-verified`、1 个 `production-authority-environment-not-verified`;全部 `staticVerification: passed`、`runtimeVerification: blocked`;`signature: null`。
453
- - **硬断言门**(`scripts/check-public-site.mjs`):空安装 feed(`registry.entries.length===0`)、264 条目录、9 个白名单仓库、255 topic 仓库必须同时成立,否则 fail。
454
- - **前端生成的安装坐标**(`assets/publish.js`):profile-bundle spec `git+<repo>.git#<ref>`;repository-plugin source `github:<repo>#<ref>&path:/<packageDirectory>`(缺 path 时补 `/.dsh-plugin`);`omdsh workshop install <id> --profile web --enable`(`assets/app.js`)。
455
- - **记录的坑**:退役 `dsh-external` 组织名被脚本硬编码清洗(`build-topic-catalog.mjs` 用 `['dsh','external'].join('-')` + `replaceAll(..., 'retired DSH ecosystem')`);空安装 feed 是硬门(禁止提前发布可安装条目);不可变 commit 是唯一可信坐标(分支/浮动标签禁用)。
456
- - **.dsh-plugin / repository-plugin 机制演变**:本仓库**同时保留旧 `repository-plugin` 支持线索与“已退役”信号**(`submission.schema.json` 的 `management.method` 仍含 `repository-plugin`、`assets/publish.js` 仍生成 `&path:/...` source 与 `@deepseek-ai/dsh-repository-plugin` config 片段),但不再授权安装;权威结论仍以 dsh-find-plugins 的 `install-methods.md` 为准(最新 DSH 已删除 repository 机制)。
457
-
458
- ### 1.13 awesome-dsh-plugins(AdamPlatin123)— 生态情报/兼容性雷达
459
-
460
- - **目的**:对 `dsh-external` org 全部仓库(动态发现,当前 288)聚合调研 + 与**当日 mainline**(`dsh2026/test-AdamPlatin123` 最新 snapshot 分支)自动兼容对比;只承载情报、对比引擎与报告,不托管插件代码(`AGENTS.md`)。README 顶部 IMPORTANT:“收录不等于兼容,静态检查不等于运行可用,运行可用也不等于安全审计。”
461
- - **结构**:`README.md`(分类目录 + 生态快照,AUTO 生成)、`CHANGELOG.md`(主更新视图)、`PLUGINS.md`(8 类人工登记)、`analysis/{plugin-formats,security-issues,group-chat-plugin-dev-insights}.md`、`cross-analysis/summary.md`、`docs/{SOP,plugin-fix-test}.md`、`research/<name>.md`(63 份)、`reports/<日期>/{index,mainline-compat,<repo>.md}`、`scripts/`(22 个)、`.mainline-state.json`、`.agents/skills/mainline-compat/SKILL.md`。
462
- - **索引数据结构**(`.mainline-state.json`):`{lastMainlineCommit, lastDate, previousCommit, repos:{<name>:{anchoredCommit, status}}}`。状态枚举:已收录/兼容(静态)/关注/需适配/运行可用/未知(待调研)+ 占位/不适用/已删除。当日快照(`README.md`):288 仓,41 兼容 · 31 关注 · 9 需适配 · 188 待调研 · 13 占位 · 2 不适用 · 4 已删除;运行级实测 0 可用 · 5 失败。
463
- - **证据分层 L0-L4**(`README.md`):L0 发现(topic/可见性/元数据)→ L1 清单(package.json/name/入口)→ L2 静态兼容(补丁/seam/依赖范围)→ L3 编译实验(类型/语法检查)→ L4 运行实测(安装/加载/最小任务)。本仓库**不推导 `dsh plugin add`**:“本目录不是包管理器,也没有被本仓库验证过的统一安装命令。请以插件自身 README 的安装方式为准。”最低收录条件(`README.md`):公开 + `dsh-plugin` topic + 合法 `package.json`(非空 name)+ 入口字段 + README 说明安装/卸载/最小示例 + 依赖显式声明 + 许可证 + 不提交密钥/PII。
464
- - **四维兼容引擎**(`docs/SOP.md` + `AGENTS.md`):补丁 `git apply --check --3way` / seam 符号 `git grep` / peerDeps / 锚定;退出码 `0` 全兼容、`1` 存在需适配、`2` 脚本错误、`3` 离线;cron 02:00/10:00/18:00 三班 + post-merge hook;`--dry-run` 只读。
465
- - **两代格式对照**(`analysis/plugin-formats.md`,一句话结论):“`.dsh-plugin/package.json` 是主仓库快照唯一官方支持的静态交付格式(只承载 skill + MCP 配置,按 commit ref 不可变挂载),`dsh.plugin.json` 是 plugin-registry 独立演进的动态生命周期协议(同进程 import + 声明即契约 + 安装/启停/校验),二者能力面不重叠且互转有损。”挂载 source 形如 `github:dsh-external/toybox#<40位commit>&path:/plugins/<id>/.dsh-plugin`。演进判断:“补丁锚定是共同债务……建议推动主仓库把 `dsh.plugin.json` 协议官方化,从补丁升级为上游能力。”
466
- - **12 条安全清单**(`analysis/security-issues.md`):主仓库红线 #302(AGENTS.md 无信任门槛升级 system-reminder,Critical)、#300(agent 可删自身审计日志,Critical)、#301(/compact 压缩丢硬约束)、#176(torn zstd 静默恢复)、#73(ENOSPC 崩溃)、#118/#20(并发写会话 seq 冲突)、#7(SSE 内存泄漏);插件侧 plugin-registry 同进程任意代码(无沙箱/签名/发布者身份,Critical)、qqbot/tg-bot 凭据明文落盘、toybox 胶囊明文、group-chat-diary PII。
467
- - **seam 全景结论**(`cross-analysis/summary.md`):“客户端扩展面(slot/ThemeService/projection/dshClient)已经足够开放,服务端扩展面(动态挂载、设置写权限、渲染管线)仍有缺口。”
468
- - **.dsh-plugin / repository-plugin 机制演变**:本仓库有全生态最系统的记录(第一代静态 `.dsh-plugin` → 第二代社区动态 `dsh.plugin.json` + 1061 行补丁接线主仓库;issues#171 是统一入口诉求)。
469
-
470
- ### 1.14 awesome-dsh-plugin(bruc3van)— 双语精选 catalog
471
-
472
- - **目的**:社区精选、厂商中立的 DSH 插件索引,English 为主 + 简体中文镜像页,单数据源渲染两页(`README.md`)。
473
- - **数据模式**(`catalog/plugins.json` + `catalog/schema.json`):`categories[]`(id + localized title)+ `plugins[]`(`name`/`url`/`category`/`description` 必填;可选 `status` ∈ active/beta/archived、`source` ∈ official/community)。`localizedText` 强制 `en` + `zh-CN` 双字段。共 **44 条**插件、8 类。样例(`catalog/plugins.json`):
474
- ```json
475
- { "name": "mstar-harness", "url": "https://github.com/btspoony/mstar-harness",
476
- "category": "agent-automation",
477
- "description": { "en": "A skill-driven workflow agent plugin for structured harness-loop engineering.",
478
- "zh-CN": "面向结构化 Harness 循环工程的技能驱动工作流智能体 Plugin。" } }
479
- ```
480
- - **自动化**:`scripts/generate_readmes.py` 承担校验(id kebab-case、name 唯一、url 绝对 http(s)、category 引用已声明、status/source 枚举、双语非空)+ 渲染(分类分组、按 `name.casefold()` 排序、回填 `<!-- CATALOG:START/END -->` 块);CI `validate.yml` 跑 `--check`。本地:`python scripts/generate_readmes.py` / `--check`。
481
- - **收录规则**(`README.md`):与 DSH 相关或有清晰 DSH 集成说明;稳定公开 URL;一句事实描述(禁营销文案);英中双语;厂商中立、有用、不重复;不含 secrets/affiliate links/恶意分发。PR 模板 checklist 强制“只改 `catalog/plugins.json`,跑 `--check`”。
482
- - **对开发者价值**:`status`(active/beta/archived)× `source`(official/community)是最简有用的维护状态/来源维度;但本列表不做兼容性实测、不推导 `dsh plugin add`。
483
- - **.dsh-plugin / repository-plugin 机制演变**:无(纯人工精选目录,schema 无 install/path/dsh 字段)。
484
-
485
- ### 1.15 Alex-Yanggg-awesome-DSH-plugin(Alex-Yanggg)— 使用者场景导航 + 全量快照
486
-
487
- - **目的**:“用 30 秒找到适合你的 DeepSeek Harness 插件”——不只是仓库列表,告诉你插件解决什么问题、适合谁、从哪里开始(`README.md`)。
488
- - **数据模式**:`data/repositories.json`(GitHub `topic:dsh-plugin` 机器快照,**212 条**,每条 21 字段含 `full_name/html_url/description/category/category_zh/category_en/language/stargazers_count/forks_count/license/archived/disabled/created_at/updated_at/pushed_at/default_branch/topics`)+ `data/curated.json`(人工:`category_overrides`/`scenarios`(goal_zh/goal_en + repos + why)/`starter_kits`/`editor_picks`)。分类用正则 `categoryRules` 自动归类 + `category_overrides` 人工覆盖(`scripts/update.mjs`)。
489
- - **样例**(`data/repositories.json` 第一条即官方仓库 `deepseek-ai/deepseek-harness`,star 18411);`data/curated.json` 的 `scenarios` 如 `{ goal_zh: "更方便地管理和发现插件", repos: ["vlln/plugin-registry"], why_zh: "在浏览器面板中管理 repository 插件,并提供开发引导。" }`。
490
- - **自动化**:`scripts/update.mjs` 走 GitHub Search API 分页拉取 → 规范化 → 按 star 降序 → 写回 JSON + 重生成 README/README_EN/CATALOG;workflow 每日 cron `17 1 * * *` 自动 commit+push(`contents: write`)。
491
- - **诚实边界**(`README.md`):“收录不等于安全或兼容性背书”;“第三方插件可能读取会话、文件、网络或系统资源。安装前请检查源码、权限、许可证、安装方式和最近更新情况。”索引统计:212 仓、10 种语言、158 个声明许可证、212 未归档未禁用。
492
- - **可观察不一致**:README 的 Catalog refresh badge 硬编码指向 `bruc3van/awesome-dsh-plugin` 的 workflow(疑似 fork 后未改 badge 目标)。
493
- - **.dsh-plugin / repository-plugin 机制演变**:无专门记录(仅 `curated.json` 里 plugin-registry 推荐文案提到“repository 插件”)。
494
-
495
- ---
496
-
497
- ## 2. 跨仓库共识
498
-
499
- 所有 scaffold/template/教程在以下事实点上**高度一致**(这构成“插件开发事实集”):
500
-
501
- ### 2.1 插件入口形态(统一)
502
-
503
- - 函数插件 = 命名导出 `name` + `inject: string[]` + `Config` + `apply(ctx, config)`,**不得加 default export**(Loader 解包 `exports.default ?? exports`,多余 default 会丢 `inject/Config/name`)——`plugin-template/README.md`、`plugin-template/src/index.ts`、`dsh-plugin-skills`、`fabric/docs/dsh-plugin-contracts.md`、`from-scratch/docs/anti-patterns.md`(反模式 1)、`from-scratch/docs/01-minimal-plugin.md` 一致。
504
- - 服务提供者 = default-export `Service` 子类(`super(ctx, 'key')` + `static inject`/`static provide`)——`plugin-template/README.md`、`dsh-plugin-skills/references/service-plugin.md`、`fabric/packages/cordis-fabric/src/service.ts`。
505
- - 配置必须是 Schemastery schema(`z.object`/`Schema.object`),禁普通对象;TS `Config` interface 与运行时 schema 并存——`plugin-template/src/config.ts`、`dsh-plugin-skills/config-plugin.md`、`from-scratch/docs/01-minimal-plugin.md`、`from-scratch/docs/anti-patterns.md`(反模式 8)、`dsh-suite/packages/plugins/plugin-notify/src/index.ts`。
506
-
507
- ### 2.2 package.json 关键字段(scaffold 共识)
508
-
509
- - `"type": "module"`(ESM)、`main`/`types`/`exports` 指向 `lib/`(或 `dist/`)构建产物、`engines.node` `^22.19 || >=24`、`files` 只收录入口 + 声明 + `cordis.patch.yml`(+ `src`)。
510
- - `dsh.bundle.patch → ./cordis.patch.yml`(bundle 形态)。
511
- - **cordis peerDependency 身份分歧是唯一未对齐点**:`plugin-template`/`fabric` 用 **unscoped** `cordis ^4.0.0-rc.7` + `schemastery`(面向 standalone Cordis);`dsh-plugin-dev`/`dsh-plugin-check`/`from-scratch`/`create-dsh-plugin`/`dsh-turn-meta` 用 **scoped** `@deepseek-ai/cordis`(^4.0.1-rc.1 / ^4.0.1 / workspace:^,dsh-tools 类型只增强 scoped 版本)。两者混用 = “双 Cordis 身份分裂”(`dsh-plugin-dev/references/build-pitfalls.md` 坑 1)。`@deepseek-ai/dsh-tools` 在 `dsh-plugin-dev`/`dsh-plugin-check` 里是 peer,在 `create-dsh-plugin` 里是 dependency(`next`-tag)——也是未对齐点。
512
-
513
- ### 2.3 tsconfig 三件套(构建共识)
514
-
515
- - `moduleResolution: bundler` + `allowImportingTsExtensions: true`(否则 TS5097)+ `rewriteRelativeImportExtensions: true`(否则产物残留 `./x.ts` 导入→运行时 ESM 崩溃)+ `lib: ["ES2024"]` + 显式 `types: ["node"]`——`plugin-template/tsconfig.base.json`、`dsh-plugin-dev/build-pitfalls.md` 坑 2/坑 3 完全一致。
516
- - `create-dsh-plugin` 例外:用 `dist/` + `noEmitOnError: true` + `verbatimModuleSyntax: true`,不写三件套(因其生成的 tool 入口无 `.ts` 相对导入)。
517
- - `tsc` 报错仍 emit(`noEmitOnError` 默认 false)→ 构建脚本 `tsc ... || exit 1` 或 `--noEmitOnError`,发布前 `grep -rE "from './[^']+\.ts'" lib/` 验证无残留。
518
-
519
- ### 2.4 cordis.patch.yml / patch / bundle 分层(共识)
520
-
521
- - bundle patch = YAML 数组,`- insert: - id: <id> name: <package-name>`(`name` 是**包名**经 profile node_modules 或 `$DSH_HOME/profiles/node_modules` fallback 解析,不是相对路径)——`plugin-template/cordis.patch.yml`、`create-dsh-plugin/templates/tool/cordis.patch.yml`、`from-scratch/docs/05-testing-and-release.md`。
522
- - id 定向 patch = **整行替换 config**(非深合并),覆盖方必须重述全部键——`plugin-template/docs/dsh-plugin-contracts.md`、`from-scratch/README.md`。
523
- - 生效层序:profile `dsh.profile.bundles` 层栈(bundle)→ profile `cordis.patch.yml`(用户 insert/disabled,HMR 实时)→ home `$DSH_HOME/cordis.patch.yml` → `--patch`。
524
- - `!!js`(双感叹号,绝不 `!js`)只在 plugin `config` 下合法,loader 元数据(id/name/inject/disabled…)是静态字面量——`dsh-plugin-skills/config-plugin.md`、`plugin-template/.agents/skills/dsh-plugin-implement/SKILL.md`、官方 `publish.md`。
525
- - insert 行 `name:` 必须加引号(YAML `@` 是保留指示符);移除最后一个 insert 行后必须恢复 `[]` 模板——`plugin-registry/CHANGELOG.md`(0811 实证)。
526
-
527
- ### 2.5 安装/发布清单(共识)
528
-
529
- - bundle:`dsh plugin --profile <name> add <spec>` → 进 `dsh.profile.bundles`,**重启生效**。
530
- - 纯 cordis:`dsh plugin add` 装依赖 + profile `cordis.patch.yml` 加 insert 行,**配置 HMR 实时生效**——`plugin-registry/docs/plugin-types.md`。
531
- - git 源安装:`dsh plugin add "github:owner/repo#<ref>&path:<subdir>"`(`&path:` 是 pnpm 的 git 子目录选择器,`dsh plugin` 转发给 pnpm verbatim,见官方 `apps/cli/src/plugin.ts`);拉的是源码不是构建产物,须作者写**自包含 `prepare`**、用户侧 profile `pnpm-workspace.yaml` 加 `allowBuilds`(pnpm ≥10 阻止 git 依赖的 prepare 直到显式允许)——官方 `publish.md`、`plugin-template`、`from-scratch/README.md`、`fabric/package.json`(`&path:` 三包依赖实例)、`plugin-registry/README.md`(“产物已入库,git 源安装不触发构建”)。
532
- - 免 allowBuilds 的分发:npm 发布带 `lib/`,或 `pnpm pack` 出 tarball(`dsh plugin add ./xxx.tgz`)。
533
- - web 与 headless 是**不同 profile**(`dsh run` 默认 headless)——`dsh-plugin-check/README.md`、`dsh-plugin-dev/references/bundle-patch.md`。
534
-
535
- ### 2.6 测试分层(共识)
536
-
537
- - from-scratch 五层:Unit → HMR disposal → Real Loader composition → Built entry smoke(`lib/` 于 plain Node)→ Keyless snapshot/e2e(`docs/05-testing-and-release.md`)。
538
- - plugin-template:真实 `new Context()` + `ctx.plugin()` harness + Loader 解包断言(`'default' in plugin === false`)。
539
- - dsh-plugin-dev:register.spec(注册契约)+ impl.spec(纯逻辑)+ tool-driver(真实管道直调 `ctx.tools.execute`)。
540
- - dsh-suite create-dsh-plugin:内置 `--verify` smoke(生成→build→装临时 profile→dump-config)。
541
- - 共识点:手工 `ctx.plugin()` 单测不够,必须证明真实 Loader/发布产物/产品 composition 可用(from-scratch 反模式 16/17)。
542
-
543
- ### 2.7 hub/awesome 收录标准(共识)
544
-
545
- - 最低:公开 + `dsh-plugin` topic + 合法 `package.json`(非空 name)+ 入口字段 + README 说明安装/卸载/最小示例 + 依赖显式声明 + 许可证 + 不提交密钥/PII——`awesome-dsh-plugins/README.md`(最低收录条件)、`awesome-dsh-plugins/analysis/security-issues.md`。
546
- - dsh-suite:真是 DSH 插件、有代码、repo+stars 可核实、双语描述 ≤140 字、compat 诚实(没实测留 unknown);蹭 tag/工具链/占位进 watchlist——`dsh-suite/CONTRIBUTING.md`。
547
- - bruc3van:厂商中立 + 双语 + 一句事实描述(禁营销)+ status/source 维度——`awesome-dsh-plugin/README.md`、`CONTRIBUTING.md`。
548
- - dsh-hub-workshop:**发现 ≠ 安装权限**;40 位不可变 commit 是唯一准入坐标;安装条目须逐项审核,registry 安装权威为空(08-13 17:27Z 复核:`registry-v1.json` 上线、entries 仍空、11 候选全部 blocked)——`dsh-hub-workshop/README.md`、`submission.schema.json`、`scripts/check-public-site.mjs`。
549
- - 三个 awesome 列表与 dsh-suite 都**不推导** `dsh plugin add`(以插件自身 README 为准);只有 dsh-hub-workshop 的 submission schema 把 `github:owner/repo#40hex&path:...` 写进准入正则。
550
-
551
- ---
552
-
553
- ## 3. 对知识库的更新建议
554
-
555
- 知识库现状(`dsh-plugin-guide/`):`guide/plugin-dev-guide.md` §7.3 已收录社区踩坑的**压缩版**(cordis 双副本、tsconfig 三件套、Windows junction、多帧 zstd、`DSH_PERMISSION_MODE`、MSYS、路径 resolve),`guide/quick-reference.md` 的“社区实测坑速查”与 §7.0/§7.1 也已把 0811 repository-plugin 移除、`github:owner/repo#<sha>&path:<subdir>`、`prepare`/`allowBuilds` 写入。本报告是这些压缩条的**全文证据与出处**。以下是与官方文档(`references/official-docs/`)相比、社区确认且值得沉淀进知识库的增量:
556
-
557
- 1. **repository-plugin 机制演变(最高优先,需在知识库显式成文)**:官方 `references/official-docs/docs/subsystems/skills.md`(第 13/249 行)仍写着“host rows and repository plugins land in the global layer”——这是一处**已被 0811 移除机制影响的过时表述**,知识库应补一条“repository-plugin 已移除”的对照说明并引用事实源。完整时间线(0809 新增 `.dsh-plugin` → 0811 删除 `vendor/loader/src/repository.ts`(−258 行)→ bundle 层栈 + 纯 cordis insert 双通道 → 0812 服务重命名)事实源在 `community-repos/plugin-registry/README.md`、`CHANGELOG.md`、`docs/plugin-types.md`、`docs/official-0809-coverage.md`;旧格式细节与两代对照在 `community-repos/awesome-dsh-plugins/analysis/plugin-formats.md`、`dsh-find-plugins/skills/find-plugins/references/install-methods.md`。
558
- 2. **`dsh plugin` 是 pnpm forwarder + 层栈 reconcile**:官方 `apps/cli/src/plugin.ts` 证实——`dsh plugin add` 只转发 pnpm 并 reconcile `dsh.profile.bundles`;bundle-less 包只作为普通依赖安装并告警(不自动加 insert 行);`&path:` 是 pnpm git 子目录语法(pnpm PR #7487),dsh 转发 verbatim。知识库可把“纯 cordis 插件的 insert 行是**额外一步**(手动或经薄控制台写 profile `cordis.patch.yml`)”讲得更精确。
559
- 3. **cordis 身份双轨(unscoped vs scoped)**:`plugin-template`/`fabric`(unscoped `cordis ^4.0.0-rc.7` + `schemastery`)与 `dsh-plugin-dev`/`from-scratch`/`create-dsh-plugin`/`dsh-turn-meta`(scoped `@deepseek-ai/cordis`)是两条时间线的资料,知识库 §7.3 已写“scoped/unscoped 混用分裂”,可补充“模板间未对齐”的事实与选型判据(面向 standalone Cordis 用 unscoped;面向 harness 宿主用 scoped)。
560
- 4. **官方 `@deepseek-ai/*` 包发布状态的双时间线**:rc 早期官方包未发布公共 npm → 社区 bundle `dependencies` 留空靠 profile 闭包 flat fallback(`plugin-registry/docs/plugin-types.md`);rc.6 起公开包可用(`dsh-plugin-dev` 的 npm rc.1 路径、`from-scratch` 锁 `0.1.0-rc.6`)。知识库 §7.3 已收录此条,可补上 `create-dsh-plugin` 的 `next`-tag(npm `latest` 是 stale 0.0.1-rc.1)细节。
561
- 5. **`DSH_PERMISSION_MODE` 风险**:官方文档 grep 无此变量;社区 `dsh-plugin-dev/README.md` 明确其为高风险模式(Windows 无沙箱后端时仅此可启动且禁用审批提示)。知识库已收录,可补充“不要写进模板/CI/共享机器”的完整表述与出处。
562
- 6. **`DSH_*` 环境变量全集**:官方已文档化的有 `DSH_HOME`/`DSH_AGENTS_HOME`/`DSH_BUNDLED_SKILL_DIR`/`DSH_SNAPSHOT_*`/`DSH_CORDIS_CONFIG`/`DSH_WEB_URL`/`DSH_WEB_MODE`/`DSH_BUILD_FACE`/`DSH_SESSION_ROOT`/`DSH_MODEL`/`DSH_SYSTEM_PROMPT`/`DSH_ENV_PREFIX`/`DSH_SNAPSHOT`/`DSH_CODE_REVIEW_SINCE`(见 config-catalog、subsystems);社区新增事实:`DSH_*` 特殊变量须由启动环境传入、放 `~/.dsh/.env` 会报错(`dsh-plugin-dev/build-pitfalls.md` 坑 7),`DSH_PLUGIN_MCP_*`(`deepseek-harness-plugin-mcp/src/config.ts`)、`DSH_HARNESS_ROOT`(`from-scratch/README.md`)。知识库可把“DSH_* 从启动环境传入”与“官方 env 清单”合并为一条索引。
563
- 7. **MSYS 路径转换**:`dsh-plugin-dev/README.md` — Windows 下直接跑 `bin/dsh` 触发 `ERR_UNSUPPORTED_ESM_URL_SCHEME`(issue #388),须用 `~/.local/bin/dsh` wrapper(`file://` URL 启动 tsx)。知识库 §7.3 已收录,可补 wrapper 事实。
564
- 8. **tsdown `external: [/@deepseek-ai\//]`**:`plugin-registry/CHANGELOG.md`(0812 实证)——symlink 官方包后 tsdown 会误内联依赖(lib 242→7036 行);官方包由 profile 闭包注入、不内联。这是知识库尚未明确写的一条构建坑。
565
- 9. **bundle vs 纯插件 install 路径**:`plugin-registry/docs/plugin-types.md` 的双通道表(形态/开发/分发/安装/加载/启停/管理七维)比官方 `publish.md` 更聚焦第三方视角,可作为知识库 §7.0 的补充来源;`plugin-types.md` 的“自渲染 UI 与类型无关”结论(whale-girl 转 bundle 后照常工作)也值得收录。
566
- 10. **hub/awesome 收录标准**:知识库 §9 已列各列表;可补充 `dsh-suite` 的 5 条收录标准 + 15 条设计准则(`CONTRIBUTING.md`)、`dsh-hub-workshop` 的“发现 ≠ 安装权限 + 40 位 commit 准入 + 空 registry 硬门”(`README.md`/`scripts/check-public-site.mjs`)作为“发布到生态”的具体门槛。
567
- 11. **安全红线清单**:`awesome-dsh-plugins/analysis/security-issues.md` 的 12 条(含主仓库 #302/#300/#301/#176/#73/#118/#20/#7)与 `analysis/plugin-formats.md` 的“静态 vs 动态安全模型差异”(`.dsh-plugin` 子进程隔离 vs `dsh.plugin.json` 同进程任意代码)值得作为“插件安全评估”参考面沉淀。
568
-
569
- ---
570
-
571
- ## 4. 文件路径索引(重要结论 → 仓库内精确文件路径)
572
-
573
- > 以下均为相对 `community-repos/<repo>/` 的路径。只列承载“结论级事实”的文件。
574
-
575
- **plugin-template(omdsh-dev)**
576
- - 插件入口四文件职责与命名导出:`src/index.ts`、`src/config.ts`、`src/runtime.ts`、`src/invariant.ts`
577
- - bundle 清单 + 文件字段:`package.json`;bundle patch:`cordis.patch.yml`
578
- - tsconfig 三件套:`tsconfig.base.json`、`tsconfig.json`
579
- - 测试 harness/Loader 解包断言:`tests/harness.ts`、`tests/plugin.spec.ts`
580
- - 自包含边界校验:`scripts/verify-self-contained.mjs`;prepare:`scripts/prepare.mjs`
581
- - 坑(default export / 整行替换 / `!!js` / allowBuilds):`README.md`、`docs/dsh-plugin-contracts.md`、`.agents/skills/dsh-plugin-{implement,compose}/SKILL.md`、`patches/README.md`
582
-
583
- **dsh-plugin-dev(omdsh-dev)**
584
- - 总纲/速查/交付闭环:`skills/dsh-plugin-dev/SKILL.md`
585
- - 20 坑全表:`skills/dsh-plugin-dev/references/build-pitfalls.md`
586
- - 工具插件骨架:`skills/dsh-plugin-dev/references/tool-plugin.md`
587
- - 挂载/验证:`skills/dsh-plugin-dev/references/bundle-patch.md`;测试分层:`references/testing.md`;发布/hub:`references/publish.md`
588
- - 环境基线(`DSH_PERMISSION_MODE`/MSYS):`README.md`
589
-
590
- **deepseek-harness-plugin-from-scratch(Opr4Mp3r)**
591
- - 六句话/兼容锁定/安装:`README.md`
592
- - 17 反模式:`docs/anti-patterns.md`;交付检查单:`docs/checklist.md`;五层测试与可安装包清单:`docs/05-testing-and-release.md`
593
- - 最小插件三步骤:`docs/01-minimal-plugin.md`;checkpoint 源码:`examples/progressive/src/index.ts`、`examples/progressive/checkpoints/*.ts`
594
- - 审计基线:`audit-manifest.json`;真实 profile 安装验证:`scripts/verify-profile.mjs`
595
-
596
- **dsh-plugin-skills(omdsh-dev)**
597
- - 形态分类:`dsh-write-plugin/SKILL.md`
598
- - 工具/服务/hook/config/LLM adapter:`dsh-write-plugin/references/{tool-plugin,service-plugin,hook-plugin,config-plugin,llm-adapter-plugin}.md`
599
- - 测试分层:`dsh-test-plugin/SKILL.md`;安装:`README.md`
600
-
601
- **plugin-registry(vlln)**
602
- - 0811 移除告示 + 安装命令:`README.md`
603
- - 时间线(0809→0812 全量):`CHANGELOG.md`
604
- - bundle vs 纯插件双通道:`docs/plugin-types.md`
605
- - 0809 覆盖度评估 + repository 格式细节:`docs/official-0809-coverage.md`
606
- - 项目导览/约束:`AGENTS.md`;开发 skill:`skills/make-dsh-plugin/SKILL.md`、`skills/make-dsh-plugin/references/gotchas.md`、`bundle-plugins.md`、`entry-contract.md`
607
- - 薄控制台:`packages/plugin/console/src/index.ts`(Node half)、`src/discovery/tools.ts`(plugin_install 等)、`tsdown.config.ts`(dual build + `__ModuleLoader__`)
608
-
609
- **dsh-plugin-check(omdsh-dev)**
610
- - 工具声明/检测项/安装:`README.md`;npm rc.1 兼容:`README.md` §npm rc.1
611
- - manifest 校验规则:`src/manifest.ts`;patch 校验:`src/patch.ts`;构建陷阱:`src/build-check.ts`;report/verdict:`src/report.ts`
612
- - 包清单:`package.json`;bundle patch:`cordis.patch.yml`
613
-
614
- **dsh-suite(whyihaveyou)**
615
- - 目录/徽章/脚手架总览:`README.md`
616
- - 目录 schema:`docs/catalog-schema.md`;分类:`docs/categories.md`;迁移指南:`docs/migration-guide.en.md`/`.zh-CN.md`
617
- - 收录标准 + 15 条准则:`CONTRIBUTING.md`
618
- - 脚手架:`packages/create-dsh-plugin/{package.json,src/*.js,templates/{tool,events,webui}/**}`(tool 头注坑清单:`templates/tool/src/index.ts`;events 模板:`templates/events/src/index.ts`;PITFALLS 数组:`src/templates.js`)
619
- - 第一方插件:`packages/plugins/plugin-notify/src/index.ts`、`packages/plugins/plugin-session-export/src/index.ts`
620
- - 兼容 CI:`.github/workflows/compat.yml`、`scripts/compat-check.mjs`
621
-
622
- **fabric(omdsh-dev)**
623
- - 机制总览/安装:`README.md`、`docs/fabric.md`、`docs/fabric-api.md`
624
- - bundle 载体:`package.json`、`cordis.patch.yml`;核心包:`packages/cordis-fabric/{package.json,src/service.ts,src/node-loader.ts,src/transform.ts,src/module-identity.ts,src/runtime.ts}`;DSH 集成:`packages/cordis-fabric-dsh/src/{index.ts,host-contracts.ts}`
625
- - host patch 分层:`patches/README.md`、`patches/fabric-host-integration.patch`、`patches/host-patch.config.json`;自包含校验:`scripts/verify-self-contained.mjs`
626
-
627
- **dsh-turn-meta(randerous)**
628
- - 完整插件源:`src/index.ts`;invariant 伴生:`src/invariant.ts`;tsdown 双 entry:`tsdown.config.ts`;测试:`tests/turn-meta.spec.ts`、`tests/smoke.mjs`;包清单:`package.json`
629
-
630
- **deepseek-harness-plugin-mcp(bobleer)**
631
- - 三平面/安装:`README.md`、`docs/design.md`
632
- - bundle patch(`!!js` + 默认关闭授权):`cordis.patch.yml`;插件入口:`src/dsh-plugin.ts`
633
- - 配置 schema(parseArgs + env):`src/config.ts`;控制面工具(zod):`src/mcp/control-tools.ts`;工具名规范化:`src/plugin/names.ts`;MCP server:`src/mcp/server.ts`
634
- - 防递归 env 注入:`src/runtime/host.ts`;`!!js` 检视 tag:`src/plugin/inspect.ts`;`which`/Windows 后缀:`src/profile/dsh-cli.ts`
635
-
636
- **dsh-find-plugins(Nagi-ovo)**
637
- - 5 步工作流 + 装法判定:`skills/find-plugins/SKILL.md`
638
- - 装法优先级 + repository 已移除:`skills/find-plugins/references/install-methods.md`
639
- - 检索脚本:`skills/find-plugins/scripts/search-topic.mjs`
640
-
641
- **dsh-hub-workshop(omdsh-dev)**
642
- - 信任边界/registry 权威:`README.md`、`SECURITY.md`
643
- - catalog/registry/submission schema:`catalog.schema.json`、`registry-v1.json`、`submission.schema.json`、`catalog.json`
644
- - 硬断言门:`scripts/check-public-site.mjs`;目录生成:`scripts/build-topic-catalog.mjs`
645
- - 前端安装坐标(`&path:`):`assets/publish.js`、`assets/app.js`、`assets/configurations.js`
646
- - Worker:`worker/public.js`;类型定义:`api/v1/plugin-types.json`
647
-
648
- **awesome-dsh-plugins(AdamPlatin123)**
649
- - 定位/快照/最低收录条件/L0-L4:`README.md`;行为契约:`AGENTS.md`
650
- - 两代格式对照:`analysis/plugin-formats.md`;安全清单:`analysis/security-issues.md`;群聊洞察:`analysis/group-chat-plugin-dev-insights.md`
651
- - 15 仓聚合(seam/补丁全景):`cross-analysis/summary.md`;SOP:`docs/SOP.md`
652
- - 索引状态机:`.mainline-state.json`;引擎:`scripts/compare-mainline.sh`;样例报告:`reports/2026-08-13/dsh-shell-windows.md`
653
-
654
- **awesome-dsh-plugin(bruc3van)**
655
- - 收录规则:`README.md`;schema:`catalog/schema.json`;数据:`catalog/plugins.json`
656
- - 生成器/校验:`scripts/generate_readmes.py`;PR 流程:`CONTRIBUTING.md`、`.github/PULL_REQUEST_TEMPLATE.md`;CI:`.github/workflows/validate.yml`
657
-
658
- **Alex-Yanggg-awesome-DSH-plugin(Alex-Yanggg)**
659
- - 场景/套装/安全提示:`README.md`;机器快照:`data/repositories.json`;人工层:`data/curated.json`
660
- - 生成器:`scripts/update.mjs`;收录标准:`CONTRIBUTING.md`;自动刷新:`.github/workflows/update-catalog.yml`;全量目录:`CATALOG.md`