@toddzheng024/dscode-desktop 0.0.0-stage → 0.7.33

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 (484) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +120 -2
  3. package/THIRD_PARTY_NOTICES.md +30 -0
  4. package/bin/apply_patch +9 -0
  5. package/cordis.patch.yml +433 -0
  6. package/docs/CHANGELOG.md +641 -0
  7. package/docs/account-login.md +44 -0
  8. package/docs/auto-review.md +128 -0
  9. package/docs/browser-use.md +783 -0
  10. package/docs/computer-use.md +81 -0
  11. package/docs/custom-providers.md +88 -0
  12. package/docs/demo.md +76 -0
  13. package/docs/distribution.md +58 -0
  14. package/docs/dscode-ultra.md +75 -0
  15. package/docs/email.md +296 -0
  16. package/docs/exec.md +40 -0
  17. package/docs/hub-distribution.md +190 -0
  18. package/docs/memory.md +121 -0
  19. package/docs/opencode-go.md +61 -0
  20. package/docs/plugin-hub.md +68 -0
  21. package/docs/releases/0.2.0.md +28 -0
  22. package/docs/releases/0.3.0.md +21 -0
  23. package/docs/releases/0.4.0.md +20 -0
  24. package/docs/releases/0.5.0.md +19 -0
  25. package/docs/releases/0.6.0.md +20 -0
  26. package/docs/releases/0.7.0.md +22 -0
  27. package/docs/releases/0.7.1.md +20 -0
  28. package/docs/releases/0.7.10.md +10 -0
  29. package/docs/releases/0.7.11.md +17 -0
  30. package/docs/releases/0.7.12.md +11 -0
  31. package/docs/releases/0.7.13.md +12 -0
  32. package/docs/releases/0.7.14.md +11 -0
  33. package/docs/releases/0.7.15.md +11 -0
  34. package/docs/releases/0.7.16.md +10 -0
  35. package/docs/releases/0.7.17.md +12 -0
  36. package/docs/releases/0.7.18.md +13 -0
  37. package/docs/releases/0.7.19.md +8 -0
  38. package/docs/releases/0.7.2.md +19 -0
  39. package/docs/releases/0.7.20.md +10 -0
  40. package/docs/releases/0.7.21.md +9 -0
  41. package/docs/releases/0.7.22.md +11 -0
  42. package/docs/releases/0.7.23.md +14 -0
  43. package/docs/releases/0.7.24.md +11 -0
  44. package/docs/releases/0.7.25.md +8 -0
  45. package/docs/releases/0.7.26.md +18 -0
  46. package/docs/releases/0.7.27.md +8 -0
  47. package/docs/releases/0.7.28.md +22 -0
  48. package/docs/releases/0.7.29.md +12 -0
  49. package/docs/releases/0.7.3.md +23 -0
  50. package/docs/releases/0.7.30.md +19 -0
  51. package/docs/releases/0.7.31.md +14 -0
  52. package/docs/releases/0.7.32.md +14 -0
  53. package/docs/releases/0.7.33.md +30 -0
  54. package/docs/releases/0.7.4.md +16 -0
  55. package/docs/releases/0.7.5.md +18 -0
  56. package/docs/releases/0.7.6.md +29 -0
  57. package/docs/releases/0.7.7.md +36 -0
  58. package/docs/releases/0.7.8.md +14 -0
  59. package/docs/releases/0.7.9.md +15 -0
  60. package/docs/session-bridge.md +80 -0
  61. package/docs/session-cards.md +53 -0
  62. package/docs/session-communication.md +186 -0
  63. package/docs/session-metrics.md +41 -0
  64. package/docs/skills.md +81 -0
  65. package/docs/triggers.md +338 -0
  66. package/docs/tui-commands.md +204 -0
  67. package/extensions/browser/manifest.json +22 -0
  68. package/extensions/browser/popup.css +6 -0
  69. package/extensions/browser/popup.html +11 -0
  70. package/extensions/browser/popup.mjs +47 -0
  71. package/extensions/browser/protocol.mjs +168 -0
  72. package/extensions/browser/worker.mjs +94 -0
  73. package/icon.svg +7 -0
  74. package/locale/en.json +6 -0
  75. package/locale/zh-cn.json +6 -0
  76. package/node_modules/@deepseek-ai/node-addon-system/LICENSE +21 -0
  77. package/node_modules/@deepseek-ai/node-addon-system/README.i18n.yaml +6 -0
  78. package/node_modules/@deepseek-ai/node-addon-system/README.md +15 -0
  79. package/node_modules/@deepseek-ai/node-addon-system/README.zh.md +15 -0
  80. package/node_modules/@deepseek-ai/node-addon-system/lib/flock.d.ts +13 -0
  81. package/node_modules/@deepseek-ai/node-addon-system/lib/flock.js +51 -0
  82. package/node_modules/@deepseek-ai/node-addon-system/lib/index.d.ts +73 -0
  83. package/node_modules/@deepseek-ai/node-addon-system/lib/index.js +98 -0
  84. package/node_modules/@deepseek-ai/node-addon-system/package.json +45 -0
  85. package/node_modules/@deepseek-ai/node-addon-system/src/flock.c +164 -0
  86. package/node_modules/@deepseek-ai/node-addon-system/src/main.c +298 -0
  87. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/LICENSE +28 -0
  88. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.i18n.yaml +6 -0
  89. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.md +9 -0
  90. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/README.zh.md +9 -0
  91. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/bin/system.node +0 -0
  92. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/package.json +31 -0
  93. package/node_modules/@deepseek-ai/node-addon-system-darwin-arm64/prebuilds.json +6 -0
  94. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/LICENSE +28 -0
  95. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.i18n.yaml +6 -0
  96. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.md +9 -0
  97. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/README.zh.md +9 -0
  98. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/bin/system.node +0 -0
  99. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/package.json +31 -0
  100. package/node_modules/@deepseek-ai/node-addon-system-darwin-x64/prebuilds.json +6 -0
  101. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/LICENSE +28 -0
  102. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.i18n.yaml +6 -0
  103. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.md +11 -0
  104. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/README.zh.md +11 -0
  105. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/glibc/system.node +0 -0
  106. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/landlock-run +0 -0
  107. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/bin/musl/system.node +0 -0
  108. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/package.json +31 -0
  109. package/node_modules/@deepseek-ai/node-addon-system-linux-arm64/prebuilds.json +24 -0
  110. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/LICENSE +28 -0
  111. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.i18n.yaml +6 -0
  112. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.md +11 -0
  113. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/README.zh.md +11 -0
  114. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/glibc/system.node +0 -0
  115. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/landlock-run +0 -0
  116. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/bin/musl/system.node +0 -0
  117. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/package.json +31 -0
  118. package/node_modules/@deepseek-ai/node-addon-system-linux-x64/prebuilds.json +24 -0
  119. package/package.json +156 -4
  120. package/plugins/account/index.mjs +178 -0
  121. package/plugins/account/state.mjs +123 -0
  122. package/plugins/auto-review/audit.mjs +24 -0
  123. package/plugins/auto-review/index.mjs +267 -0
  124. package/plugins/auto-review/policy.mjs +92 -0
  125. package/plugins/browser/SKILL.md +158 -0
  126. package/plugins/browser/access.mjs +143 -0
  127. package/plugins/browser/config.mjs +60 -0
  128. package/plugins/browser/connection.mjs +385 -0
  129. package/plugins/browser/desktop-client.mjs +282 -0
  130. package/plugins/browser/desktop-host.mjs +74 -0
  131. package/plugins/browser/document-identity.mjs +57 -0
  132. package/plugins/browser/extension-relay.mjs +66 -0
  133. package/plugins/browser/files.mjs +32 -0
  134. package/plugins/browser/index.mjs +235 -0
  135. package/plugins/browser/mcp-entry.mjs +18 -0
  136. package/plugins/browser/mcp-tools.mjs +21 -0
  137. package/plugins/browser/presentation.mjs +45 -0
  138. package/plugins/browser/preview.mjs +77 -0
  139. package/plugins/browser/review.mjs +20 -0
  140. package/plugins/browser/screenshots.mjs +35 -0
  141. package/plugins/clipboard-image/clipboard-image.swift +56 -0
  142. package/plugins/clipboard-image/index.mjs +70 -0
  143. package/plugins/code-review/baseline.mjs +143 -0
  144. package/plugins/code-review/git.mjs +163 -0
  145. package/plugins/code-review/index.mjs +236 -0
  146. package/plugins/compaction/engine.mjs +304 -0
  147. package/plugins/compaction/tetris.mjs +65 -0
  148. package/plugins/compaction/threshold.mjs +98 -0
  149. package/plugins/computer-use/DESKTOP-SKILL.md +64 -0
  150. package/plugins/computer-use/desktop-host.mjs +75 -0
  151. package/plugins/computer-use/desktop-skill.mjs +28 -0
  152. package/plugins/computer-use/desktop-upstream.mjs +3 -0
  153. package/plugins/computer-use/index.mjs +37 -0
  154. package/plugins/cordis-config/plain.mjs +31 -0
  155. package/plugins/credentials/index.mjs +73 -0
  156. package/plugins/custom/adapter.mjs +110 -0
  157. package/plugins/custom/config.mjs +85 -0
  158. package/plugins/custom/desktop-client.mjs +150 -0
  159. package/plugins/custom/desktop-host.mjs +78 -0
  160. package/plugins/custom/images.mjs +32 -0
  161. package/plugins/custom/index.mjs +145 -0
  162. package/plugins/custom/wire.mjs +179 -0
  163. package/plugins/desktop/client.mjs +1041 -0
  164. package/plugins/desktop/index.mjs +10 -0
  165. package/plugins/desktop/shell-environment.mjs +9 -0
  166. package/plugins/desktop-workspace/hooks.mjs +29 -0
  167. package/plugins/desktop-workspace/index.mjs +37 -0
  168. package/plugins/dscode/board.mjs +260 -0
  169. package/plugins/dscode/child-target.mjs +11 -0
  170. package/plugins/dscode/control.mjs +17 -0
  171. package/plugins/dscode/desktop-client.mjs +55 -0
  172. package/plugins/dscode/desktop-host.mjs +37 -0
  173. package/plugins/dscode/index.mjs +270 -0
  174. package/plugins/email/cli.mjs +32 -0
  175. package/plugins/email/contacts.mjs +36 -0
  176. package/plugins/email/desktop-client.mjs +117 -0
  177. package/plugins/email/desktop-host.mjs +54 -0
  178. package/plugins/email/desktop-service.mjs +106 -0
  179. package/plugins/email/gmail-oauth.mjs +69 -0
  180. package/plugins/email/gmail-store.mjs +2 -0
  181. package/plugins/email/gmail.mjs +194 -0
  182. package/plugins/email/imap.mjs +136 -0
  183. package/plugins/email/inbox.d.mts +25 -0
  184. package/plugins/email/inbox.mjs +76 -0
  185. package/plugins/email/smtp.mjs +70 -0
  186. package/plugins/email/store.mjs +32 -0
  187. package/plugins/email-tools/index.mjs +46 -0
  188. package/plugins/exec/cli.mjs +64 -0
  189. package/plugins/exec/index.mjs +112 -0
  190. package/plugins/grok/adapter.mjs +114 -0
  191. package/plugins/grok/auth.mjs +76 -0
  192. package/plugins/grok/billing.mjs +146 -0
  193. package/plugins/grok/index.mjs +122 -0
  194. package/plugins/grok/models.mjs +129 -0
  195. package/plugins/grok/status.mjs +28 -0
  196. package/plugins/grok/wire.mjs +268 -0
  197. package/plugins/hub/catalog.mjs +82 -0
  198. package/plugins/hub/desktop-client.mjs +114 -0
  199. package/plugins/hub/desktop-host.mjs +129 -0
  200. package/plugins/i18n/messages.d.mts +21 -0
  201. package/plugins/i18n/messages.mjs +537 -0
  202. package/plugins/jev/approval.mjs +131 -0
  203. package/plugins/jev/client.mjs +74 -0
  204. package/plugins/jev/index.mjs +99 -0
  205. package/plugins/memory/content.mjs +57 -0
  206. package/plugins/memory/desktop-host.mjs +3 -0
  207. package/plugins/memory/index.mjs +168 -0
  208. package/plugins/memory/pipeline.mjs +79 -0
  209. package/plugins/memory/store.mjs +93 -0
  210. package/plugins/message-source/kind.mjs +20 -0
  211. package/plugins/opencode-go/adapter.mjs +96 -0
  212. package/plugins/opencode-go/command.mjs +128 -0
  213. package/plugins/opencode-go/index.mjs +120 -0
  214. package/plugins/opencode-go/models.mjs +58 -0
  215. package/plugins/opencode-go/oauth.mjs +194 -0
  216. package/plugins/opencode-go/search.mjs +86 -0
  217. package/plugins/opencode-go/usage.mjs +119 -0
  218. package/plugins/opencode-go/version.mjs +10 -0
  219. package/plugins/opencode-go/wire.mjs +73 -0
  220. package/plugins/openrouter/adapter.mjs +232 -0
  221. package/plugins/openrouter/index.mjs +123 -0
  222. package/plugins/openrouter/models.mjs +157 -0
  223. package/plugins/openrouter/search.mjs +113 -0
  224. package/plugins/openrouter/wire.mjs +101 -0
  225. package/plugins/providers/catalog.mjs +160 -0
  226. package/plugins/providers/chat-messages.mjs +120 -0
  227. package/plugins/providers/chat-stream.mjs +174 -0
  228. package/plugins/providers/desktop-client.mjs +84 -0
  229. package/plugins/providers/desktop-host.mjs +63 -0
  230. package/plugins/providers/effort.mjs +35 -0
  231. package/plugins/providers/http-errors.mjs +50 -0
  232. package/plugins/providers/openrouter-account.mjs +171 -0
  233. package/plugins/session-bridge/client.mjs +106 -0
  234. package/plugins/session-bridge/communication.mjs +260 -0
  235. package/plugins/session-bridge/index.mjs +68 -0
  236. package/plugins/session-bridge/mailbox.mjs +267 -0
  237. package/plugins/session-bridge/paths.mjs +21 -0
  238. package/plugins/session-bridge/server.mjs +172 -0
  239. package/plugins/session-bridge/tasks.mjs +229 -0
  240. package/plugins/session-cards/content.mjs +64 -0
  241. package/plugins/session-cards/index.mjs +38 -0
  242. package/plugins/session-cards/manager.mjs +140 -0
  243. package/plugins/session-metrics/attribution.mjs +30 -0
  244. package/plugins/session-metrics/balance.mjs +81 -0
  245. package/plugins/session-metrics/desktop-client.mjs +62 -0
  246. package/plugins/session-metrics/desktop-host.mjs +46 -0
  247. package/plugins/session-metrics/index.mjs +96 -0
  248. package/plugins/session-metrics/pricing.mjs +84 -0
  249. package/plugins/session-metrics/rate.mjs +59 -0
  250. package/plugins/session-metrics/store.mjs +75 -0
  251. package/plugins/session-metrics/turns.mjs +134 -0
  252. package/plugins/session-metrics/view.mjs +271 -0
  253. package/plugins/time-marks/desktop-host.mjs +2 -0
  254. package/plugins/time-marks/index.mjs +116 -0
  255. package/plugins/time-marks/marks.mjs +152 -0
  256. package/plugins/triggers/cli.mjs +558 -0
  257. package/plugins/triggers/commands.mjs +143 -0
  258. package/plugins/triggers/config.mjs +264 -0
  259. package/plugins/triggers/desktop-client.mjs +155 -0
  260. package/plugins/triggers/desktop-host.mjs +88 -0
  261. package/plugins/triggers/desktop-management.mjs +97 -0
  262. package/plugins/triggers/desktop-scheduler.mjs +125 -0
  263. package/plugins/triggers/host.mjs +24 -0
  264. package/plugins/triggers/index.mjs +27 -0
  265. package/plugins/triggers/job-cli.mjs +110 -0
  266. package/plugins/triggers/jobs.mjs +156 -0
  267. package/plugins/triggers/launchd.mjs +101 -0
  268. package/plugins/triggers/lease.mjs +24 -0
  269. package/plugins/triggers/log.mjs +104 -0
  270. package/plugins/triggers/management.mjs +181 -0
  271. package/plugins/triggers/options.mjs +117 -0
  272. package/plugins/triggers/overlay.mjs +7 -0
  273. package/plugins/triggers/poll.mjs +65 -0
  274. package/plugins/triggers/run.mjs +157 -0
  275. package/plugins/triggers/schedule.mjs +40 -0
  276. package/plugins/triggers/scheduler-service.mjs +46 -0
  277. package/plugins/triggers/scheduler.mjs +92 -0
  278. package/plugins/triggers/session-run.mjs +125 -0
  279. package/plugins/triggers/session.mjs +48 -0
  280. package/plugins/triggers/source-emit.mjs +19 -0
  281. package/plugins/triggers/source-host.mjs +78 -0
  282. package/plugins/triggers/source-ingress.mjs +70 -0
  283. package/plugins/triggers/source-sandbox.mjs +35 -0
  284. package/plugins/triggers/sources.mjs +45 -0
  285. package/plugins/triggers/spool.mjs +145 -0
  286. package/plugins/triggers/tools.mjs +67 -0
  287. package/plugins/triggers/unattended.mjs +18 -0
  288. package/plugins/tui-tools/composition.mjs +28 -0
  289. package/plugins/tui-tools/desktop-host.mjs +2 -0
  290. package/plugins/tui-tools/doctor-cli.mjs +22 -0
  291. package/plugins/tui-tools/doctor.mjs +148 -0
  292. package/plugins/tui-tools/hook-sources.mjs +113 -0
  293. package/plugins/tui-tools/hooks.mjs +23 -0
  294. package/plugins/tui-tools/index.mjs +268 -0
  295. package/plugins/tui-tools/sandbox-runner.mjs +123 -0
  296. package/plugins/tui-tools/shell.mjs +27 -0
  297. package/plugins/tui-tools/update.mjs +111 -0
  298. package/plugins/tui-tools/workspace-discovery.mjs +129 -0
  299. package/plugins/ultra/policy.mjs +42 -0
  300. package/plugins/worktree-subagent/worktree.mjs +56 -0
  301. package/runtime-sources.json +94 -0
  302. package/vendor/bash/LICENSE +21 -0
  303. package/vendor/bash/index.js +717 -0
  304. package/vendor/bash/types/background.d.ts +50 -0
  305. package/vendor/bash/types/index.d.ts +38 -0
  306. package/vendor/bash/types/render.d.ts +57 -0
  307. package/vendor/command-goal/LICENSE +21 -0
  308. package/vendor/command-goal/index.js +210 -0
  309. package/vendor/command-goal/types/index.d.ts +10 -0
  310. package/vendor/computer-use/LICENSE +21 -0
  311. package/vendor/computer-use/lib/approval-policy.js +12 -0
  312. package/vendor/computer-use/lib/approval-policy.js.map +1 -0
  313. package/vendor/computer-use/lib/artifacts.js +79 -0
  314. package/vendor/computer-use/lib/artifacts.js.map +1 -0
  315. package/vendor/computer-use/lib/backend.js +3 -0
  316. package/vendor/computer-use/lib/backend.js.map +1 -0
  317. package/vendor/computer-use/lib/client.js +369 -0
  318. package/vendor/computer-use/lib/client.js.map +1 -0
  319. package/vendor/computer-use/lib/config.js +159 -0
  320. package/vendor/computer-use/lib/config.js.map +1 -0
  321. package/vendor/computer-use/lib/confirmations.js +99 -0
  322. package/vendor/computer-use/lib/confirmations.js.map +1 -0
  323. package/vendor/computer-use/lib/diff.js +58 -0
  324. package/vendor/computer-use/lib/diff.js.map +1 -0
  325. package/vendor/computer-use/lib/errors.js +22 -0
  326. package/vendor/computer-use/lib/errors.js.map +1 -0
  327. package/vendor/computer-use/lib/exposure.js +244 -0
  328. package/vendor/computer-use/lib/exposure.js.map +1 -0
  329. package/vendor/computer-use/lib/index.js +66 -0
  330. package/vendor/computer-use/lib/index.js.map +1 -0
  331. package/vendor/computer-use/lib/leases.js +262 -0
  332. package/vendor/computer-use/lib/leases.js.map +1 -0
  333. package/vendor/computer-use/lib/providers/macos.js +243 -0
  334. package/vendor/computer-use/lib/providers/macos.js.map +1 -0
  335. package/vendor/computer-use/lib/providers/native-helper.js +726 -0
  336. package/vendor/computer-use/lib/providers/native-helper.js.map +1 -0
  337. package/vendor/computer-use/lib/providers/unsupported.js +51 -0
  338. package/vendor/computer-use/lib/providers/unsupported.js.map +1 -0
  339. package/vendor/computer-use/lib/service.js +608 -0
  340. package/vendor/computer-use/lib/service.js.map +1 -0
  341. package/vendor/computer-use/lib/skill.js +136 -0
  342. package/vendor/computer-use/lib/skill.js.map +1 -0
  343. package/vendor/computer-use/lib/target-resolver.js +180 -0
  344. package/vendor/computer-use/lib/target-resolver.js.map +1 -0
  345. package/vendor/computer-use/lib/tools.js +511 -0
  346. package/vendor/computer-use/lib/tools.js.map +1 -0
  347. package/vendor/computer-use/lib/types/approval-policy.d.ts +13 -0
  348. package/vendor/computer-use/lib/types/approval-policy.d.ts.map +1 -0
  349. package/vendor/computer-use/lib/types/artifacts.d.ts +10 -0
  350. package/vendor/computer-use/lib/types/artifacts.d.ts.map +1 -0
  351. package/vendor/computer-use/lib/types/backend.d.ts +124 -0
  352. package/vendor/computer-use/lib/types/backend.d.ts.map +1 -0
  353. package/vendor/computer-use/lib/types/client/index.d.ts +83 -0
  354. package/vendor/computer-use/lib/types/client/index.d.ts.map +1 -0
  355. package/vendor/computer-use/lib/types/config.d.ts +94 -0
  356. package/vendor/computer-use/lib/types/config.d.ts.map +1 -0
  357. package/vendor/computer-use/lib/types/confirmations.d.ts +23 -0
  358. package/vendor/computer-use/lib/types/confirmations.d.ts.map +1 -0
  359. package/vendor/computer-use/lib/types/diff.d.ts +5 -0
  360. package/vendor/computer-use/lib/types/diff.d.ts.map +1 -0
  361. package/vendor/computer-use/lib/types/errors.d.ts +15 -0
  362. package/vendor/computer-use/lib/types/errors.d.ts.map +1 -0
  363. package/vendor/computer-use/lib/types/exposure.d.ts +30 -0
  364. package/vendor/computer-use/lib/types/exposure.d.ts.map +1 -0
  365. package/vendor/computer-use/lib/types/index.d.ts +21 -0
  366. package/vendor/computer-use/lib/types/index.d.ts.map +1 -0
  367. package/vendor/computer-use/lib/types/leases.d.ts +81 -0
  368. package/vendor/computer-use/lib/types/leases.d.ts.map +1 -0
  369. package/vendor/computer-use/lib/types/providers/macos.d.ts +39 -0
  370. package/vendor/computer-use/lib/types/providers/macos.d.ts.map +1 -0
  371. package/vendor/computer-use/lib/types/providers/native-helper.d.ts +48 -0
  372. package/vendor/computer-use/lib/types/providers/native-helper.d.ts.map +1 -0
  373. package/vendor/computer-use/lib/types/providers/unsupported.d.ts +23 -0
  374. package/vendor/computer-use/lib/types/providers/unsupported.d.ts.map +1 -0
  375. package/vendor/computer-use/lib/types/service.d.ts +58 -0
  376. package/vendor/computer-use/lib/types/service.d.ts.map +1 -0
  377. package/vendor/computer-use/lib/types/skill.d.ts +14 -0
  378. package/vendor/computer-use/lib/types/skill.d.ts.map +1 -0
  379. package/vendor/computer-use/lib/types/target-resolver.d.ts +38 -0
  380. package/vendor/computer-use/lib/types/target-resolver.d.ts.map +1 -0
  381. package/vendor/computer-use/lib/types/tools.d.ts +6 -0
  382. package/vendor/computer-use/lib/types/tools.d.ts.map +1 -0
  383. package/vendor/computer-use/lib/types/types.d.ts +270 -0
  384. package/vendor/computer-use/lib/types/types.d.ts.map +1 -0
  385. package/vendor/computer-use/lib/types/web.d.ts +33 -0
  386. package/vendor/computer-use/lib/types/web.d.ts.map +1 -0
  387. package/vendor/computer-use/lib/types.js +9 -0
  388. package/vendor/computer-use/lib/types.js.map +1 -0
  389. package/vendor/computer-use/lib/web.js +188 -0
  390. package/vendor/computer-use/lib/web.js.map +1 -0
  391. package/vendor/computer-use/native/macos/Sources/Fixture/main.swift +412 -0
  392. package/vendor/computer-use/native/macos/Sources/Helper/CursorImage.swift +11 -0
  393. package/vendor/computer-use/native/macos/Sources/Helper/CursorMotion.swift +67 -0
  394. package/vendor/computer-use/native/macos/Sources/Helper/CursorOverlay.swift +840 -0
  395. package/vendor/computer-use/native/macos/Sources/Helper/TargetedPointer.swift +327 -0
  396. package/vendor/computer-use/native/macos/Sources/Helper/WindowNumberMatcher.swift +29 -0
  397. package/vendor/computer-use/native/macos/Sources/Helper/main.swift +1244 -0
  398. package/vendor/computer-use/native/macos/Sources/Monitor/main.swift +153 -0
  399. package/vendor/computer-use/native/macos/bin/dsh-computer-use-helper +0 -0
  400. package/vendor/computer-use/native/macos/manifest.json +14 -0
  401. package/vendor/persistent/LICENSE +21 -0
  402. package/vendor/persistent/index.js +411 -0
  403. package/vendor/persistent/types/index.d.ts +24 -0
  404. package/vendor/subagent/LICENSE +21 -0
  405. package/vendor/subagent/index.js +694 -0
  406. package/vendor/subagent/invariant.js +52 -0
  407. package/vendor/subagent/model-selection-settings.js +68 -0
  408. package/vendor/subagent/types/index.d.ts +82 -0
  409. package/vendor/subagent/types/invariant.d.ts +16 -0
  410. package/vendor/subagent/types/list-models.d.ts +10 -0
  411. package/vendor/subagent/types/model-selection-settings.d.ts +45 -0
  412. package/vendor/subagent/types/model-selection-state.d.ts +48 -0
  413. package/vendor/subagent/types/model-selection.d.ts +81 -0
  414. package/vendor/subagent-core/LICENSE +21 -0
  415. package/vendor/subagent-core/index.js +3202 -0
  416. package/vendor/subagent-core/invariant.js +76 -0
  417. package/vendor/subagent-core/typert.host.d.ts +3 -0
  418. package/vendor/subagent-core/typert.host.js +978 -0
  419. package/vendor/subagent-core/typert.remote-client.d.ts +25 -0
  420. package/vendor/subagent-core/typert.remote-client.js +114 -0
  421. package/vendor/subagent-core/types/archive-admission.d.ts +16 -0
  422. package/vendor/subagent-core/types/archive-admission.js +151 -0
  423. package/vendor/subagent-core/types/assistant-output.d.ts +48 -0
  424. package/vendor/subagent-core/types/assistant-output.js +73 -0
  425. package/vendor/subagent-core/types/catalog.d.ts +84 -0
  426. package/vendor/subagent-core/types/catalog.js +109 -0
  427. package/vendor/subagent-core/types/child-agent.d.ts +156 -0
  428. package/vendor/subagent-core/types/child-agent.js +213 -0
  429. package/vendor/subagent-core/types/client.d.ts +8 -0
  430. package/vendor/subagent-core/types/client.js +7 -0
  431. package/vendor/subagent-core/types/continuation-activation.d.ts +267 -0
  432. package/vendor/subagent-core/types/continuation-activation.js +700 -0
  433. package/vendor/subagent-core/types/continuation-messages.d.ts +62 -0
  434. package/vendor/subagent-core/types/continuation-messages.js +106 -0
  435. package/vendor/subagent-core/types/continuation.d.ts +124 -0
  436. package/vendor/subagent-core/types/continuation.js +455 -0
  437. package/vendor/subagent-core/types/control-types.d.ts +135 -0
  438. package/vendor/subagent-core/types/control-types.js +8 -0
  439. package/vendor/subagent-core/types/control.d.ts +45 -0
  440. package/vendor/subagent-core/types/control.js +79 -0
  441. package/vendor/subagent-core/types/depth.d.ts +31 -0
  442. package/vendor/subagent-core/types/depth.js +39 -0
  443. package/vendor/subagent-core/types/descriptor.d.ts +144 -0
  444. package/vendor/subagent-core/types/descriptor.js +193 -0
  445. package/vendor/subagent-core/types/error.d.ts +11 -0
  446. package/vendor/subagent-core/types/error.js +14 -0
  447. package/vendor/subagent-core/types/inbox.d.ts +43 -0
  448. package/vendor/subagent-core/types/inbox.js +61 -0
  449. package/vendor/subagent-core/types/index.d.ts +320 -0
  450. package/vendor/subagent-core/types/index.js +475 -0
  451. package/vendor/subagent-core/types/internal.d.ts +58 -0
  452. package/vendor/subagent-core/types/internal.js +58 -0
  453. package/vendor/subagent-core/types/invariant.d.ts +13 -0
  454. package/vendor/subagent-core/types/invariant.js +91 -0
  455. package/vendor/subagent-core/types/lifecycle.d.ts +113 -0
  456. package/vendor/subagent-core/types/lifecycle.js +180 -0
  457. package/vendor/subagent-core/types/list-children.d.ts +36 -0
  458. package/vendor/subagent-core/types/list-children.js +166 -0
  459. package/vendor/subagent-core/types/out-of-process.d.ts +118 -0
  460. package/vendor/subagent-core/types/out-of-process.js +219 -0
  461. package/vendor/subagent-core/types/projection-types.d.ts +82 -0
  462. package/vendor/subagent-core/types/projection-types.js +7 -0
  463. package/vendor/subagent-core/types/projection.d.ts +100 -0
  464. package/vendor/subagent-core/types/projection.js +157 -0
  465. package/vendor/subagent-core/types/run-settlement.d.ts +17 -0
  466. package/vendor/subagent-core/types/run-settlement.js +70 -0
  467. package/vendor/subagent-core/types/types.d.ts +377 -0
  468. package/vendor/subagent-core/types/types.js +19 -0
  469. package/vendor/subagent-driver/LICENSE +21 -0
  470. package/vendor/subagent-driver/index.js +255 -0
  471. package/vendor/subagent-driver/types/index.d.ts +33 -0
  472. package/vendor/subagent-driver/types/structured.d.ts +42 -0
  473. package/vendor/subagent-fork/LICENSE +21 -0
  474. package/vendor/subagent-fork/index.js +61 -0
  475. package/vendor/subagent-fork/types/index.d.ts +20 -0
  476. package/vendor/subagent-spawn/LICENSE +21 -0
  477. package/vendor/subagent-spawn/index.js +45 -0
  478. package/vendor/subagent-spawn/types/index.d.ts +19 -0
  479. package/vendor/terminal/LICENSE +21 -0
  480. package/vendor/terminal/index.js +1093 -0
  481. package/vendor/terminal/types/config.d.ts +82 -0
  482. package/vendor/terminal/types/index.d.ts +36 -0
  483. package/vendor/terminal/types/sanitize.d.ts +47 -0
  484. package/vendor/terminal/types/session.d.ts +87 -0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Todd Zheng
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,3 +1,121 @@
1
- # Temporary Holding Version
1
+ # DSCODE for Harness Desktop
2
2
 
