dsh-plugin-dev-kb 1.8.0 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/CHANGELOG.md +186 -178
  2. package/README.en.md +172 -172
  3. package/README.md +183 -183
  4. package/kb/INDEX.md +236 -234
  5. package/kb/README.md +88 -88
  6. package/kb/extra/AGENTS.md +77 -77
  7. package/kb/extra/deepseek-llm-api-wire-extensions.md +162 -162
  8. package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +162 -162
  9. package/kb/extra/defensive-patterns/package-surface.md +233 -232
  10. package/kb/extra/defensive-patterns/package-surface.zh.md +233 -232
  11. package/kb/extra/defensive-patterns/remote-and-api.md +117 -117
  12. package/kb/extra/defensive-patterns/remote-and-api.zh.md +117 -117
  13. package/kb/extra/development.md +221 -221
  14. package/kb/extra/development.zh.md +228 -228
  15. package/kb/extra/event-producer-consumer.md +133 -123
  16. package/kb/extra/event-producer-consumer.zh.md +135 -125
  17. package/kb/extra/module-graph.md +1961 -1888
  18. package/kb/extra/module-graph.zh.md +1963 -1890
  19. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.md +60 -0
  20. package/kb/extra/persistence-changes/2026-11-05-timeline-priority-notice.zh.md +60 -0
  21. package/kb/extra/persistence-changes/README.md +92 -92
  22. package/kb/extra/persistence-changes/README.zh.md +92 -92
  23. package/kb/extra/persistence-changes/historical-formats/README.md +75 -75
  24. package/kb/extra/persistence-changes/historical-formats/README.zh.md +75 -75
  25. package/kb/extra/persistence-changes/releases/README.md +103 -103
  26. package/kb/extra/persistence-changes/releases/README.zh.md +103 -103
  27. package/kb/extra/rescope.md +55 -55
  28. package/kb/extra/rescope.zh.md +55 -55
  29. package/kb/extra/subsystems/boot.md +631 -621
  30. package/kb/extra/subsystems/boot.zh.md +631 -621
  31. package/kb/extra/subsystems/computer-use.md +179 -137
  32. package/kb/extra/subsystems/computer-use.zh.md +179 -137
  33. package/kb/extra/subsystems/extensions.md +387 -384
  34. package/kb/extra/subsystems/extensions.zh.md +387 -384
  35. package/kb/extra/subsystems/feedback.md +418 -400
  36. package/kb/extra/subsystems/feedback.zh.md +418 -400
  37. package/kb/extra/subsystems/forge.md +2169 -1226
  38. package/kb/extra/subsystems/forge.zh.md +2171 -1226
  39. package/kb/extra/subsystems/liveshare.md +167 -158
  40. package/kb/extra/subsystems/liveshare.zh.md +167 -158
  41. package/kb/extra/subsystems/mcp.md +237 -234
  42. package/kb/extra/subsystems/mcp.zh.md +237 -234
  43. package/kb/extra/subsystems/office-kit.md +122 -0
  44. package/kb/extra/subsystems/office-kit.zh.md +122 -0
  45. package/kb/extra/subsystems/working-directory.md +95 -64
  46. package/kb/extra/subsystems/working-directory.zh.md +95 -64
  47. package/kb/extra/subsystems/worktrees.md +187 -127
  48. package/kb/extra/subsystems/worktrees.zh.md +187 -127
  49. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.md +21 -21
  50. package/kb/extra/upgrade-guide/v0.2.1-alpha.1/python-ptc-sandbox/guide.zh.md +21 -21
  51. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.md +18 -0
  52. package/kb/extra/upgrade-guide/v0.2.1-rc.4/sandbox-unsupported-policy-error/guide.zh.md +18 -0
  53. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.md +18 -0
  54. package/kb/extra/upgrade-guide/v0.2.2-alpha.2/llm-error-builtin-codes/guide.zh.md +18 -0
  55. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.md +34 -0
  56. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-kit-package/guide.zh.md +34 -0
  57. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.md +49 -0
  58. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-operation-tools/guide.zh.md +49 -0
  59. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.md +36 -0
  60. package/kb/extra/upgrade-guide/v0.2.2-alpha.3/office-skill-resources/guide.zh.md +36 -0
  61. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.md +26 -0
  62. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-notification-fields/guide.zh.md +26 -0
  63. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.md +22 -0
  64. package/kb/extra/upgrade-guide/v0.2.2-rc.1/account-remote-provider/guide.zh.md +22 -0
  65. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.md +21 -0
  66. package/kb/extra/upgrade-guide/v0.2.2-rc.1/archive-worktrees/guide.zh.md +21 -0
  67. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.md +23 -0
  68. package/kb/extra/upgrade-guide/v0.2.2-rc.1/attachment-error-codes/guide.zh.md +23 -0
  69. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.md +20 -0
  70. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-ax-read-limits/guide.zh.md +20 -0
  71. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.md +18 -0
  72. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-hover-ax-only/guide.zh.md +18 -0
  73. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.md +23 -0
  74. package/kb/extra/upgrade-guide/v0.2.2-rc.1/cua-native-platform/guide.zh.md +23 -0
  75. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.md +35 -0
  76. package/kb/extra/upgrade-guide/v0.2.2-rc.1/dsh-doc-skill/guide.zh.md +35 -0
  77. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.md +26 -0
  78. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-change-request-overview/guide.zh.md +26 -0
  79. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.md +26 -0
  80. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-pinned-diff/guide.zh.md +26 -0
  81. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.md +19 -0
  82. package/kb/extra/upgrade-guide/v0.2.2-rc.1/forge-review-reads/guide.zh.md +19 -0
  83. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.md +26 -0
  84. package/kb/extra/upgrade-guide/v0.2.2-rc.1/package-export-cleanup/guide.zh.md +26 -0
  85. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.md +22 -0
  86. package/kb/extra/upgrade-guide/v0.2.2-rc.1/plugin-update-method/guide.zh.md +22 -0
  87. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.md +25 -0
  88. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-bootstrap-protocol/guide.zh.md +25 -0
  89. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.md +48 -0
  90. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-inspect-output/guide.zh.md +48 -0
  91. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.md +45 -0
  92. package/kb/extra/upgrade-guide/v0.2.2-rc.1/ptc-scoped-repl-default/guide.zh.md +45 -0
  93. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.md +19 -0
  94. package/kb/extra/upgrade-guide/v0.2.2-rc.1/runtime-context-reminders/guide.zh.md +19 -0
  95. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.md +17 -0
  96. package/kb/extra/upgrade-guide/v0.2.2-rc.1/session-append-overloads/guide.zh.md +17 -0
  97. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.md +27 -0
  98. package/kb/extra/upgrade-guide/v0.2.2-rc.1/subagent-interrupt-default/guide.zh.md +27 -0
  99. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.md +20 -0
  100. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-backend-cleanup-error/guide.zh.md +20 -0
  101. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.md +19 -0
  102. package/kb/extra/upgrade-guide/v0.2.2-rc.1/terminal-bundle-sidebar-backend/guide.zh.md +19 -0
  103. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.md +18 -0
  104. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-fetch-transport-error-codes/guide.zh.md +18 -0
  105. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.md +41 -0
  106. package/kb/extra/upgrade-guide/v0.2.2-rc.1/web-search-billing/guide.zh.md +41 -0
  107. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.md +21 -0
  108. package/kb/extra/upgrade-guide/v0.2.2-rc.1/window-drag-regions/guide.zh.md +21 -0
  109. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.md +29 -0
  110. package/kb/extra/upgrade-guide/v0.2.2-rc.2/client-module-metadata/guide.zh.md +29 -0
  111. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.md +25 -0
  112. package/kb/extra/upgrade-guide/v0.2.2-rc.2/connection-page-peer/guide.zh.md +25 -0
  113. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.md +31 -0
  114. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cordis-root-and-intercept-metadata/guide.zh.md +31 -0
  115. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.md +24 -0
  116. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-agents-without-preset/guide.zh.md +24 -0
  117. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.md +24 -0
  118. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-macos-provider/guide.zh.md +24 -0
  119. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.md +19 -0
  120. package/kb/extra/upgrade-guide/v0.2.2-rc.2/cua-partial-observations/guide.zh.md +19 -0
  121. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.md +15 -0
  122. package/kb/extra/upgrade-guide/v0.2.2-rc.2/deepseek-files-timeout/guide.zh.md +15 -0
  123. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.md +28 -0
  124. package/kb/extra/upgrade-guide/v0.2.2-rc.2/experimental-tool-error-codes/guide.zh.md +28 -0
  125. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.md +36 -0
  126. package/kb/extra/upgrade-guide/v0.2.2-rc.2/package-export-cleanup/guide.zh.md +36 -0
  127. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.md +22 -0
  128. package/kb/extra/upgrade-guide/v0.2.2-rc.2/python-ptc-removal/guide.zh.md +22 -0
  129. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.md +31 -0
  130. package/kb/extra/upgrade-guide/v0.2.2-rc.2/session-status-package/guide.zh.md +31 -0
  131. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.md +18 -0
  132. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shared-search-filter/guide.zh.md +18 -0
  133. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.md +30 -0
  134. package/kb/extra/upgrade-guide/v0.2.2-rc.2/shell-fs-tool-error-codes/guide.zh.md +30 -0
  135. package/kb/extra/web-styling.md +57 -57
  136. package/kb/extra/web-styling.zh.md +57 -57
  137. package/kb/meta/search-index.json +4508 -3980
  138. package/kb/meta/source.json +18 -18
  139. package/kb/site/develop/practice/llm-adapter.md +192 -192
  140. package/kb/site/en/develop/practice/llm-adapter.md +192 -192
  141. package/kb/site/en/guide/desktop-uninstall-cleanup.md +63 -0
  142. package/kb/site/en/guide/plugin-market.md +153 -151
  143. package/kb/site/en/guide/providers.md +234 -234
  144. package/kb/site/en/guide/quickstart.md +35 -34
  145. package/kb/site/en/reference/capability-seams.md +789 -767
  146. package/kb/site/en/reference/config-catalog.md +5432 -5128
  147. package/kb/site/en/reference/cookbook/adding-a-package.md +175 -175
  148. package/kb/site/en/reference/cookbook/adding-a-tool.md +105 -104
  149. package/kb/site/en/reference/cookbook/extension-cookbook.md +178 -135
  150. package/kb/site/en/reference/cordis-api/context.md +373 -369
  151. package/kb/site/en/reference/cordis-api/fiber.md +457 -433
  152. package/kb/site/en/reference/cordis-api/inherited.md +44 -44
  153. package/kb/site/en/reference/cordis-api/service.md +118 -107
  154. package/kb/site/en/reference/experimental-persistence-catalog.md +36 -23
  155. package/kb/site/en/reference/index.md +174 -174
  156. package/kb/site/en/reference/persistence-catalog.md +9453 -9432
  157. package/kb/site/en/reference/subsystems/compaction.md +288 -288
  158. package/kb/site/en/reference/subsystems/core.md +1172 -1171
  159. package/kb/site/en/reference/subsystems/credentials.md +526 -497
  160. package/kb/site/en/reference/subsystems/filesystem.md +708 -708
  161. package/kb/site/en/reference/subsystems/index.md +82 -82
  162. package/kb/site/en/reference/subsystems/llm-streaming.md +1290 -1288
  163. package/kb/site/en/reference/subsystems/lsp.md +230 -206
  164. package/kb/site/en/reference/subsystems/persistence.md +451 -432
  165. package/kb/site/en/reference/subsystems/plan.md +91 -91
  166. package/kb/site/en/reference/subsystems/ptc-runtime.md +295 -261
  167. package/kb/site/en/reference/subsystems/sandbox.md +250 -232
  168. package/kb/site/en/reference/subsystems/session-query.md +525 -515
  169. package/kb/site/en/reference/subsystems/session-reference.md +231 -229
  170. package/kb/site/en/reference/subsystems/session.md +1478 -1431
  171. package/kb/site/en/reference/subsystems/sidebar-right.md +165 -165
  172. package/kb/site/en/reference/subsystems/skills.md +356 -356
  173. package/kb/site/en/reference/subsystems/slots.md +235 -231
  174. package/kb/site/en/reference/subsystems/terminal.md +188 -188
  175. package/kb/site/en/reference/subsystems/tools.md +902 -891
  176. package/kb/site/en/reference/subsystems/user-questions.md +330 -327
  177. package/kb/site/en/reference/subsystems/web-client.md +161 -104
  178. package/kb/site/en/reference/subsystems/web-server.md +434 -351
  179. package/kb/site/en/reference/subsystems/web.md +268 -268
  180. package/kb/site/en/reference/subsystems/workflow.md +287 -282
  181. package/kb/site/en/reference/subsystems/workspace.md +743 -651
  182. package/kb/site/en/reference/tool-catalog.md +2867 -2704
  183. package/kb/site/guide/desktop-uninstall-cleanup.md +63 -0
  184. package/kb/site/guide/plugin-market.md +153 -151
  185. package/kb/site/guide/providers.md +234 -234
  186. package/kb/site/guide/quickstart.md +35 -34
  187. package/kb/site/reference/capability-seams.md +789 -767
  188. package/kb/site/reference/config-catalog.md +5432 -5128
  189. package/kb/site/reference/cookbook/adding-a-package.md +175 -175
  190. package/kb/site/reference/cookbook/adding-a-tool.md +107 -106
  191. package/kb/site/reference/cookbook/extension-cookbook.md +182 -139
  192. package/kb/site/reference/cordis-api/context.md +373 -369
  193. package/kb/site/reference/cordis-api/fiber.md +459 -435
  194. package/kb/site/reference/cordis-api/inherited.md +44 -44
  195. package/kb/site/reference/cordis-api/service.md +118 -107
  196. package/kb/site/reference/experimental-persistence-catalog.md +36 -23
  197. package/kb/site/reference/index.md +178 -178
  198. package/kb/site/reference/persistence-catalog.md +9453 -9432
  199. package/kb/site/reference/subsystems/compaction.md +288 -288
  200. package/kb/site/reference/subsystems/core.md +1184 -1183
  201. package/kb/site/reference/subsystems/credentials.md +526 -497
  202. package/kb/site/reference/subsystems/filesystem.md +708 -708
  203. package/kb/site/reference/subsystems/index.md +82 -82
  204. package/kb/site/reference/subsystems/llm-streaming.md +1296 -1294
  205. package/kb/site/reference/subsystems/lsp.md +230 -206
  206. package/kb/site/reference/subsystems/persistence.md +451 -432
  207. package/kb/site/reference/subsystems/plan.md +91 -91
  208. package/kb/site/reference/subsystems/ptc-runtime.md +295 -261
  209. package/kb/site/reference/subsystems/sandbox.md +250 -232
  210. package/kb/site/reference/subsystems/session-query.md +525 -515
  211. package/kb/site/reference/subsystems/session-reference.md +231 -229
  212. package/kb/site/reference/subsystems/session.md +1482 -1435
  213. package/kb/site/reference/subsystems/sidebar-right.md +165 -165
  214. package/kb/site/reference/subsystems/skills.md +356 -356
  215. package/kb/site/reference/subsystems/slots.md +239 -235
  216. package/kb/site/reference/subsystems/terminal.md +188 -188
  217. package/kb/site/reference/subsystems/tools.md +902 -891
  218. package/kb/site/reference/subsystems/user-questions.md +330 -327
  219. package/kb/site/reference/subsystems/web-client.md +161 -104
  220. package/kb/site/reference/subsystems/web-server.md +434 -351
  221. package/kb/site/reference/subsystems/web.md +268 -268
  222. package/kb/site/reference/subsystems/workflow.md +287 -282
  223. package/kb/site/reference/subsystems/workspace.md +743 -651
  224. package/kb/site/reference/tool-catalog.md +2872 -2709
  225. package/lib/index.js +359 -359
  226. package/package.json +68 -68
  227. package/skills/dsh-plugin-dev-kb.md +71 -70
  228. package/kb/extra/subsystems/office-to-pdf.md +0 -87
  229. package/kb/extra/subsystems/office-to-pdf.zh.md +0 -87