3
- This version is a temporary placeholder for this package. An operational version to replace this has been submitted for review and is awaiting a staged release.
3
+ DSCODE adds a coding preset, browser workflows, cross-session collaboration,
4
+ memory and task management to the official DeepSeek Harness Desktop application.
5
+
6
+ **Version:** 0.7.33 · **Harness runtime:** 0.2.0-rc.2
7
+
8
+ Preview release candidate; publication is a separate step.
9
+
10
+ This package is a Desktop extension. Install the official Harness Desktop
11
+ application first. It does not contain a standalone application, the DSCODE
12
+ terminal UI, or an automatic updater.
13
+
14
+ ## Requirements
15
+
16
+ - The exact Harness runtime shown above. A Desktop product version may differ
17
+ from its embedded runtime; check the bundled `dsh --version`.
18
+ - The currently qualified application platform is macOS 14+ on Apple Silicon.
19
+ - A configured model account or custom provider. Screenshot understanding
20
+ requires an image-capable model.
21
+ - Google Chrome for browser tasks.
22
+
23
+ Other platforms and newer Harness runtimes require separate qualification.
24
+ Do not force an installation that reports incompatible peer dependencies.
25
+
26
+ ## Install a candidate
27
+
28
+ Download the candidate `.tgz` and compare its SHA-256 with the release receipt.
29
+ In Harness Desktop, open **Plugins → Add plugin**, enter the absolute path to
30
+ the downloaded `.tgz`, install it, then choose **Enable now**.
31
+
32
+ For CLI installation, fully quit the application and use its bundled CLI,
33
+ replacing the package path with your download:
34
+
35
+ ```sh
36
+ desktop_dsh='/Applications/DeepSeek Harness.app/Contents/Resources/runtime/cli/bin/dsh'
37
+ "$desktop_dsh" plugin --profile desktop add /absolute/path/to/dscode-desktop.tgz --ignore-scripts
38
+ ```
39
+
40
+ Restart Desktop, select the **DSCODE** preset, select a workspace, and configure
41
+ the model under **Settings → DSCODE models** or **DSCODE accounts**.
42
+
43
+ Installation through the official **Plugins → Add plugin** interface was checked
44
+ on macOS Desktop 0.2.0-rc.2. Public npm installation instructions accompany a
45
+ public release; a candidate build alone does not publish a package.
46
+
47
+ ## Install a published version
48
+
49
+ After this version is available on npm, enter
50
+ `@toddzheng024/dscode-desktop@0.7.33` in **Plugins → Add plugin**,
51
+ review the installation, install, then choose **Enable now**. Using the exact
52
+ version keeps the installation tied to these instructions and compatibility
53
+ requirements. The `preview` tag tracks the current Desktop preview release.
54
+
55
+ For archive installation, download the matching `.tgz` and `.sha256`
56
+ from [GitHub Releases](https://github.com/qiz029/dscode/releases), run
57
+ `shasum -a 256 -c <downloaded-file>.tgz.sha256` in that directory, and use the
58
+ archive installation steps above. Installing its dependencies still needs
59
+ network access. A checksum mismatch means the download should not be installed.
60
+
61
+ ## Moving from the earlier private probe
62
+
63
+ Do not enable the old probe and this package together: they register the same
64
+ DSCODE components. Quit Desktop, remove the old package, then install this one:
65
+
66
+ ```sh
67
+ "$desktop_dsh" plugin --profile desktop remove @toddzheng024/dscode-desktop-preset-probe --config.ignore-scripts=true
68
+ ```
69
+
70
+ Migration from the old package name was checked separately on Desktop
71
+ 0.2.0-rc.2: removal followed by installation preserved sessions, credentials,
72
+ configuration and the user patch. Keep a backup before migrating your own state.
73
+
74
+ ## Included capabilities
75
+
76
+ - Coding tools, a persistent shell, unified-diff `apply_patch`, worktree-backed
77
+ delegation and a task board.
78
+ - Browser tools, explicit site and Developer permissions, preview and point
79
+ annotations, manual handoff and optional Chrome tab sharing.
80
+ - Custom model and account settings, session usage and cost views.
81
+ - Durable session messaging, source-backed memory and opt-in scheduling.
82
+ - Email inbox, IMAP/Gmail setup and explicit message-to-session delivery.
83
+ - Independent code review, optional automatic permission review and diagnostics.
84
+ - Plugin Hub search, categories and details, read-only conversation discovery,
85
+ and reviewed installation through the official plugin manager. Enable and
86
+ configure installed plugins in **Settings → Plugins**; see `docs/plugin-hub.md`.
87
+
88
+ Use the bundled guides under `docs/` for individual settings and boundaries.
89
+ The terminal's state directory may differ from Desktop's; sharing credentials
90
+ does not automatically share sessions or memory. Scheduling runs only while
91
+ the application remains open.
92
+
93
+ ## Qualification limits
94
+
95
+ Local native Host and official Desktop tests cover scripted execution and the
96
+ install lifecycle. They do not establish real-model task quality. The included
97
+ experimental native Computer Use adapter still needs screenshot and input
98
+ qualification with macOS Accessibility permission. General remote HTTP MCP
99
+ has separate unresolved runtime compatibility/security work; it is outside
100
+ this package's qualified browser workflow.
101
+
102
+ ## Remove or replace
103
+
104
+ Fully quit the application before using the bundled CLI to replace or remove
105
+ the package. Repeating `plugin ... add` with a compatible newer tarball replaces
106
+ the installed version. To remove:
107
+
108
+ ```sh
109
+ "$desktop_dsh" plugin --profile desktop remove @toddzheng024/dscode-desktop --config.ignore-scripts=true
110
+ ```
111
+
112
+ Restart afterward. Removal does not erase sessions, memory, or saved credentials
113
+ and does not revoke provider accounts. It removes the package's live components.
114
+
115
+ ## Source and support
116
+
117
+ [Source and issues](https://github.com/qiz029/dscode) ·
118
+ [Usage guides](https://github.com/qiz029/dscode#documentation)
119
+
120
+ DSCODE is an independent community project. Original third-party licenses and
121
+ modification notices are included in `LICENSE` and `THIRD_PARTY_NOTICES.md`.
@@ -0,0 +1,30 @@
1
+ @deepseek-ai/dsh-tool-bash@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/tool-bash"}
2
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
3
+
4
+ @deepseek-ai/dsh-tool-bash-persistent@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/shell/tool-bash-persistent"}
5
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
6
+
7
+ @deepseek-ai/dsh-terminal-bash@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/terminal/terminal-bash"}
8
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
9
+
10
+ @deepseek-ai/dsh-tool-subagent@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/subagent/tool-subagent"}
11
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
12
+
13
+ @deepseek-ai/dsh-subagent@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/subagent/subagent"}
14
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
15
+
16
+ @deepseek-ai/dsh-subagent-in-process-driver@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/subagent/subagent-in-process-driver"}
17
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
18
+
19
+ @deepseek-ai/dsh-subagent-spawn-in-process@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/subagent/subagent-spawn-in-process"}
20
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
21
+
22
+ @deepseek-ai/dsh-subagent-fork-in-process@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/subagent/subagent-fork-in-process"}
23
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
24
+
25
+ @deepseek-ai/dsh-command-goal@0.2.0-rc.2: MIT. {"type":"git","url":"git+https://github.com/deepseek-ai/deepseek-harness.git","directory":"packages/goal/command-goal"}
26
+ Local changes: DSCODE shell capture/reset, named fallback shell, child names/effort/worktrees and goal round caps.
27
+
28
+ @anionex/dsh-computer-use@0.3.3: MIT. https://github.com/Anionex/dsh-computer-use. Vendored runtime and unmodified universal macOS helper; license included. Local change: screenshot handoff uses the Host read_image tool. Desktop configuration, skill and progressive exposure are DSCODE adapters.
29
+
30
+ Bundled @deepseek-ai/node-addon-system@0.1.2 and its darwin/linux arm64/x64 prebuilds: BSD-3-Clause. Unmodified archives verified against package-lock.json; original licenses are included in each bundled package.
@@ -0,0 +1,9 @@
1
+ #!/bin/sh
2
+ # Accept a standard unified diff on stdin. Works without a Git repository.
3
+ # git apply checks all hunks before writing; --check performs a dry run.
4
+ prefix=$(git rev-parse --show-prefix 2>/dev/null) || prefix=
5
+ if [ -n "$prefix" ]; then
6
+ root=$(git rev-parse --show-toplevel 2>/dev/null) || exit 1
7
+ exec git -C "$root" apply --directory="$prefix" --whitespace=nowarn "$@"
8
+ fi
9
+ exec git apply --whitespace=nowarn "$@"
@@ -0,0 +1,433 @@
1
+ - id: credentials
2
+ disabled: true
3
+ - id: permission
4
+ config:
5
+ presets:
6
+ read-only:
7
+ sandbox: read-only
8
+ approval: ask
9
+ workspace-write:
10
+ sandbox: workspace-write
11
+ approval: ask
12
+ danger-full-access:
13
+ sandbox: danger-full-access
14
+ approval: never
15
+ auto-review:
16
+ sandbox: workspace-write
17
+ approval: ask
18
+ name: Auto review
19
+ description: Workspace writes; automatic review of eligible approval requests,
20
+ with human fallback.
21
+ ask:
22
+ sandbox: workspace-write
23
+ approval: ask
24
+ name: Ask me
25
+ - id: subagent
26
+ disabled: true
27
+ - id: subagent-spawn-in-process
28
+ disabled: true
29
+ - id: subagent-fork-in-process
30
+ disabled: true
31
+ - insert:
32
+ - id: dscode-subagent
33
+ name: "@toddzheng024/dscode-desktop/subagent-core"
34
+ - id: dscode-subagent-spawn-in-process
35
+ name: "@toddzheng024/dscode-desktop/subagent-spawn"
36
+ config:
37
+ providerName: spawn
38
+ - id: dscode-subagent-fork-in-process
39
+ name: "@toddzheng024/dscode-desktop/subagent-fork"
40
+ config:
41
+ providerName: fork
42
+ - insert:
43
+ - id: dscode-credentials
44
+ name: "@toddzheng024/dscode-desktop/credentials"
45
+ - id: dscode-desktop-workspace
46
+ name: "@toddzheng024/dscode-desktop/workspace"
47
+ - id: dscode-custom
48
+ name: "@toddzheng024/dscode-desktop/custom"
49
+ - id: dscode-desktop
50
+ name: "@toddzheng024/dscode-desktop"
51
+ - id: dscode-hub
52
+ name: "@toddzheng024/dscode-desktop/hub"
53
+ - id: dscode-openrouter
54
+ name: "@toddzheng024/dscode-desktop/openrouter"
55
+ config:
56
+ providerName: dscode-openrouter
57
+ - id: dscode-grok
58
+ name: "@toddzheng024/dscode-desktop/grok"
59
+ - id: dscode-opencode-go
60
+ name: "@toddzheng024/dscode-desktop/opencode-go"
61
+ config:
62
+ providerName: dscode-opencode-go
63
+ - id: dscode-jev
64
+ name: "@toddzheng024/dscode-desktop/jev"
65
+ - id: dscode-session-metrics
66
+ name: "@toddzheng024/dscode-desktop/session-metrics"
67
+ - id: dscode-session-cards
68
+ name: "@toddzheng024/dscode-desktop/session-cards"
69
+ - id: dscode-desktop-metrics
70
+ name: "@toddzheng024/dscode-desktop/metrics-ui"
71
+ - id: dscode-desktop-delegation
72
+ name: "@toddzheng024/dscode-desktop/delegation-ui"
73
+ - id: dscode-session-bridge
74
+ name: "@toddzheng024/dscode-desktop/session-bridge"
75
+ - id: dscode-memory
76
+ name: "@toddzheng024/dscode-desktop/memory"
77
+ - id: dscode-email
78
+ name: "@toddzheng024/dscode-desktop/email"
79
+ - id: dscode-time-marks
80
+ name: "@toddzheng024/dscode-desktop/time-marks"
81
+ - id: dscode-desktop-diagnostics
82
+ name: "@toddzheng024/dscode-desktop/diagnostics"
83
+ - id: dscode-desktop-computer-use
84
+ name: "@toddzheng024/dscode-desktop/computer-use"
85
+ config:
86
+ observationTtlMs: 30000
87
+ allowAllApps: false
88
+ interaction:
89
+ focusPolicy: preserve
90
+ keyboardPolicy: preserve
91
+ pointerInputPolicy: targeted
92
+ cursorVisualization: visible
93
+ - id: dscode-desktop-triggers
94
+ name: "@toddzheng024/dscode-desktop/triggers"
95
+ - id: dscode-browser
96
+ name: "@toddzheng024/dscode-desktop/browser"
97
+ - id: dscode-auto-review
98
+ name: "@toddzheng024/dscode-desktop/auto-review"
99
+
100
+ # The DSCODE preset: one `@deepseek-ai/dsh-agent-preset` declaration carrying the
101
+ # agent-plane composition of `presets/dscode/agent.cordis.yml`.
102
+ - insert:
103
+ - id: preset-dscode
104
+ name: '@deepseek-ai/dsh-agent-preset'
105
+ config:
106
+ id: dscode
107
+ name: "DSCODE"
108
+ description: "持久 Shell 编码环境,保留 Skills、压缩、目标、子代理与工作流。"
109
+ order: 0
110
+ plugins:
111
+ # The `dscode` agent preset: the full coding agent, mounted once per process.
112
+ #
113
+ # This file is an AGENT-PLANE composition. The roster mounts it ONCE under a
114
+ # standing scope; every session naming it joins by scope parentage, so the
115
+ # tools and prompt sections registered here cover each joined agent while a
116
+ # session's own state stays keyed per Session/Agent inside the plugins. The
117
+ # host composition (`base.cordis.yml` + `web.cordis.yml`) keeps everything a
118
+ # preset must not own: the registries themselves, the sandbox and approval
119
+ # stack, persistence, and the model route.
120
+ #
121
+ # A service row here MUST sit inside a group carrying an `isolate` realm.
122
+ # Without one it publishes into the root realm, where it is process-global —
123
+ # another preset publishing the same name collides, and a host reader would
124
+ # resolve one preset's instance for every session; the preset registry rejects
125
+ # that at mount. `true` means an entry-local realm: this standing mount's own
126
+ # private instance, apart from every other preset's. (A shared label does NOT
127
+ # pool instances — `provide()` throws on the second registration under the
128
+ # same realm symbol; labels join REALMS, and are not what this file needs.)
129
+
130
+ # ── identity ────────────────────────────────────────────────────────────────
131
+
132
+ # The preset's own persona, shadowing the deployment default for this agent.
133
+ # `{{model}}` and `{{cwd}}` resolve from the agent's own route and workspace.
134
+ - id: persona
135
+ name: '@deepseek-ai/dsh-persona'
136
+ config:
137
+ suffix: Your working directory is {{cwd}}.
138
+ prefix: >-
139
+ You are a coding agent powered by the {{model}} model, working through a persistent shell.
140
+ Reply in the language the user writes in.
141
+ Keep the user informed during tool-driven work with ordinary assistant text, visible even when verbose mode is off. Reasoning blocks and tool descriptions do not count as progress updates.
142
+ Before the first tool call, briefly state what you will check or change; for a simple answer without tools, answer directly.
143
+ During sustained work, send an update when you have something to report: a significant finding, a blocker, a change of direction, or the result of a long blocking call once control returns. Do not announce routine reads, do not claim to speak while a tool is blocking, and never pad: an update says what changed and what the next step resolves, in one or two sentences, using observable facts and decisions rather than private reasoning, raw tool payloads or a narration of every command.
144
+ Continue working after each update without asking permission for already-authorized steps. Progress text is not the final answer; finish with a self-contained result and any remaining gaps.
145
+ Before changing code, read the relevant code and any project instructions; reuse existing functions and patterns instead of adding new machinery.
146
+ Make routine judgment calls yourself and ask only when different answers would lead to materially different work.
147
+ Deliver the whole requested scope; if part of it is blocked, finish the rest and say what was left out and why.
148
+ Verify changes by running the relevant checks, and report outcomes faithfully: say when a check fails, when a step was skipped, and when something could not be verified.
149
+ Before editing, identify the requested scope and observable acceptance checks. Keep them stable unless the user changes the task or evidence shows a necessary dependency.
150
+ Once the requested behavior and required checks pass, move to delivery. Do not turn a finished task into optional optimization, refactoring or speculative hardening.
151
+ Treat review findings as claims to verify against the actual code and requirements, not automatic instructions. Fix confirmed defects affecting this task; report unrelated opportunities separately.
152
+ After a fix, rerun affected checks. Repeat broader checks only when changed behavior or a failure invalidates the earlier result; do not rerun passing suites just to feel more certain.
153
+ If a check suddenly becomes much slower, inspect the changed workload and the existing output before rerunning it. Keep test fixtures small and independent of production-sized limits.
154
+ Respect the automatic review budget. Reaching it is not proof of correctness: finish necessary fixes and focused checks, report unresolved issues honestly, and continue already-authorized delivery steps when their requirements are met.
155
+ Keep the final reply concise, lead with the outcome, and never claim work you did not do.
156
+
157
+ - id: agent-instructions
158
+ disabled: true
159
+ name: '@deepseek-ai/dsh-agent-instructions'
160
+ config:
161
+ # The launcher folds AGENTS.md/CLAUDE.md from directories above the project
162
+ # root, up to home, in front of the user-global file; without those files it
163
+ # points at $DSH_HOME, exactly as before.
164
+ dshHome: !!js 'process.env.DSCODE_INSTRUCTION_HOME'
165
+ maxBytes: 65536
166
+
167
+ - id: persistent-shell
168
+ name: cordis:group
169
+ group: true
170
+ isolate:
171
+ terminals: true
172
+ config:
173
+ - id: pty
174
+ name: '@deepseek-ai/dsh-terminal'
175
+
176
+ - id: terminal-bash
177
+ name: '@toddzheng024/dscode-desktop/terminal'
178
+ disabled: !!js process.platform === 'win32'
179
+ config:
180
+ timeoutMs: 300000
181
+
182
+ - id: persistent-bash
183
+ name: '@toddzheng024/dscode-desktop/persistent'
184
+ disabled: !!js process.platform === 'win32'
185
+ config:
186
+ timeoutMs: 300000
187
+ description: |-
188
+ Run commands in a bash shell
189
+ * When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
190
+ * Network access depends on the task environment. Prefer configured mirrors/proxies when they are available.
191
+ * State is persistent across command calls and discussions with the user.
192
+ * To inspect a particular line range of a file, e.g. lines 10-25, try 'sed -n 10,25p /path/to/the/file'.
193
+ * Please avoid commands that may produce a very large amount of output.
194
+ * Please run long lived commands in the background, e.g. 'sleep 10 &' or start a server in the background.
195
+
196
+ - id: terminal-pwsh
197
+ name: '@toddzheng024/dscode-desktop/terminal'
198
+ disabled: !!js process.platform !== 'win32'
199
+ config:
200
+ shellDialect: pwsh
201
+ timeoutMs: 300000
202
+
203
+ - id: persistent-pwsh
204
+ name: '@deepseek-ai/dsh-tool-pwsh-persistent'
205
+ disabled: !!js process.platform !== 'win32'
206
+ config:
207
+ timeoutMs: 300000
208
+ description: |-
209
+ Run commands in a PowerShell shell
210
+ * When invoking this tool, the contents of the "command" parameter does NOT need to be XML-escaped.
211
+ * You don't have access to the internet via this tool.
212
+ * State is persistent across command calls and discussions with the user.
213
+ * Use native Windows paths (C:\...) and $env:NAME variables; this is PowerShell, not bash.
214
+ * Please avoid commands that may produce a very large amount of output.
215
+ * Please run long lived commands in the background, e.g. 'Start-Job' or start a server with Start-Process.
216
+
217
+ - id: dscode-policy
218
+ name: '@toddzheng024/dscode-desktop/policy'
219
+ config: { desktop: true }
220
+
221
+ # A fresh shell for reviewed escalation. It does not inherit PTY state.
222
+ - id: shell-retry
223
+ name: '@toddzheng024/dscode-desktop/bash'
224
+ config:
225
+ toolName: shell_retry
226
+
227
+
228
+ # ── background jobs ────────────────────────────────────────────────────────
229
+
230
+ # Only the model-facing controls. The task REGISTRY stays on the host plane:
231
+ # its producers sit outside any realm this file could put it in — `tool-bash`
232
+ # above resolves it with `ctx.get`, and an entry-local realm here is invisible
233
+ # to every sibling row, so `run_in_background` would answer "background jobs
234
+ # unavailable" while these controls sat in the catalog. The registry is keyed by
235
+ # owning agent anyway, so one host instance serves every session. What a preset
236
+ # chooses is whether its agent can collect and stop background work at all.
237
+ - id: tool-jobs
238
+ name: '@deepseek-ai/dsh-tool-jobs'
239
+
240
+ # ── skills ──────────────────────────────────────────────────────────────────
241
+
242
+ # The skill REGISTRY lives in the host composition and is layered per scope:
243
+ # these rows register into THIS preset's layer of it, so they need no realm.
244
+ # `skill-filesystem` contributes local-root discovery for agents on this preset, and
245
+ # `tool-skill` gives them the catalog and loader; the merged catalog also
246
+ # carries whatever the deployment registered globally (repository plugins).
247
+ - id: skill-filesystem
248
+ disabled: true
249
+ name: '@deepseek-ai/dsh-skill-filesystem'
250
+ config:
251
+ # Ancestor skill discovery is on by default: the skill roots of directories
252
+ # between the working directory and home register at rank 300, nearest first,
253
+ # so headers enter the catalog and bodies stay lazy. =0 turns it off.
254
+ customSkillDirs: !!js 'JSON.parse(process.env.DSCODE_SKILL_ANCESTOR_DIRS ?? "[]")'
255
+
256
+ - id: tool-skill
257
+ name: '@deepseek-ai/dsh-tool-skill'
258
+
259
+ # ── goals ───────────────────────────────────────────────────────────────────
260
+
261
+ # The goal service and session driver stay on the host plane, where the Gateway
262
+ # can resolve them. The human command and model-facing tool register into this
263
+ # preset's scoped layers.
264
+ - id: command-goal
265
+ name: '@toddzheng024/dscode-desktop/command-goal'
266
+
267
+ - id: tool-goal
268
+ name: '@deepseek-ai/dsh-tool-goal'
269
+
270
+ # ── plan mode ───────────────────────────────────────────────────────────────
271
+
272
+ # Plan state is per-agent by nature, so an entry-local realm is not a
273
+ # workaround here — it is the correct lifetime.
274
+ - id: planning
275
+ name: cordis:group
276
+ group: true
277
+ isolate:
278
+ planMode: true
279
+ config:
280
+ - id: plan-mode
281
+ name: '@deepseek-ai/dsh-plan-mode'
282
+ config:
283
+ section: |
284
+ You are in plan mode. Stay in plan mode until exit_plan_mode succeeds or the user switches the session mode. Imperative language to implement changes means plan the implementation, not execute it. A user's conversational agreement — including an answer confirming something you asked — approves nothing and does not end plan mode; fold the confirmed decision into the plan and submit it through exit_plan_mode.
285
+
286
+ Explore first. Use non-mutating reads, searches, static analysis, and checks to ground the plan in the actual repository. Do not edit or write files, change configuration, run formatters or code generation that rewrites tracked files, commit, or otherwise carry out the plan. Prefer existing functions and patterns over new machinery.
287
+
288
+ The tool catalog stays the same across modes for request-cache stability. These plan-mode rules override any later tool description or guidance that suggests using mutation tools; those tools remain listed to keep the tool catalog unchanged. Do not use todo_write to track this planning phase: it tracks implementation after an approved plan, while the plan itself belongs in exit_plan_mode.
289
+
290
+ Resolve discoverable facts by inspection. Use ask_user_question only for user-owned choices or material ambiguity that inspection cannot answer. Do not ask the user where code lives or how current behavior works when you can find out.
291
+
292
+ Make the plan decision-complete: state the goal and success criteria; group implementation changes by subsystem; identify public API, schema, and data-flow changes; cover edge cases, failure modes, tests, acceptance criteria, and explicit assumptions. Keep it concise enough to review but detailed enough that another engineer can implement it without making design decisions.
293
+
294
+ When ready, call exit_plan_mode with the complete plan markdown, starting with a # title. Make exit_plan_mode the only and final tool call in that assistant response: it presents the plan for approval, and implementation begins only in a later step after approval. Do not paste the final plan as a plain reply or ask "should I proceed?" through prose or ask_user_question. If review rejects it, incorporate the feedback and present again. If the review channel is unavailable or aborted, stay in plan mode and ask the user to switch modes manually; do not proceed with implementation.
295
+
296
+ # ── compaction ──────────────────────────────────────────────────────────────
297
+
298
+ # `compaction-basic` reads `toolResultPrune` through `ctx.get`, so the pruner must
299
+ # share this realm rather than sit outside it.
300
+ #
301
+ # `tokenMeter` is deliberately NOT in this realm: the meter stays on the HOST
302
+ # plane, and the rows here resolve that one instance. It takes no configuration,
303
+ # keys every fold by Session, and owns the context-meter projection units the
304
+ # browser reads for every session — behind a realm those units would come and go
305
+ # with whichever presets happen to be mounted. What a preset chooses is whether
306
+ # its agent compacts at all, which is `compaction-basic` below.
307
+ - id: compaction
308
+ name: cordis:group
309
+ group: true
310
+ isolate:
311
+ compaction: true
312
+ toolResultPruner: true
313
+ config:
314
+ - id: compaction-basic
315
+ name: '@toddzheng024/dscode-desktop/compaction'
316
+
317
+ - id: command-compact
318
+ name: '@deepseek-ai/dsh-command-compact'
319
+
320
+ - id: tool-result-pruner
321
+ name: '@deepseek-ai/dsh-compaction-tool-result-pruner'
322
+ config:
323
+ thresholdChars: 8192
324
+ headChars: 4096
325
+ tailChars: 1024
326
+
327
+ # ── delegation and workflows ────────────────────────────────────────────────
328
+
329
+ # The `subagents` registry and its spawn/fork backends live in the HOST
330
+ # composition: the registry is a process singleton whose cross-session queries
331
+ # the api-proxy serves to the browser, and a provider name may only be
332
+ # registered once. This preset contributes the delegation TOOLS, which resolve
333
+ # that host registry.
334
+ #
335
+ # `workflows` is different — nothing outside an agent reads it — so every row
336
+ # that reaches it shares one entry-local realm here, and a consumer left
337
+ # outside would resolve a host registry this preset does not populate.
338
+ - id: delegation
339
+ name: cordis:group
340
+ group: true
341
+ isolate:
342
+ workflowEngine: true
343
+ config:
344
+ - id: tool-subagent-control
345
+ name: '@toddzheng024/dscode-desktop/control'
346
+
347
+ - id: tool-subagent-list-agents
348
+ name: '@deepseek-ai/dsh-tool-subagent-control/list-agents'
349
+
350
+ - id: tool-subagent
351
+ name: '@toddzheng024/dscode-desktop/subagent'
352
+ config:
353
+ provider: spawn
354
+ toolName: subagent
355
+ modelSelectionSettings: true
356
+ backgroundMode: continuable
357
+ maxDepth: 1
358
+
359
+ # Fork omits model selection so provider/model stay equal to the parent and
360
+ # the inherited history remains eligible for KV Cache reuse. DSCODE exposes
361
+ # reasoning_effort independently; changing effort does not select a new route.
362
+ # This preset
363
+ # keeps fork continuable; parent and child inherit the same messaging tool,
364
+ # while the parent id and return guidance follow the inherited history.
365
+ - id: tool-subagent-fork
366
+ name: '@toddzheng024/dscode-desktop/subagent'
367
+ config:
368
+ provider: fork
369
+ toolName: subagent_fork
370
+ backgroundMode: continuable
371
+ maxDepth: 1
372
+
373
+ # Production dsh does not install these optional providers. Install the
374
+ # matching Bundle in this Profile and restart the Host, then copy this
375
+ # preset and remove `disabled` from the matching tool row. Host availability
376
+ # alone grants no tool.
377
+ - id: tool-subagent-codex
378
+ name: '@toddzheng024/dscode-desktop/subagent'
379
+ disabled: true
380
+ config:
381
+ provider: codex
382
+ toolName: subagent_codex
383
+ backgroundMode: one-shot
384
+ maxDepth: provider-managed
385
+
386
+ - id: tool-subagent-claude-code
387
+ name: '@toddzheng024/dscode-desktop/subagent'
388
+ disabled: true
389
+ config:
390
+ provider: claude-code
391
+ toolName: subagent_claude_code
392
+ backgroundMode: one-shot
393
+ maxDepth: provider-managed
394
+
395
+ - id: workflow-ptc
396
+ name: '@deepseek-ai/dsh-workflow-ptc'
397
+ config:
398
+ provider: spawn
399
+
400
+ - id: tool-workflow
401
+ name: '@deepseek-ai/dsh-tool-workflow'
402
+ disabled: true
403
+
404
+ - id: tool-ralph
405
+ name: '@deepseek-ai/dsh-tool-ralph'
406
+ disabled: true
407
+ config:
408
+ subagentProvider: spawn
409
+ maxRounds: 64
410
+
411
+ # ── remaining model-facing rows ─────────────────────────────────────────────
412
+
413
+ - id: tool-ask-user
414
+ name: '@deepseek-ai/dsh-tool-ask-user'
415
+
416
+ - id: tool-todo
417
+ name: '@deepseek-ai/dsh-tool-todo'
418
+ config:
419
+ allowParallelInProgress: true
420
+
421
+ # The `web` service and its search provider stay in the host composition; only
422
+ # the model-facing tool is per-session.
423
+ - id: tool-web
424
+ name: '@deepseek-ai/dsh-tool-web'
425
+ config:
426
+ fetch: true
427
+ searchTimeoutMs: 60000
428
+
429
+ - id: code-review
430
+ name: '@toddzheng024/dscode-desktop/code-review'
431
+
432
+ - id: present
433
+ name: '@deepseek-ai/dsh-tool-present'