@@ -0,0 +1,63 @@
1
+ ---
2
+ editSource: "docs/user/guide/desktop-uninstall-cleanup.zh.md"
3
+ rawMarkdownPath: "guide/desktop-uninstall-cleanup.md"
4
+ ---
5
+
6
+ # 卸载 DSH 桌面端
7
+
8
+ 本指南介绍如何在 macOS 或 Windows 上卸载 DeepSeek Harness 桌面端。清理本地数据是可选操作。
9
+
10
+ ## 1. 卸载应用
11
+
12
+ 先结束使用桌面端内置 CLI(命令行界面)的命令。如果曾通过 Desktop 安装 `dsh` 命令,请先在应用菜单中选择 **管理 dsh 命令… → 移除**。此操作移除桌面端的命令注册,不卸载独立安装的 CLI 程序。
13
+
14
+ 退出 DeepSeek Harness,然后按所在平台的方式卸载:
15
+
16
+ - **macOS:** 在 Finder 的“应用程序”中删除应用。
17
+ - **Windows:** 在 Windows 11 的“设置 → 应用 → 已安装的应用”,或“控制面板 → 程序 → 程序和功能”中卸载。
18
+
19
+ ## 2. 清理本地数据
20
+
21
+ 此步骤为可选操作。如果需要清理本地数据,请选择下方对应平台的脚本,在 macOS 的终端或 Windows 的 PowerShell 中粘贴运行。
22
+
23
+ 脚本会永久删除当前用户默认的 Harness 主目录及下方列出的 Desktop 数据路径,包括会话、凭据、设置、插件、缓存和与 CLI 共用的状态。如果配置了 `DSH_HOME`,删除前请单独检查该目录;脚本仍会删除默认的 `~/.dsh`。隔离的开发和测试数据目录不在此清理范围内。
24
+
25
+ Windows 卸载程序通常会删除脚本中列出的两个应用数据目录,但保留 Harness 主目录。若卸载时有文件残留或保留了应用数据,脚本也会清理这些目录。
26
+
27
+ ::: code-group
28
+
29
+ ```sh [macOS]
30
+ sh -c '
31
+ rm -rf -- \
32
+ "$HOME/.dsh" \
33
+ "$HOME/Library/Application Support/@deepseek-ai/dsh-desktop" \
34
+ "$HOME/Library/Logs/DeepSeek Harness" \
35
+ "$HOME/Library/Preferences/com.deepseek.dsh.plist" \
36
+ "$HOME/Library/Preferences/ByHost"/com.deepseek.dsh.ShipIt.*.plist \
37
+ "$HOME/Library/Caches/com.deepseek.dsh" \
38
+ "$HOME/Library/Caches/com.deepseek.dsh.ShipIt" \
39
+ "$HOME/Library/HTTPStorages/com.deepseek.dsh" \
40
+ "$HOME/Library/Caches/@deepseek-aidsh-desktop-updater" \
41
+ "$(getconf DARWIN_USER_CACHE_DIR)/com.deepseek.dsh" \
42
+ "$(getconf DARWIN_USER_CACHE_DIR)/com.deepseek.dsh.helper"
43
+ '
44
+ ```
45
+
46
+ ```powershell [Windows]
47
+ $ErrorActionPreference = 'Stop'
48
+ @(
49
+ (Join-Path $env:USERPROFILE '.dsh'),
50
+ (Join-Path $env:APPDATA '@deepseek-ai\dsh-desktop'),
51
+ (Join-Path $env:LOCALAPPDATA '@deepseek-aidsh-desktop-updater')
52
+ ) | ForEach-Object {
53
+ if (Test-Path -LiteralPath $_) {
54
+ Remove-Item -LiteralPath $_ -Recurse -Force
55
+ }
56
+ }
57
+ ```
58
+
59
+ :::
60
+
61
+ ## 3. 验证清理结果
62
+
63
+ 如果运行了清理脚本,请在重新安装前确认脚本中列出的路径已不存在。如果脚本报错,请解决错误后重跑脚本,再次检查所有列出的路径。Windows 脚本会在首次报错时停止,后续路径可能仍未清理。
@@ -1,151 +1,153 @@
1
- ---
2
- editSource: "docs/user/guide/plugin-market.zh.md"
3
- rawMarkdownPath: "guide/plugin-market.md"
4
- ---
5
-
6
- # 插件索引
7
-
8
- ## 概述
9
-
10
- 插件索引是一个 JSON 文件,列出可安装的 DSH 组合包(bundle)及其标题、图标、作者和版本。打开实验性的**自定义插件索引**组合包后,可以在插件页的**发现**标签页中浏览索引,并在确认后安装列出的版本。要发布索引,编写或生成一个索引文件,并把它和图标文件一起放到任意静态主机上。
11
-
12
- ## 目录
13
-
14
- - [打开「发现」](#turn-on)
15
- - [浏览和安装](#browse-and-install)
16
- - [发布索引](#publish-an-index)
17
- - [用参考生成器生成索引](#generate-an-index)
18
- - [索引格式参考](#index-format)
19
- - [延伸阅读](#further-exploration)
20
-
21
- <a id="turn-on"></a>
22
- ## 打开「发现」
23
-
24
- 打开**插件**,在**实验性插件**下找到**自定义插件索引**并打开开关。**已安装**旁边会出现**发现**标签页,Creator 模式也会获得只读的 `plugin_market` 工具。关闭该组合包会再次移除这两者。
25
-
26
- DSH 不内置任何索引源。选择**发现**,点击**添加索引源**,输入一个索引文件的 URL。URL 必须使用 `http:` 或 `https:`,并且不能包含用户名、密码或 `#` 片段。网络路径上的任何人都能修改 `http:` 索引,包括其中列出的安装 spec,因此经由不受你控制的网络访问的索引应使用 `https:`。每个索引源属于当前 profile。
27
-
28
- <a id="browse-and-install"></a>
29
- ## 浏览和安装
30
-
31
- 工具栏左侧的索引菜单用于切换索引源,并可打开**管理索引源…**,其中每个索引源显示它最近一次的错误。搜索匹配名称、作者、关键词,以及所有语言的标题、描述、分类和标签,并容忍拼写错误;在你选择其他排序之前,结果按最佳匹配排序。**标签**菜单、分类按钮和**排序**菜单使用索引声明的分类、标签和排序键,**发布时间**按每个插件最新版本的时间排序。
32
-
33
- 每张卡片显示插件的推荐版本:与当前运行的 DSH 兼容、且不是预发布版本的最高版本;插件没有列出任何非预发布版本时,则是兼容的最高预发布版本。**安装**会打开确认框,显示该版本的来源:npm 包和注册表,或 Git 仓库、提交和目录。确认后开始常规的插件安装,包括其中的兼容性检查和注册表检查;未经确认不会安装任何内容。
34
-
35
- 选择卡片会打开插件页面。**版本**列表显示列出的每个版本及其兼容性,并为 DSH 接受的任何版本提供**安装**,包括旧版本和预发布版本。显示**已安装**、**有新版本**或**随 DSH 提供**的卡片会改为打开已安装的组合包。
36
-
37
- 索引是第三方内容。每个插件的标题、描述、图标、作者和来源都由索引决定;DSH 检查文件格式,但不验证这些声明。只添加你信任的索引源,并在安装前核对确认框中的来源。
38
-
39
- <a id="publish-an-index"></a>
40
- ## 发布索引
41
-
42
- 索引是 UTF-8 编码的 JSON 文件,默认不超过 128 MiB,以 2xx 状态码返回且不经过重定向。把它放到任意静态主机上即可,例如 GitLab Pages、GitHub Pages,或通过 https 访问的对象存储。
43
-
44
- 图标可以内联,也可以是单独的文件。内联图标是索引中的 base64 `data:` URL;它不需要额外请求,但会使索引变大。单独的图标是一个 URL。相对图标相对于索引 URL 解析,与网页中的图片相对于页面解析的方式相同:对于位于 `https://market.example/dsh/index.json` 的索引,`"icon": "icons/foo.svg"` 会加载 `https://market.example/dsh/icons/foo.svg`。因此把索引和 `icons/` 目录并排发布,在任何主机上都能使用,无需修改文件。指向其他源(协议、主机和端口)的绝对图标 URL 必须使用 `https:`。
45
-
46
- 下面是一个最小的索引,包含一个 npm 插件和一个来自 Git monorepo 的插件:
47
-
48
- ```json
49
- {
50
- "format": 1,
51
- "title": { "en": "Team plugins", "zh": "团队插件" },
52
- "plugins": [
53
- {
54
- "name": "dsh-plugin-foo",
55
- "title": "Foo",
56
- "description": "Adds the foo tool",
57
- "icon": "icons/foo.svg",
58
- "author": "Jane Doe",
59
- "homepage": "https://github.com/jane/dsh-plugin-foo#readme",
60
- "repository": { "url": "https://github.com/jane/dsh-plugin-foo" },
61
- "versions": [
62
- { "version": "1.1.0", "publishTimestamp": 1790476800, "source": { "type": "npm" }, "engines": { "dsh": ">=0.2.0-rc.2" } },
63
- { "version": "1.0.0", "publishTimestamp": 1788000000, "source": { "type": "npm" } }
64
- ]
65
- },
66
- {
67
- "name": "@team/dsh-bar",
68
- "versions": [
69
- {
70
- "version": "0.3.0",
71
- "publishTimestamp": 1789000000,
72
- "source": {
73
- "type": "git",
74
- "url": "https://gitlab.example.com/team/dsh-plugins",
75
- "commit": "3f9c2e1d8a4b6c0e7f1a2b3c4d5e6f708192a3b4",
76
- "path": "packages/bar"
77
- }
78
- }
79
- ]
80
- }
81
- ]
82
- }
83
- ```
84
-
85
- 违反下列任何一条规则时,DSH 会拒绝整个索引,并在**管理索引源…**中该索引源下方显示原因及违规值的 JSON 路径。
86
-
87
- <a id="generate-an-index"></a>
88
- ## 用参考生成器生成索引
89
-
90
- 仓库包含一个[参考生成器](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/plugin-market-generator/README.zh.md),可以从一份纯文本列表构建索引。每行写一个 npm 包名或 https Git 仓库 URL;空行和以 `#` 开头的行会被忽略:
91
-
92
- ```text
93
- @team/dsh-foo
94
- https://gitlab.example.com/team/dsh-plugins
95
- ```
96
-
97
- 在 DSH 代码仓库中运行它:
98
-
99
- ```sh
100
- pnpm --filter @deepseek-ai/dsh-plugin-market-generator start --input plugins.txt --output site/index.json --title "Team plugins"
101
- ```
102
-
103
- 对于 npm 包,索引列出所有未弃用、未设为私有且声明了 `dsh.bundle` 的版本。对于 Git 仓库,生成器在默认分支上查找 `package.json` 没有设置 `"private": true` 的组合包,列出它们在 `vX.Y.Z`、`X.Y.Z` 和 `<name>@X.Y.Z` 标签处的版本,以及每个包在默认分支上的版本。标题、描述、图标、作者和主页取自每个插件的最高版本。路径相对于你运行 pnpm 的目录。
104
-
105
- 生成器只下载和读取文件,从不安装包或运行其代码。它在列表旁的 `.plugin-market-cache` 中保存缓存,因此再次运行时只下载新的版本和提交。按上文所述发布输出目录,即 `index.json` 及其 `icons/` 目录。
106
-
107
- <a id="index-format"></a>
108
- ## 索引格式参考
109
-
110
- 标为 `LocalizedText` 的文本字段是字符串,或以小写语言 id 为键的字符串对象,例如 `{ "en": "Foo", "zh": "甲" }`;对象必须包含 `en`。DSH 不认识的成员会被忽略。
111
-
112
- | 索引字段 | 必填 | 含义 |
113
- |---|---|---|
114
- | `format` | 是 | `1`。 |
115
- | `title`、`description` | 仅 `title` | 索引名称和描述,类型为 `LocalizedText`。 |
116
- | `metadata.categories`、`metadata.labels` | 否 | 将 id 映射为 `{ "title": LocalizedText }` 的对象。 |
117
- | `metadata.sortKeys` | 否 | 将 id 映射为 `{ "title": LocalizedText, "order": "asc" \| "desc" }` 的对象;`order` 是初始方向。 |
118
- | `plugins` | 是 | 按索引默认顺序排列的插件。 |
119
-
120
- | 插件字段 | 必填 | 含义 |
121
- |---|---|---|
122
- | `name` | 是 | npm 包名,在索引内唯一。 |
123
- | `title`、`description` | 否 | `LocalizedText`;没有标题时卡片显示 `name`。 |
124
- | `icon` | 否 | 内联 `data:` URL(SVG、PNG、JPEG 或 WebP,不超过 32 KiB)或 URL,见上文。 |
125
- | `author` | 否 | 显示文本。 |
126
- | `homepage` | 否 | 介绍该插件的页面的绝对 `https:` 或 `http:` URL;插件页面会链接到它。 |
127
- | `repository` | 否 | `{ "url": string, "directory"?: string }`:源代码仓库的网页,以及包在其中的目录。插件页面以**源代码**链接到它。 |
128
- | `metadata.category` | 否 | 一个已声明的分类 id。 |
129
- | `metadata.labels` | 否 | 已声明的标签 id。 |
130
- | `metadata.sortKeys` | 否 | 将已声明的排序键 id 映射为数值的对象,例如下载量或评分。 |
131
- | `versions` | 是 | 至少一个版本,顺序不限。 |
132
-
133
- | 版本字段 | 必填 | 含义 |
134
- |---|---|---|
135
- | `version` | 是 | 精确的 SemVer 版本,在插件内唯一。 |
136
- | `publishTimestamp` | 是 | 发布时间,Unix 秒。 |
137
- | `source` | 是 | `{ "type": "npm", "registry"?: url }`,或 `{ "type": "git", "url": https-url, "commit": 40 位十六进制 SHA, "path"?: 目录 }`。 |
138
- | `engines.dsh` | 否 | 该版本可运行的 DSH 版本的 SemVer 范围;缺省表示任意版本。 |
139
-
140
- DSH 将 npm 版本安装为 `name@version`,存在 `registry` 时先询问它;将 Git 版本安装为 `git+<url>.git#<commit>`,包位于子目录时追加 `&path:/<path>`。`engines.dsh` 应与包自身的 `engines.dsh` 一致,DSH 会在安装时再次检查;没有该字段的包改为按其 `@deepseek-ai/dsh*` peer 依赖检查。[格式说明](https://github.com/deepseek-ai/deepseek-harness/blob/master/.agents/notes/implemented/feature/2026-10-02-plugin-market-index-format.zh.md)定义了全部规则。
141
-
142
- <a id="further-exploration"></a>
143
- ## 延伸阅读
144
-
145
- - [「发现」标签页参考](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plugin-market/README.zh.md)说明该标签页的控件和状态。
146
- - [插件索引服务](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/plugin-market/README.zh.md)说明获取限制、缓存和 `plugin_market` 工具。
147
- - [索引校验器](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/plugin-market-index/README.zh.md)是生成器可以用来在发布前检查索引的库。
148
-
149
- ## 开发备注
150
-
151
- 无。
1
+ ---
2
+ editSource: "docs/user/guide/plugin-market.zh.md"
3
+ rawMarkdownPath: "guide/plugin-market.md"
4
+ ---
5
+
6
+ # 插件索引
7
+
8
+ ## 概述
9
+
10
+ 插件索引是一个 JSON 文件,列出可安装的 DSH 组合包(bundle)及其标题、图标、作者和版本。打开实验性的**自定义插件索引**组合包后,可以在插件页的**发现**标签页中浏览索引,并在确认后安装列出的版本。要发布索引,编写或生成一个索引文件,并把它和图标文件一起放到任意静态主机上。
11
+
12
+ ## 目录
13
+
14
+ - [打开「发现」](#turn-on)
15
+ - [浏览和安装](#browse-and-install)
16
+ - [发布索引](#publish-an-index)
17
+ - [用参考生成器生成索引](#generate-an-index)
18
+ - [索引格式参考](#index-format)
19
+ - [延伸阅读](#further-exploration)
20
+
21
+ <a id="turn-on"></a>
22
+ ## 打开「发现」
23
+
24
+ 打开**插件**,在**实验性插件**下找到**自定义插件索引**并打开开关。**已安装**旁边会出现**发现**标签页,Creator 模式也会获得只读的 `plugin_market` 工具。关闭该组合包会再次移除这两者。
25
+
26
+ DSH 不内置任何索引源。选择**发现**,点击**添加索引源**,输入一个索引文件的 URL。URL 必须使用 `http:` 或 `https:`,并且不能包含用户名、密码或 `#` 片段。网络路径上的任何人都能修改 `http:` 索引,包括其中列出的安装 spec,因此经由不受你控制的网络访问的索引应使用 `https:`。每个索引源属于当前 profile。
27
+
28
+ <a id="browse-and-install"></a>
29
+ ## 浏览和安装
30
+
31
+ 工具栏左侧的索引菜单用于切换索引源,并可打开**管理索引源…**,其中每个索引源显示它最近一次的错误。搜索匹配名称、作者、关键词,以及所有语言的标题、描述、分类和标签,并容忍拼写错误;在你选择其他排序之前,结果按最佳匹配排序。**标签**菜单、分类按钮和**排序**菜单使用索引声明的分类、标签和排序键,**发布时间**按每个插件最新版本的时间排序。
32
+
33
+ 每张卡片显示插件的推荐版本:与当前运行的 DSH 兼容、且不是预发布版本的最高版本;插件没有列出任何非预发布版本时,则是兼容的最高预发布版本。**安装**会打开确认框,显示该版本的来源:npm 包和注册表,或 Git 仓库、提交和目录。确认后开始常规的插件安装,包括其中的兼容性检查和注册表检查;未经确认不会安装任何内容。
34
+
35
+ 选择卡片会打开插件页面。**版本**列表显示列出的每个版本及其兼容性,并为 DSH 接受的任何版本提供**安装**,包括旧版本和预发布版本。显示**已安装**、**有新版本**或**随 DSH 提供**的卡片会改为打开已安装的组合包。
36
+
37
+ 索引是第三方内容。每个插件的标题、描述、图标、作者和来源都由索引决定;DSH 检查文件格式,但不验证这些声明。只添加你信任的索引源,并在安装前核对确认框中的来源。
38
+
39
+ <a id="publish-an-index"></a>
40
+ ## 发布索引
41
+
42
+ 索引是 UTF-8 编码的 JSON 文件,默认不超过 128 MiB,以 2xx 状态码返回且不经过重定向。把它放到任意静态主机上即可,例如 GitLab Pages、GitHub Pages,或通过 https 访问的对象存储。
43
+
44
+ 图标可以内联,也可以是单独的文件。内联图标是索引中的 base64 `data:` URL;它不需要额外请求,但会使索引变大。单独的图标是一个 URL。相对图标相对于索引 URL 解析,与网页中的图片相对于页面解析的方式相同:对于位于 `https://market.example/dsh/index.json` 的索引,`"icon": "icons/foo.svg"` 会加载 `https://market.example/dsh/icons/foo.svg`。因此把索引和 `icons/` 目录并排发布,在任何主机上都能使用,无需修改文件。指向其他源(协议、主机和端口)的绝对图标 URL 必须使用 `https:`。
45
+
46
+ 下面是一个最小的索引,包含一个 npm 插件和一个来自 Git monorepo 的插件:
47
+
48
+ ```json
49
+ {
50
+ "format": 1,
51
+ "title": { "en": "Team plugins", "zh": "团队插件" },
52
+ "plugins": [
53
+ {
54
+ "name": "dsh-plugin-foo",
55
+ "title": "Foo",
56
+ "description": "Adds the foo tool",
57
+ "icon": "icons/foo.svg",
58
+ "author": "Jane Doe",
59
+ "homepage": "https://github.com/jane/dsh-plugin-foo#readme",
60
+ "repository": { "url": "https://github.com/jane/dsh-plugin-foo" },
61
+ "versions": [
62
+ { "version": "1.1.0", "publishTimestamp": 1790476800, "source": { "type": "npm" }, "engines": { "dsh": ">=0.2.0-rc.2" } },
63
+ { "version": "1.0.0", "publishTimestamp": 1788000000, "source": { "type": "npm" } }
64
+ ]
65
+ },
66
+ {
67
+ "name": "@team/dsh-bar",
68
+ "versions": [
69
+ {
70
+ "version": "0.3.0",
71
+ "publishTimestamp": 1789000000,
72
+ "source": {
73
+ "type": "git",
74
+ "url": "https://gitlab.example.com/team/dsh-plugins",
75
+ "commit": "3f9c2e1d8a4b6c0e7f1a2b3c4d5e6f708192a3b4",
76
+ "path": "packages/bar"
77
+ }
78
+ }
79
+ ]
80
+ }
81
+ ]
82
+ }
83
+ ```
84
+
85
+ 违反下列任何一条规则时,DSH 会拒绝整个索引,并在**管理索引源…**中该索引源下方显示原因及违规值的 JSON 路径。
86
+
87
+ <a id="generate-an-index"></a>
88
+ ## 用参考生成器生成索引
89
+
90
+ 仓库包含一个[参考生成器](https://github.com/deepseek-ai/deepseek-harness/blob/master/apps/plugin-market-generator/README.zh.md),可以从一份纯文本列表构建索引。每行写一个 npm 包名或 https Git 仓库 URL;空行和以 `#` 开头的行会被忽略:
91
+
92
+ ```text
93
+ @team/dsh-foo
94
+ https://gitlab.example.com/team/dsh-plugins
95
+ ```
96
+
97
+ 在 DSH 代码仓库中运行它:
98
+
99
+ ```sh
100
+ pnpm --filter @deepseek-ai/dsh-plugin-market-generator start --input plugins.txt --output site/index.json --title "Team plugins"
101
+ ```
102
+
103
+ 对于 npm 包,索引列出所有未弃用、未设为私有且声明了 `dsh.bundle` 的版本。对于 Git 仓库,生成器在默认分支上查找 `package.json` 没有设置 `"private": true` 的组合包,列出它们在 `vX.Y.Z`、`X.Y.Z` 和 `<name>@X.Y.Z` 标签处的版本,以及每个包在默认分支上的版本。标题、描述、图标、作者和主页取自每个插件的最高版本。路径相对于你运行 pnpm 的目录。
104
+
105
+ 生成器只下载和读取文件,从不安装包或运行其代码。它在列表旁的 `.plugin-market-cache` 中保存包数据,并复用未变更的版本和提交。每次运行仍会读取源文档或 Git 引用,并刷新已启用的指标;不可用的指标值会被省略。设置 `GITHUB_TOKEN` 以采集 GitHub star 数;没有非空白令牌时,不会发起 GitHub 指标请求,也不会输出 `github_stars`,但 npm 周下载量仍保持启用。按上文所述发布输出目录,即 `index.json` 及其 `icons/` 目录。
106
+
107
+ <a id="index-format"></a>
108
+ ## 索引格式参考
109
+
110
+ 标为 `LocalizedText` 的文本字段是字符串,或以小写语言 id 为键的字符串对象,例如 `{ "en": "Foo", "zh": "甲" }`;对象必须包含 `en`。DSH 在每一层都忽略未知的对象字段。已知字段和 `source.type` 仍须具有有效值;声明映射、本地化文本映射和插件排序值映射中的键作为数据进行校验。
111
+
112
+ | 索引字段 | 必填 | 含义 |
113
+ |---|---|---|
114
+ | `format` | 是 | `1`。 |
115
+ | `title`、`description` | 仅 `title` | 索引名称和描述,类型为 `LocalizedText`。 |
116
+ | `metadata.categories`、`metadata.labels` | 否 | 将 id 映射为 `{ "title": LocalizedText }` 的对象。 |
117
+ | `metadata.sortKeys` | 否 | 将 id 映射为 `{ "title": LocalizedText, "order": "asc" \| "desc" }` 的对象;`order` 是初始方向。 |
118
+ | `plugins` | 是 | 按发布者的默认顺序排列的插件;客户端必须在初次展示和筛选时保留此数组顺序,除非用户选择其他排序方式,或文本搜索按相关性排序。 |
119
+
120
+ | 插件字段 | 必填 | 含义 |
121
+ |---|---|---|
122
+ | `name` | 是 | npm 包名,在索引内唯一。 |
123
+ | `title`、`description` | 否 | `LocalizedText`;没有标题时卡片显示 `name`。 |
124
+ | `icon` | 否 | 内联 `data:` URL(SVG、PNG、JPEG 或 WebP,不超过 32 KiB)或 URL,见上文。 |
125
+ | `author` | 否 | 显示文本。 |
126
+ | `homepage` | 否 | 介绍该插件的页面的绝对 `https:` 或 `http:` URL;插件页面会链接到它。 |
127
+ | `repository` | 否 | `{ "url": string, "directory"?: string }`:源代码仓库的网页,以及包在其中的目录。插件页面以**源代码**链接到它。 |
128
+ | `metadata.category` | 否 | 一个已声明的分类 id。 |
129
+ | `metadata.labels` | 否 | 已声明的标签 id。 |
130
+ | `metadata.sortKeys` | 否 | 将已声明的排序键 id 映射为有限数值的对象;不可用时值为 `null`。 |
131
+ | `versions` | 是 | 至少一个版本,顺序不限。 |
132
+
133
+ 插件可以省略 `metadata`、其中的任意字段或单个排序值,也可以用 `null` 表示数据不可用。无论升序还是降序,缺失值都排在最后;实际的零是有效值,不是缺失数据。建议采用的统一定义是:`github_stars` 表示仓库的 GitHub star 数,`npm_weekly_downloads` 表示公共 npm 包在 npm `last-week` 时间窗口内的下载量。两者均为非负整数;周下载量不是月下载量。发布者使用这些键时,在根级 `metadata.sortKeys` 中声明,并在各插件的 `metadata.sortKeys` 中填入可用值。其他已声明的数值键仍受支持。
134
+
135
+ | 版本字段 | 必填 | 含义 |
136
+ |---|---|---|
137
+ | `version` | 是 | 精确的 SemVer 版本,在插件内唯一。 |
138
+ | `publishTimestamp` | 是 | 发布时间,Unix 秒。 |
139
+ | `source` | 是 | `{ "type": "npm", "registry"?: url }`,或 `{ "type": "git", "url": https-url, "commit": 40 位十六进制 SHA, "path"?: 目录 }`。 |
140
+ | `engines.dsh` | 否 | 该版本可运行的 DSH 版本的 SemVer 范围;缺省表示任意版本。 |
141
+
142
+ DSH 将 npm 版本安装为 `name@version`,存在 `registry` 时先询问它;将 Git 版本安装为 `git+<url>.git#<commit>`,包位于子目录时追加 `&path:/<path>`。`engines.dsh` 应与包自身的 `engines.dsh` 一致,DSH 会在安装时再次检查;没有该字段的包改为按其 `@deepseek-ai/dsh*` peer 依赖检查。[格式说明](https://github.com/deepseek-ai/deepseek-harness/blob/master/.agents/notes/implemented/feature/2026-10-02-plugin-market-index-format.zh.md)定义了全部规则。
143
+
144
+ <a id="further-exploration"></a>
145
+ ## 延伸阅读
146
+
147
+ - [「发现」标签页参考](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plugin-market/README.zh.md)说明该标签页的控件和状态。
148
+ - [插件索引服务](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/boot/plugin-market/README.zh.md)说明获取限制、缓存和 `plugin_market` 工具。
149
+ - [索引校验器](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/plugin-market-index/README.zh.md)是生成器可以用来在发布前检查索引的库。
150
+
151
+ ## 开发备注
152
+
153
+ 无。