@jingyi0605/codingns4dsh 0.2.1-beta.5 → 0.2.1-beta.6

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 (301) hide show
  1. package/README.en.md +112 -161
  2. package/README.md +106 -263
  3. package/assets/provider-icons/doubao.png +0 -0
  4. package/data/build/dist/client/avatar/catalog-panel.d.ts +1 -1
  5. package/data/build/dist/client/avatar/catalog-panel.d.ts.map +1 -1
  6. package/data/build/dist/client/avatar/catalog-panel.js +13 -11
  7. package/data/build/dist/client/avatar/catalog-panel.js.map +1 -1
  8. package/data/build/dist/client/avatar/engine.d.ts.map +1 -1
  9. package/data/build/dist/client/avatar/engine.js +26 -7
  10. package/data/build/dist/client/avatar/engine.js.map +1 -1
  11. package/data/build/dist/client/avatar/manager.d.ts.map +1 -1
  12. package/data/build/dist/client/avatar/manager.js +5 -1
  13. package/data/build/dist/client/avatar/manager.js.map +1 -1
  14. package/data/build/dist/client/avatar/slot.d.ts.map +1 -1
  15. package/data/build/dist/client/avatar/slot.js +4 -1
  16. package/data/build/dist/client/avatar/slot.js.map +1 -1
  17. package/data/build/dist/client/bundle.js +49155 -99509
  18. package/data/build/dist/client/bundle.js.map +1 -1
  19. package/data/build/dist/client/cli-catalog.d.ts +2 -0
  20. package/data/build/dist/client/cli-catalog.d.ts.map +1 -1
  21. package/data/build/dist/client/cli-catalog.js +8 -0
  22. package/data/build/dist/client/cli-catalog.js.map +1 -1
  23. package/data/build/dist/client/cli-slots.js +2 -2
  24. package/data/build/dist/client/cli-slots.js.map +1 -1
  25. package/data/build/dist/client/client.assistant-configuration-view.js +4526 -0
  26. package/data/build/dist/client/client.assistant-configuration-view.js.map +1 -0
  27. package/data/build/dist/client/client.assistant-debug-workbench.js +764 -0
  28. package/data/build/dist/client/client.assistant-debug-workbench.js.map +1 -0
  29. package/data/build/dist/client/client.assistant-prompt-editor.js +76 -0
  30. package/data/build/dist/client/client.assistant-prompt-editor.js.map +1 -0
  31. package/data/build/dist/client/client.assistant-prompts.js +44 -0
  32. package/data/build/dist/client/client.assistant-prompts.js.map +1 -0
  33. package/data/build/dist/client/client.assistant-voice-sessions.js +144 -0
  34. package/data/build/dist/client/client.assistant-voice-sessions.js.map +1 -0
  35. package/data/build/dist/client/client.assistant-workbench.js +2929 -0
  36. package/data/build/dist/client/client.assistant-workbench.js.map +1 -0
  37. package/data/build/dist/client/client.delegate-command.js +1315 -0
  38. package/data/build/dist/client/client.delegate-command.js.map +1 -0
  39. package/data/build/dist/client/client.editor-engine.js +32486 -0
  40. package/data/build/dist/client/client.editor-engine.js.map +1 -0
  41. package/data/build/dist/client/client.manager.js +3454 -0
  42. package/data/build/dist/client/client.manager.js.map +1 -0
  43. package/data/build/dist/client/client.model-catalog-cache.js +543 -0
  44. package/data/build/dist/client/client.model-catalog-cache.js.map +1 -0
  45. package/data/build/dist/client/client.native-workspace-store.js +689 -0
  46. package/data/build/dist/client/client.native-workspace-store.js.map +1 -0
  47. package/data/build/dist/client/client.primitives-adapter.js +333 -0
  48. package/data/build/dist/client/client.primitives-adapter.js.map +1 -0
  49. package/data/build/dist/client/client.react-dom.js +7286 -0
  50. package/data/build/dist/client/client.react-dom.js.map +1 -0
  51. package/data/build/dist/client/client.rolldown-runtime.js +59 -0
  52. package/data/build/dist/client/client.theme.js +386 -0
  53. package/data/build/dist/client/client.theme.js.map +1 -0
  54. package/data/build/dist/client/client.transport.js +3323 -0
  55. package/data/build/dist/client/client.transport.js.map +1 -0
  56. package/data/build/dist/client/client.xterm-engine.js +13064 -0
  57. package/data/build/dist/client/client.xterm-engine.js.map +1 -0
  58. package/data/build/dist/client/editor-engine.d.ts +4 -0
  59. package/data/build/dist/client/editor-engine.d.ts.map +1 -0
  60. package/data/build/dist/client/editor-engine.js +50 -0
  61. package/data/build/dist/client/editor-engine.js.map +1 -0
  62. package/data/build/dist/client/engine-loader.d.ts +5 -0
  63. package/data/build/dist/client/engine-loader.d.ts.map +1 -0
  64. package/data/build/dist/client/engine-loader.js +35 -0
  65. package/data/build/dist/client/engine-loader.js.map +1 -0
  66. package/data/build/dist/client/features/assistant-configuration-loader.d.ts +14 -0
  67. package/data/build/dist/client/features/assistant-configuration-loader.d.ts.map +1 -0
  68. package/data/build/dist/client/features/assistant-configuration-loader.js +13 -0
  69. package/data/build/dist/client/features/assistant-configuration-loader.js.map +1 -0
  70. package/data/build/dist/client/features/assistant-configuration-session.d.ts.map +1 -1
  71. package/data/build/dist/client/features/assistant-configuration-session.js +13 -4
  72. package/data/build/dist/client/features/assistant-configuration-session.js.map +1 -1
  73. package/data/build/dist/client/features/assistant-configuration-view.d.ts +66 -0
  74. package/data/build/dist/client/features/assistant-configuration-view.d.ts.map +1 -0
  75. package/data/build/dist/client/features/assistant-configuration-view.js +133 -0
  76. package/data/build/dist/client/features/assistant-configuration-view.js.map +1 -0
  77. package/data/build/dist/client/features/assistant-debug-workbench.d.ts +4 -11
  78. package/data/build/dist/client/features/assistant-debug-workbench.d.ts.map +1 -1
  79. package/data/build/dist/client/features/assistant-debug-workbench.js +41 -68
  80. package/data/build/dist/client/features/assistant-debug-workbench.js.map +1 -1
  81. package/data/build/dist/client/features/assistant-display-store.d.ts +57 -0
  82. package/data/build/dist/client/features/assistant-display-store.d.ts.map +1 -0
  83. package/data/build/dist/client/features/assistant-display-store.js +189 -0
  84. package/data/build/dist/client/features/assistant-display-store.js.map +1 -0
  85. package/data/build/dist/client/features/assistant-prompt-editor.d.ts +12 -0
  86. package/data/build/dist/client/features/assistant-prompt-editor.d.ts.map +1 -0
  87. package/data/build/dist/client/features/assistant-prompt-editor.js +14 -0
  88. package/data/build/dist/client/features/assistant-prompt-editor.js.map +1 -0
  89. package/data/build/dist/client/features/assistant-view-loader.d.ts +17 -0
  90. package/data/build/dist/client/features/assistant-view-loader.d.ts.map +1 -0
  91. package/data/build/dist/client/features/assistant-view-loader.js +49 -0
  92. package/data/build/dist/client/features/assistant-view-loader.js.map +1 -0
  93. package/data/build/dist/client/features/assistant-workbench.d.ts +1 -60
  94. package/data/build/dist/client/features/assistant-workbench.d.ts.map +1 -1
  95. package/data/build/dist/client/features/assistant-workbench.js +41 -169
  96. package/data/build/dist/client/features/assistant-workbench.js.map +1 -1
  97. package/data/build/dist/client/features/cli-adapters.js +3 -7
  98. package/data/build/dist/client/features/cli-adapters.js.map +1 -1
  99. package/data/build/dist/client/features/global-voice-assistant.d.ts.map +1 -1
  100. package/data/build/dist/client/features/global-voice-assistant.js +21 -20
  101. package/data/build/dist/client/features/global-voice-assistant.js.map +1 -1
  102. package/data/build/dist/client/features/peer-host.d.ts.map +1 -1
  103. package/data/build/dist/client/features/peer-host.js +14 -25
  104. package/data/build/dist/client/features/peer-host.js.map +1 -1
  105. package/data/build/dist/client/file-management-dom.d.ts +3 -1
  106. package/data/build/dist/client/file-management-dom.d.ts.map +1 -1
  107. package/data/build/dist/client/file-management-dom.js +85 -79
  108. package/data/build/dist/client/file-management-dom.js.map +1 -1
  109. package/data/build/dist/client/locales/assistantAvatar.d.ts +1 -1
  110. package/data/build/dist/client/locales/assistantAvatar.js +2 -2
  111. package/data/build/dist/client/locales/assistantAvatar.js.map +1 -1
  112. package/data/build/dist/client/locales/fileWorkspace.d.ts.map +1 -1
  113. package/data/build/dist/client/locales/fileWorkspace.js +2 -0
  114. package/data/build/dist/client/locales/fileWorkspace.js.map +1 -1
  115. package/data/build/dist/client/peer-host-management-api.d.ts +2 -2
  116. package/data/build/dist/client/peer-host-management-api.d.ts.map +1 -1
  117. package/data/build/dist/client/peer-host-management-api.js +8 -5
  118. package/data/build/dist/client/peer-host-management-api.js.map +1 -1
  119. package/data/build/dist/client/provider-icon-assets.js +5 -39
  120. package/data/build/dist/client/provider-icon-assets.js.map +1 -1
  121. package/data/build/dist/client/provider-icon-bridge.d.ts +6 -0
  122. package/data/build/dist/client/provider-icon-bridge.d.ts.map +1 -0
  123. package/data/build/dist/client/provider-icon-bridge.js +65 -0
  124. package/data/build/dist/client/provider-icon-bridge.js.map +1 -0
  125. package/data/build/dist/client/provider-icons.d.ts +1 -0
  126. package/data/build/dist/client/provider-icons.d.ts.map +1 -1
  127. package/data/build/dist/client/provider-icons.js +2 -1
  128. package/data/build/dist/client/provider-icons.js.map +1 -1
  129. package/data/build/dist/client/remote-web-context.d.ts +2 -0
  130. package/data/build/dist/client/remote-web-context.d.ts.map +1 -1
  131. package/data/build/dist/client/remote-web-context.js +50 -2
  132. package/data/build/dist/client/remote-web-context.js.map +1 -1
  133. package/data/build/dist/client/serial-polling.d.ts +3 -1
  134. package/data/build/dist/client/serial-polling.d.ts.map +1 -1
  135. package/data/build/dist/client/serial-polling.js +10 -3
  136. package/data/build/dist/client/serial-polling.js.map +1 -1
  137. package/data/build/dist/client/settings-section.js +8 -2
  138. package/data/build/dist/client/settings-section.js.map +1 -1
  139. package/data/build/dist/client/terminal/xterm-engine.d.ts +4 -0
  140. package/data/build/dist/client/terminal/xterm-engine.d.ts.map +1 -0
  141. package/data/build/dist/client/terminal/xterm-engine.js +5 -0
  142. package/data/build/dist/client/terminal/xterm-engine.js.map +1 -0
  143. package/data/build/dist/client/terminal/xterm-view.d.ts.map +1 -1
  144. package/data/build/dist/client/terminal/xterm-view.js +33 -25
  145. package/data/build/dist/client/terminal/xterm-view.js.map +1 -1
  146. package/data/build/dist/host/avatar/temporary-previews.d.ts +3 -1
  147. package/data/build/dist/host/avatar/temporary-previews.d.ts.map +1 -1
  148. package/data/build/dist/host/avatar/temporary-previews.js +7 -2
  149. package/data/build/dist/host/avatar/temporary-previews.js.map +1 -1
  150. package/data/build/dist/host/cli-adapters/antigravity-driver.d.ts.map +1 -1
  151. package/data/build/dist/host/cli-adapters/antigravity-driver.js +2 -2
  152. package/data/build/dist/host/cli-adapters/antigravity-driver.js.map +1 -1
  153. package/data/build/dist/host/cli-adapters/binary-detection.d.ts +19 -0
  154. package/data/build/dist/host/cli-adapters/binary-detection.d.ts.map +1 -0
  155. package/data/build/dist/host/cli-adapters/binary-detection.js +71 -0
  156. package/data/build/dist/host/cli-adapters/binary-detection.js.map +1 -0
  157. package/data/build/dist/host/cli-adapters/claude-driver.d.ts +2 -0
  158. package/data/build/dist/host/cli-adapters/claude-driver.d.ts.map +1 -1
  159. package/data/build/dist/host/cli-adapters/claude-driver.js +4 -0
  160. package/data/build/dist/host/cli-adapters/claude-driver.js.map +1 -1
  161. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
  162. package/data/build/dist/host/cli-adapters/claude-model-options.js +2 -1
  163. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
  164. package/data/build/dist/host/cli-adapters/claude-process.d.ts +7 -0
  165. package/data/build/dist/host/cli-adapters/claude-process.d.ts.map +1 -0
  166. package/data/build/dist/host/cli-adapters/claude-process.js +59 -0
  167. package/data/build/dist/host/cli-adapters/claude-process.js.map +1 -0
  168. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts +3 -0
  169. package/data/build/dist/host/cli-adapters/codebuddy-driver.d.ts.map +1 -1
  170. package/data/build/dist/host/cli-adapters/codebuddy-driver.js +18 -5
  171. package/data/build/dist/host/cli-adapters/codebuddy-driver.js.map +1 -1
  172. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts +0 -1
  173. package/data/build/dist/host/cli-adapters/command-code-driver.d.ts.map +1 -1
  174. package/data/build/dist/host/cli-adapters/command-code-driver.js +6 -29
  175. package/data/build/dist/host/cli-adapters/command-code-driver.js.map +1 -1
  176. package/data/build/dist/host/cli-adapters/doubao-app.d.ts +27 -0
  177. package/data/build/dist/host/cli-adapters/doubao-app.d.ts.map +1 -0
  178. package/data/build/dist/host/cli-adapters/doubao-app.js +110 -0
  179. package/data/build/dist/host/cli-adapters/doubao-app.js.map +1 -0
  180. package/data/build/dist/host/cli-adapters/doubao-artifact-store.d.ts +16 -0
  181. package/data/build/dist/host/cli-adapters/doubao-artifact-store.d.ts.map +1 -0
  182. package/data/build/dist/host/cli-adapters/doubao-artifact-store.js +142 -0
  183. package/data/build/dist/host/cli-adapters/doubao-artifact-store.js.map +1 -0
  184. package/data/build/dist/host/cli-adapters/doubao-artifacts.d.ts +16 -0
  185. package/data/build/dist/host/cli-adapters/doubao-artifacts.d.ts.map +1 -0
  186. package/data/build/dist/host/cli-adapters/doubao-artifacts.js +34 -0
  187. package/data/build/dist/host/cli-adapters/doubao-artifacts.js.map +1 -0
  188. package/data/build/dist/host/cli-adapters/doubao-cdp.d.ts +49 -0
  189. package/data/build/dist/host/cli-adapters/doubao-cdp.d.ts.map +1 -0
  190. package/data/build/dist/host/cli-adapters/doubao-cdp.js +177 -0
  191. package/data/build/dist/host/cli-adapters/doubao-cdp.js.map +1 -0
  192. package/data/build/dist/host/cli-adapters/doubao-driver.d.ts +33 -0
  193. package/data/build/dist/host/cli-adapters/doubao-driver.d.ts.map +1 -0
  194. package/data/build/dist/host/cli-adapters/doubao-driver.js +291 -0
  195. package/data/build/dist/host/cli-adapters/doubao-driver.js.map +1 -0
  196. package/data/build/dist/host/cli-adapters/doubao-events.d.ts +21 -0
  197. package/data/build/dist/host/cli-adapters/doubao-events.d.ts.map +1 -0
  198. package/data/build/dist/host/cli-adapters/doubao-events.js +126 -0
  199. package/data/build/dist/host/cli-adapters/doubao-events.js.map +1 -0
  200. package/data/build/dist/host/cli-adapters/doubao-runtime.d.ts +6 -0
  201. package/data/build/dist/host/cli-adapters/doubao-runtime.d.ts.map +1 -0
  202. package/data/build/dist/host/cli-adapters/doubao-runtime.js +176 -0
  203. package/data/build/dist/host/cli-adapters/doubao-runtime.js.map +1 -0
  204. package/data/build/dist/host/cli-adapters/doubao-tools.d.ts +8 -0
  205. package/data/build/dist/host/cli-adapters/doubao-tools.d.ts.map +1 -0
  206. package/data/build/dist/host/cli-adapters/doubao-tools.js +139 -0
  207. package/data/build/dist/host/cli-adapters/doubao-tools.js.map +1 -0
  208. package/data/build/dist/host/cli-adapters/driver.d.ts +3 -2
  209. package/data/build/dist/host/cli-adapters/driver.d.ts.map +1 -1
  210. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  211. package/data/build/dist/host/cli-adapters/feature.js +2 -0
  212. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  213. package/data/build/dist/host/cli-adapters/json-rpc-process.d.ts.map +1 -1
  214. package/data/build/dist/host/cli-adapters/json-rpc-process.js +3 -1
  215. package/data/build/dist/host/cli-adapters/json-rpc-process.js.map +1 -1
  216. package/data/build/dist/host/cli-adapters/legacy-session-adapter.d.ts.map +1 -1
  217. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js +1 -0
  218. package/data/build/dist/host/cli-adapters/legacy-session-adapter.js.map +1 -1
  219. package/data/build/dist/host/cli-adapters/model-catalog.d.ts +2 -0
  220. package/data/build/dist/host/cli-adapters/model-catalog.d.ts.map +1 -1
  221. package/data/build/dist/host/cli-adapters/model-catalog.js +10 -0
  222. package/data/build/dist/host/cli-adapters/model-catalog.js.map +1 -1
  223. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts +1 -0
  224. package/data/build/dist/host/cli-adapters/opencode-driver.d.ts.map +1 -1
  225. package/data/build/dist/host/cli-adapters/opencode-driver.js +9 -28
  226. package/data/build/dist/host/cli-adapters/opencode-driver.js.map +1 -1
  227. package/data/build/dist/host/cli-adapters/process-utils.d.ts +4 -2
  228. package/data/build/dist/host/cli-adapters/process-utils.d.ts.map +1 -1
  229. package/data/build/dist/host/cli-adapters/process-utils.js +64 -11
  230. package/data/build/dist/host/cli-adapters/process-utils.js.map +1 -1
  231. package/data/build/dist/host/cli-adapters/qoder-driver.d.ts.map +1 -1
  232. package/data/build/dist/host/cli-adapters/qoder-driver.js +13 -33
  233. package/data/build/dist/host/cli-adapters/qoder-driver.js.map +1 -1
  234. package/data/build/dist/host/cli-adapters/registry.d.ts.map +1 -1
  235. package/data/build/dist/host/cli-adapters/registry.js +31 -4
  236. package/data/build/dist/host/cli-adapters/registry.js.map +1 -1
  237. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts +2 -11
  238. package/data/build/dist/host/cli-adapters/rpc-driver-utils.d.ts.map +1 -1
  239. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js +1 -28
  240. package/data/build/dist/host/cli-adapters/rpc-driver-utils.js.map +1 -1
  241. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts +3 -3
  242. package/data/build/dist/host/cli-adapters/standard-stream-driver.d.ts.map +1 -1
  243. package/data/build/dist/host/cli-adapters/standard-stream-driver.js +12 -37
  244. package/data/build/dist/host/cli-adapters/standard-stream-driver.js.map +1 -1
  245. package/data/build/dist/host/cli-adapters/windows-command-environment.d.ts +12 -0
  246. package/data/build/dist/host/cli-adapters/windows-command-environment.d.ts.map +1 -0
  247. package/data/build/dist/host/cli-adapters/windows-command-environment.js +53 -0
  248. package/data/build/dist/host/cli-adapters/windows-command-environment.js.map +1 -0
  249. package/data/build/dist/host/features/assistant-avatar-runtime.d.ts.map +1 -1
  250. package/data/build/dist/host/features/assistant-avatar-runtime.js +23 -14
  251. package/data/build/dist/host/features/assistant-avatar-runtime.js.map +1 -1
  252. package/data/build/dist/host/features/assistant-background.d.ts +44 -0
  253. package/data/build/dist/host/features/assistant-background.d.ts.map +1 -0
  254. package/data/build/dist/host/features/assistant-background.js +116 -0
  255. package/data/build/dist/host/features/assistant-background.js.map +1 -0
  256. package/data/build/dist/host/features/assistant-index-updates.d.ts +5 -0
  257. package/data/build/dist/host/features/assistant-index-updates.d.ts.map +1 -1
  258. package/data/build/dist/host/features/assistant-index-updates.js +29 -6
  259. package/data/build/dist/host/features/assistant-index-updates.js.map +1 -1
  260. package/data/build/dist/host/features/assistant-source-cache.d.ts +2 -2
  261. package/data/build/dist/host/features/assistant-source-cache.d.ts.map +1 -1
  262. package/data/build/dist/host/features/assistant-source-cache.js +4 -2
  263. package/data/build/dist/host/features/assistant-source-cache.js.map +1 -1
  264. package/data/build/dist/host/features/global-voice-rpc.d.ts.map +1 -1
  265. package/data/build/dist/host/features/global-voice-rpc.js +269 -110
  266. package/data/build/dist/host/features/global-voice-rpc.js.map +1 -1
  267. package/data/build/dist/host/features/peer-host.d.ts.map +1 -1
  268. package/data/build/dist/host/features/peer-host.js +61 -21
  269. package/data/build/dist/host/features/peer-host.js.map +1 -1
  270. package/data/build/dist/host/features/types.d.ts +6 -4
  271. package/data/build/dist/host/features/types.d.ts.map +1 -1
  272. package/data/build/dist/host/index.d.ts.map +1 -1
  273. package/data/build/dist/host/index.js +29 -19
  274. package/data/build/dist/host/index.js.map +1 -1
  275. package/data/build/dist/host/provider-icon-assets.d.ts +5 -0
  276. package/data/build/dist/host/provider-icon-assets.d.ts.map +1 -0
  277. package/data/build/dist/host/provider-icon-assets.js +61 -0
  278. package/data/build/dist/host/provider-icon-assets.js.map +1 -0
  279. package/data/build/dist/host/rpc.js +1 -1
  280. package/data/build/dist/host/rpc.js.map +1 -1
  281. package/data/build/dist/host/session-migration-repair.d.ts +4 -0
  282. package/data/build/dist/host/session-migration-repair.d.ts.map +1 -1
  283. package/data/build/dist/host/session-migration-repair.js +75 -2
  284. package/data/build/dist/host/session-migration-repair.js.map +1 -1
  285. package/data/build/dist/shared/assistant-avatar-engine.d.ts +2 -0
  286. package/data/build/dist/shared/assistant-avatar-engine.d.ts.map +1 -1
  287. package/data/build/dist/shared/assistant-avatar-engine.js +11 -1
  288. package/data/build/dist/shared/assistant-avatar-engine.js.map +1 -1
  289. package/data/build/dist/shared/contracts/cli-adapter.d.ts +3 -0
  290. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  291. package/data/build/dist/shared/contracts/version.d.ts +1 -1
  292. package/data/build/dist/shared/contracts/version.js +1 -1
  293. package/data/build/dist/shared/provider-icon-resources.d.ts +4 -0
  294. package/data/build/dist/shared/provider-icon-resources.d.ts.map +1 -0
  295. package/data/build/dist/shared/provider-icon-resources.js +24 -0
  296. package/data/build/dist/shared/provider-icon-resources.js.map +1 -0
  297. package/package.json +2 -2
  298. package/profile/README.md +2 -2
  299. package/profile/package.json +2 -2
  300. package/profile/version.json +1 -1
  301. package/version.json +1 -1
package/README.en.md CHANGED
@@ -1,8 +1,8 @@
1
1
  <div align="center">
2
2
 
3
- # Codingns4DSH
3
+ # CodingNS for DeepSeek Harness
4
4
 
5
- **External Agent CLIs, persistent terminals, workspace debug and remote access — inside DSH's own UI.**
5
+ **Use multiple coding Agents, manage projects, talk with your assistant, and access your DSH workbench remotely.**
6
6
 
7
7
  [![npm version](https://img.shields.io/npm/v/%40jingyi0605%2Fcodingns4dsh?logo=npm)](https://www.npmjs.com/package/@jingyi0605/codingns4dsh)
8
8
  [![DSH compatibility](https://img.shields.io/badge/DSH-0.2.1--alpha.1-4D6BFE)](https://github.com/deepseek-ai/deepseek-harness)
@@ -11,7 +11,7 @@
11
11
 
12
12
  [简体中文](README.md) · **English**
13
13
 
14
- **Current release `@jingyi0605/codingns4dsh@0.2.1-beta.5`** · DSH **`>=0.2.0-rc.2 <=0.2.1-alpha.1`** (tested with `0.2.1-alpha.1`) · Node **`>= 22.19`** · macOS / Linux / Windows
14
+ **Current release `@jingyi0605/codingns4dsh@0.2.1-beta.6`** · DSH **`>=0.2.0-rc.2 <=0.2.1-alpha.1`** (tested with `0.2.1-alpha.1`) · Node **`>= 22.19`** · macOS / Linux / Windows
15
15
 
16
16
  **[GitHub](https://github.com/jingyi0605/Codingns4DSH)** · **[npm](https://www.npmjs.com/package/@jingyi0605/codingns4dsh)** · **QQ group 1092985965** · **[WeChat / QQ QR codes](#community)**
17
17
 
@@ -19,7 +19,7 @@
19
19
  <a href="#interface-preview">Preview</a> ·
20
20
  <a href="#what-is-codingns4dsh">What it is</a> ·
21
21
  <a href="#supported-agents">Agents</a> ·
22
- <a href="#feature-details">Features</a> ·
22
+ <a href="#features">Features</a> ·
23
23
  <a href="#installation">Install</a> ·
24
24
  <a href="#first-run">First run</a> ·
25
25
  <a href="#troubleshooting">Troubleshooting</a> ·
@@ -43,71 +43,62 @@ The CodingNS workbench brings the conversation, Agent picker and Git sidebar tog
43
43
 
44
44
  ## What is Codingns4DSH
45
45
 
46
- **DSH (DeepSeek Harness)** is a coding-agent harness — a CLI plus Web UI that runs an agent loop inside your workspace.
46
+ **Codingns4DSH** is a plugin for [DSH (DeepSeek Harness)](https://github.com/deepseek-ai/deepseek-harness) that brings coding Agents, project tools and a personal assistant into one workbench. Manage all modules in **Settings → Codingns4DSH**.
47
47
 
48
- **Codingns4DSH is a DSH plugin bundle** (Host + browser layers) adding eleven modules, all configured under **Settings → Codingns4DSH**.
49
-
50
- > Naming: this plugin is **Codingns4DSH** (npm package `@jingyi0605/codingns4dsh`; its settings entry is labelled Codingns4DSH). **Codingns4DSH** on its own refers to the platform service that provides the Control API, accounts and the relay tunnel.
51
-
52
- | Module | What it does | Default |
48
+ | Module | What you can do | Default |
53
49
  | --- | --- | :---: |
54
- | **External Agent integration** | Run installed Agent CLIs as native DSH sessions: streaming, tools, approvals, questions, usage, thinking levels | On |
55
- | **Workspace session enhancement** | Agent logos on session rows, archived-session entry, subscription/usage readout | Off |
56
- | **Mobile access enhancements** | On phones or narrow viewports, collapse the main sidebar, turn the settings navigation into an icon rail, support horizontal swipes, Android vibration and LAN PWA notifications | On |
57
- | **Terminal enhancement** | Persistent terminals plus shell, theme, font, cursor and scrollback settings | Off · restart |
58
- | **LAN access to DSH** | Listener forwarding a LAN address to the local DSH Web port, with a status indicator and one-click copy of a usable access URL | Always on |
59
- | **Login protection** | One optional local account guarding LAN **and** relay access; loopback always allowed | Always on (card) |
60
- | **Relay access service** | **Your DSH Web from anywhere on the internet**, end-to-end encrypted | Off |
61
- | **Workspace debug** | Per-workspace launch profiles, port checks, HTTP service proxy | On |
62
- | **Git repository management** | View changes, stage files, commit and browse Git history in the right sidebar | On |
63
- | **File management enhancement** | Create, rename, move, copy and delete files/directories, with code and script detection | Off |
64
- | **PeerHost workbench** | Proxy other handshaken DSH Hosts and aggregate workspaces, sessions and scoped tools | Off |
65
-
66
- Nothing native is replaced — conversations, sessions, sidebar, settings and approvals stay DSH's own.
67
-
68
- Everything runs on the **Host** (your machine): Agents, terminals, files, LAN/relay listeners; the browser is only a view. Agent CLIs run as DSH child processes with their own credentials and providers — model traffic never goes through Codingns4DSH. Remote access is available through optional modules.
69
-
70
- Notes: the sidebar terminal exists as soon as the plugin is installed — **Terminal enhancement** only switches it to the persistent backend (tmux on macOS/Linux, ConPTY on Windows) and applies on restart; the 调试 card is currently Chinese-only.
50
+ | **External Agent integration** | Use coding Agents in DSH, switch models and follow their work | On |
51
+ | **Workspace session enhancement** | Identify Agents, manage archived sessions and view subscription usage | Off |
52
+ | **Mobile access enhancements** | Use a mobile layout, sidebar gestures, home-screen access and notifications | On |
53
+ | **Terminal enhancement** | Use persistent terminals and customize their appearance | Off |
54
+ | **LAN access to DSH** | Open your workbench from other devices on the same network | Always available |
55
+ | **Login protection** | Require a login for LAN and relay access | Off |
56
+ | **Relay access service** | Access DSH over the internet with end-to-end encryption | Off |
57
+ | **Workspace debug** | Save launch profiles, manage processes, check ports and access services | On |
58
+ | **Git repository management** | Review changes, stage, commit, switch branches and browse history | On |
59
+ | **File management enhancement** | Create, edit, rename, move, copy and delete files | Off |
60
+ | **PeerHost workbench** | Use other DSH Hosts' workspaces and sessions in your current workbench | Off |
61
+ | **Global assistant (experimental)** | Chat by text or voice, follow project progress and customize your assistant | Off |
62
+
63
+ Agents, terminals and project files run on the computer hosting DSH (the Host). The browser provides a shared interface, with remote access available when needed.
71
64
 
72
65
  ---
73
66
 
74
67
  ## Supported Agents
75
68
 
76
- Detected on the Host by command name; version and models come from the CLI itself. Detected Agents are enabled by default and can be toggled individually. The built-in **DeepSeek Harness** Agent is always available.
77
-
78
- | Agent | id | Command | Protocol | Capabilities | Notes |
79
- | --- | --- | --- | --- | --- | --- |
80
- | Command Code | `command-code` | `command-code`, `commandcode`, `cmdc` | CLI + ACP | models, streaming, resume, interrupt, tools, thinking, usage, approvals, questions | The formal Host runtime uses `cmd acp`; DSH permissions map to `--plan`, `--permission-mode accept-edits`, or `--yolo`, and questions return through Command Code's `session/request_permission` extension |
81
- | Claude Code | `claude-code` | `claude` | stream-json | models, streaming, resume, interrupt, tools, thinking, usage, approvals, questions | `can_use_tool` approvals and `AskUserQuestion` |
82
- | Kimi CLI | `kimi` | `kimi`, `kimi-cli` | stream-json | all of the above + approvals, questions, steering | — |
83
- | Gemini CLI | `gemini` | `gemini` | ACP | models, streaming, resume, interrupt, tools, thinking, usage, approvals, questions | ACP permissions and form elicitation |
84
- | Pi Agent | `pi` | `pi`, `pi-agent` | JSON-RPC | models, streaming, resume, interrupt, tools, thinking, usage, steering | No verifiable DSH approval/question response wire in the current protocol |
85
- | Codex | `codex` | `codex` | JSON-RPC (app-server) | all + approvals, questions, steering | app-server enables `request_user_input`; DSH renders the native question panel |
86
- | OpenCode | `opencode` | `opencode`, or `OPENCODE_SERVER_URL` (default `http://127.0.0.1:4096`) | HTTP + SSE | all + approvals, questions | — |
87
- | Grok Build | `grok` | `grok`, `grok-build` | ACP | models, streaming, tools, thinking, usage, approvals, questions | ACP permissions plus Grok's private `x.ai/ask_user_question` structured question method |
88
- | MiniMax Code | `mcode` | `mcode` | ACP / stream-json | models, streaming, resume, interrupt, tools, thinking, usage, approvals, questions | Interactive requests use ACP; the explicit-effort `exec` path has no interactive response wire |
89
- | ZCode | `zcode` | `zcode`, bundled desktop runtime | JSON-RPC bare envelope | models, streaming, resume, interrupt, usage | No verifiable DSH approval/question response wire |
90
- | CodeBuddy (auto-detects CN/international) | `codebuddy` | `codebuddy`, `codebuddy-code`, `cbc`, and Windows `.cmd` entry points; region selected from environment and auth domain | ACP (`--acp`) | models, streaming, resume, interrupt, tools, thinking, usage, approvals, questions | Supports stdio ACP and HTTP sidecar ACP |
91
- | WorkBuddy | `workbuddy` | `codebuddy` bundled in the WorkBuddy desktop app | ACP (`--acp`) | models, streaming, resume, interrupt, tools, thinking, approvals, questions | Permissions and form elicitation use the HTTP ACP sidecar |
92
- | Cursor CLI | `cursor-cli` | `cursor-agent`, `agent` | ACP (`acp`) | models, streaming, resume, interrupt, tools, thinking, approvals, questions | Standard ACP permissions and form elicitation |
93
- | Kiro CLI | `kiro-cli` | `kiro-cli` | ACP (`acp --agent-engine v3 --auth-method cli`) | models, streaming, resume, interrupt, tools, thinking, approvals, questions | Standard ACP permissions and form elicitation |
94
- | Qoder | `qoder` | `qoder`, `qodercli` | ACP (`--acp`) | models, streaming, resume, interrupt, tools, thinking, approvals, questions | Standard ACP permissions and form elicitation |
95
- | Qoder CN | `qoder-cn` | `qodercn`, `qoderclicn` | ACP (`--acp`) | models, streaming, resume, interrupt, tools, thinking, approvals, questions | Standard ACP permissions and form elicitation |
96
- | Antigravity | `antigravity` | `agy` | stream-json (stdin NDJSON) | models, streaming, resume, interrupt, tools, thinking | Permission state maps to CLI safety modes; no interactive approval/question wire |
97
-
98
- **models** model list · **streaming** live output · **resume** continue after restart · **interrupt** cancel a turn · **tools** tool calls in the conversation · **thinking** reasoning/effort · **usage** token or subscription limits · **approvals / questions** native DSH interactions · **steering** inject a message mid-turn.
99
-
100
- Unlisted capabilities are unsupported by that CLI or version. Install and log in to each Agent outside DSH; Codingns4DSH never stores Agent credentials.
101
-
102
- Approvals and questions are rendered by DSH's native components. The Web Client Bundle must inject `@deepseek-ai/dsh-client-ui-user-questions`; otherwise the Host may receive a question event without having a question panel to mount. Adapters with an interactive response wire normalize Provider requests into `permission-request` or `question-request` events, pass them to the native approval/question components, then send the typed answer back with the Provider's original request ID. ACP adapters use the standard `session/request_permission` and `elicitation/create` form requests; Grok Build's `grok_build/ask_user_question` tool call returns through the private `x.ai/ask_user_question` method with an `outcome`; Command Code's `ask_user_question` also uses `session/request_permission`, distinguished by `toolCall.kind=other` and `toolCall.rawInput.question/options`. Fixed choices are returned using the original `optionId`; free text is carried in ACP `_meta["codingns/questionAnswer"]` and returned to the Command Code tool through a Node loader that only affects the child process memory and does not modify the user's installed package. The Codex app-server explicitly enables `default_mode_request_user_input` so it emits `item/tool/requestUserInput` requests. URL elicitation requires a browser security-consent flow and is not advertised. Antigravity only maps DSH permission state to CLI safety modes.
69
+ Install and sign in to an Agent with its own tools, and Codingns4DSH will detect it. The built-in **DeepSeek Harness** Agent remains available. Choose models and view streaming replies in one interface, with session resume, tool calls and thinking controls where supported.
70
+
71
+ The table highlights selected capabilities; availability depends on the Agent and its version. Skills are reusable workflows, and steering lets you add a message while an Agent is working.
72
+
73
+ | Agent | Key capabilities | Notes |
74
+ | --- | --- | --- |
75
+ | **Command Code** | Skills, approvals, questions, usage | Uses DSH permission settings and the native question panel |
76
+ | **Claude Code** | Skills, approvals, questions, usage | Supports native skill discovery and invocation |
77
+ | **Kimi CLI** | Approvals, questions, steering, usage | — |
78
+ | **Gemini CLI** | Approvals, questions, usage | Supports native approvals and form questions |
79
+ | **Pi Agent** | Steering, thinking controls, usage | DSH approval and question responses remain unverified in the current protocol |
80
+ | **Codex** | Approvals, questions, steering, usage | Questions appear in DSH's native question panel |
81
+ | **OpenCode** | Skills, approvals, questions, usage | Supports a local CLI or existing server, plus native skills |
82
+ | **Grok Build** | Skills, approvals, questions, usage | Supports native skill discovery and structured questions |
83
+ | **MiniMax Code** | Approvals, questions, usage | Default integration supports interaction; explicit-effort execution does not return interactive responses.<br>Upstream contributor: [chenjunyi000](https://github.com/chenjunyi000)<br>PRs [#6](https://github.com/jingyi0605/Codingns4DSH/pull/6), [#7](https://github.com/jingyi0605/Codingns4DSH/pull/7) |
84
+ | **ZCode** | Model selection, session resume, usage | Uses the CLI or the desktop app's bundled runtime.<br>Upstream contributor: [chenjunyi000](https://github.com/chenjunyi000)<br>PRs [#6](https://github.com/jingyi0605/Codingns4DSH/pull/6), [#7](https://github.com/jingyi0605/Codingns4DSH/pull/7) |
85
+ | **CodeBuddy** | Approvals, questions, usage | Automatically detects CN/international editions.<br>CodexHost contributor: [mouzhi](https://github.com/mouzhi)<br>Initial integration: [f30b000](https://github.com/BytePioneer-AI/codex-host/commit/f30b000f88950c40844b071eec2f6f385c6bcb49) |
86
+ | **WorkBuddy** | Approvals, questions, thinking controls | Uses the WorkBuddy desktop app's bundled runtime.<br>CodexHost contributor: [BytePioneer-AI (ChongWen)](https://github.com/BytePioneer-AI)<br>Initial integration: [6e9f365](https://github.com/BytePioneer-AI/codex-host/commit/6e9f365e2bf8ac61716f8250475530ae790f2d2f) |
87
+ | **Cursor CLI** | Approvals, questions, thinking controls | CodexHost contributor: [mouzhi](https://github.com/mouzhi)<br>Initial integration: [ad6ba8e](https://github.com/BytePioneer-AI/codex-host/commit/ad6ba8e04d294c473d2dcad99880496ff39c1f7e) |
88
+ | **Kiro CLI** | Approvals, questions, thinking controls | CodexHost contributor: [gy212](https://github.com/gy212)<br>Initial integration: [79675cd](https://github.com/BytePioneer-AI/codex-host/commit/79675cdbfdc042eb37a849c3eb1539e9efc40a0d) |
89
+ | **Qoder** | Approvals, questions, thinking controls | CodexHost contributors: [gy212](https://github.com/gy212), [BytePioneer-AI (ChongWen)](https://github.com/BytePioneer-AI)<br>PR #289 merge: [8926130](https://github.com/BytePioneer-AI/codex-host/commit/8926130af1426a467747b66d8d2dbf68f7764a7b) |
90
+ | **Qoder CN** | Approvals, questions, thinking controls | CodexHost contributors: [gy212](https://github.com/gy212), [BytePioneer-AI (ChongWen)](https://github.com/BytePioneer-AI)<br>PR #289 merge: [8926130](https://github.com/BytePioneer-AI/codex-host/commit/8926130af1426a467747b66d8d2dbf68f7764a7b) |
91
+ | **Antigravity** | Session resume, tool calls, thinking controls | Permission settings select safety modes; no interactive approvals or questions.<br>CodexHost contributor: [gy212](https://github.com/gy212)<br>Initial integration: [ed4e785](https://github.com/BytePioneer-AI/codex-host/commit/ed4e785116642eafc08e4186e92e83f3816c7765) |
92
+
93
+ Each Agent handles its own installation and login. See the [Agent adapter documentation](specs/spec007.1-外部Agent适配器扩展/README.md) (Chinese) for integration details.
103
94
 
104
95
  ---
105
96
 
106
- ## Feature Details
97
+ ## Features
107
98
 
108
99
  ### External Agent Integration
109
100
 
110
- After you pick an Agent and a model, Codingns4DSH starts (or resumes) that CLI as a DSH child process and projects its event stream into a native session; the model and thinking effort are remembered per Agent.
101
+ Choose an Agent and model to start coding. Replies, tool calls, approvals and questions appear directly in the DSH conversation. Model and thinking preferences are remembered per Agent, and you can delegate tasks to other connected Agents.
111
102
 
112
103
  <div align="center">
113
104
  <table>
@@ -118,13 +109,9 @@ After you pick an Agent and a model, Codingns4DSH starts (or resumes) that CLI a
118
109
  </table>
119
110
  </div>
120
111
 
121
- The model list is read from each CLI and can be switched at any time; the composer button also shows the current model and thinking effort.
122
-
123
- External Agents assemble their own requests, so the context panel's heuristic composition never matches the provider-reported usage; those sessions keep only the occupancy percentage and totals, without the System / Tools / Messages breakdown.
124
-
125
112
  ### Session Enhancement and Usage
126
113
 
127
- Session rows show the Agent logo and archive entry, and the composer dock shows subscription or upstream usage for Agents whose limits can be read (cache hit rate, per-model stats and cost included). The "Settings" button next to "Show subscription and usage" adjusts the query timeout (10 seconds by default, applied to every Agent) and the auto refresh interval (5 minutes by default, 0 disables automatic refresh); switching back to the same Agent within the interval reuses the previous result instead of querying upstream again.
114
+ Identify sessions by Agent icons, access archived conversations, and hide or restore workspaces. Supported Agents can show subscription allowances, reset times, usage and costs.
128
115
 
129
116
  <div align="center">
130
117
  <table>
@@ -135,11 +122,27 @@ Session rows show the Agent logo and archive entry, and the composer dock shows
135
122
  </table>
136
123
  </div>
137
124
 
138
- Usage comes from the Agent's own quota API or a configured upstream source; it is read on the Host and never stored in the browser.
125
+ ### Global Assistant (Experimental)
126
+
127
+ Create a personal assistant with your choice of name, personality, model and avatar. Open the same workbench from the sidebar or floating avatar.
128
+
129
+ - **Continuous conversations**: text and live voice share one history, so you can switch input methods and keep talking.
130
+ - **Project follow-up**: check progress in selected projects, look up sessions and send follow-up messages at your request.
131
+ - **Web search**: use your configured DSH search service for weather, news and other current information.
132
+ - **Attachments**: ask about images and text files; image understanding requires a vision-capable model.
133
+ - **Avatars and voices**: use built-in or third-party avatars, customize portraits and voices, and keep calls in a floating view with captions and mute controls.
134
+
135
+ Browser speech playback is the default, with local MOSS speech available as an option. The assistant handles conversation and coordination; it does not execute commands or edit code directly.
136
+
137
+ ### Terminals and Log Sharing
138
+
139
+ The sidebar terminal is available after installation. Enable **Terminal enhancement** and restart DSH for persistent terminals. Terminals are shared within a workspace and retain their state when switching sessions.
140
+
141
+ Attach terminal output or selected logs to a new or existing conversation to ask an Agent for help.
139
142
 
140
143
  ### Workspace Debug
141
144
 
142
- Each workspace keeps its own launch profiles (`<workspace>/.codingns/debug.json`): command, working directory, environment, shell and an optional port — start, check the port, kill the process or stop it. An optional reverse proxy exposes the port through DSH (HTTP only for now).
145
+ Save launch profiles for each project, start or stop processes, check port status and access project HTTP services through DSH. The debug panel currently has a Chinese-only interface.
143
146
 
144
147
  <div align="center">
145
148
  <table>
@@ -150,23 +153,25 @@ Each workspace keeps its own launch profiles (`<workspace>/.codingns/debug.json`
150
153
  </table>
151
154
  </div>
152
155
 
153
- The panel shows live port state and PID, and issues an unguessable proxy URL per running instance.
154
-
155
156
  ### Git Repository Management
156
157
 
157
- The Git panel is opened from DSH's native right sidebar and persists per workspace across sessions. It can initialize a repository, show staged and unstaged files, stage or unstage paths, discard changes, create commits, switch branches and browse commit history. Disabling the module removes its sidebar tab and Host Git RPC without affecting other modules.
158
+ Initialize repositories, review changes, stage or unstage files, commit, switch branches and browse history from the right sidebar.
158
159
 
159
160
  ### File Management Enhancement
160
161
 
161
- File management enhancement adds common file operations to DSH's native file sidebar: create files and directories, rename, move, copy and delete entries, with code and script type detection for the editor entry point. Workspace path validation rejects paths outside the active workspace; disabling the module removes its sidebar entry and Host RPC.
162
+ Create, edit, rename, move, copy or delete files and directories directly in the file sidebar.
162
163
 
163
164
  ### PeerHost Workbench
164
165
 
165
- PeerHost proxies other DSH Hosts without replacing the current logged-in Host. It can add LAN peers, persist target configuration and login state, and route workspaces, sessions, chat input, live events, files, Git, terminals and right-sidebar tools through an explicit HostScope. A failing peer does not block the local Host or other peers. Unsupported native navigation surfaces report `degraded` or `unsupported` instead of creating an iframe or pretending to be a native three-column view.
166
+ Add other DSH Hosts on your LAN to access their workspaces, sessions, files, Git and terminals from the current workbench. Hosts remain independent, so a disconnected peer does not interrupt local work. PeerHost aggregation through the relay service is not currently supported.
167
+
168
+ ### Mobile Access
169
+
170
+ Read conversations, send messages and use workspace tools on your phone. Swipe to open or close sidebars, add the app to your home screen, and use notifications in supported browsers.
166
171
 
167
172
  ### Modules and Settings
168
173
 
169
- The settings page renders one card per module — switch, description and restart notice all come from the module itself; terminal appearance, LAN mapping, login protection and relay account are configured inside their own cards.
174
+ Enable the features you need and configure them in their module cards. Settings that require a restart are clearly marked.
170
175
 
171
176
  <div align="center">
172
177
  <table>
@@ -179,26 +184,20 @@ The settings page renders one card per module — switch, description and restar
179
184
 
180
185
  ### Login Protection
181
186
 
182
- Off by default; once enabled on its card, one local account guards LAN **and** relay access (default session timeout 30 minutes). Authentication happens at the Host's forwarding boundary, so unauthenticated traffic never reaches DSH Web; `127.0.0.1` and `::1` are always allowed to prevent lockout.
187
+ Set a shared local account for LAN and relay access to protect your remote workbench. Local access remains available.
183
188
 
184
189
  <div align="center">
185
190
  <img width="70%" src="assets/screenshots/login-protection.jpg" alt="Local account login page">
186
191
  </div>
187
192
 
188
- The password is `scrypt`-hashed in a `0600` file, and the browser only holds an `HttpOnly`, `SameSite=Strict` session cookie.
189
-
190
193
  ### Remote Access
191
194
 
192
- | | LAN access | Relay access |
195
+ | Method | Best for | How to connect |
193
196
  | --- | --- | --- |
194
- | Connect from | Same local network | **Any device, anywhere on the internet** |
195
- | Needs | Shared network + open listen port | Host can reach the Control API over HTTPS; your device can reach the Codingns4DSH entry |
196
- | Local port exposed | Yes — chosen interface/port (default `13080`) | No — isolated device tunnel |
197
- | Account | Optional login protection | Codingns4DSH account + bound Host |
197
+ | **LAN access** | Computers, phones or tablets on the same network | Enable the mapping and copy the access URL |
198
+ | **Relay access** | Reaching your workbench while away | Sign in to the relay service and bind your Host |
198
199
 
199
- **LAN**: pick a listen interface and port, auto-detect (or type) the local DSH Web port, start, then open `http://<lan-ip>:<port>` from another device; auto-start restores the mapping, and the module patches the `crypto.randomUUID` that plain-HTTP origins need.
200
-
201
- **Relay**: set the Control API (default `https://channel.codingns.com:1443`, where you can register), log in, refresh devices, bind the current Host (label, public key, fingerprint), then open the bound Host from any device through **`https://dsh.codingns.com`** — no public IP, port forwarding or VPN.
200
+ The relay needs no public IP, port forwarding or VPN. Register at the [Codingns4DSH relay platform](https://channel.codingns.com:1443), then connect to a bound Host from the [remote workbench](https://dsh.codingns.com). Connections are end-to-end encrypted, so the relay cannot read conversation content.
202
201
 
203
202
  <div align="center">
204
203
  <table>
@@ -209,102 +208,58 @@ The password is `scrypt`-hashed in a `0600` file, and the browser only holds an
209
208
  </table>
210
209
  </div>
211
210
 
212
- The account entry next to DSH's Settings button shows login state, access path and latency, host CPU/memory, and offers one-click logout.
213
-
214
211
  <div align="center">
215
212
  <img width="70%" src="assets/screenshots/relay-status.jpg" alt="Account status popover: access path, latency, CPU and memory">
216
213
  </div>
217
214
 
218
- The “access” line tells you whether you entered DSH Web locally, over the LAN or through the relay.
219
-
220
- **Why the relay cannot read your DSH traffic** — the tunnel is end-to-end encrypted, so using it never hands your conversations to a server:
221
-
222
- - Payload travels in a **WebRTC DataChannel protected by DTLS between the DSH Client and the DSH Host**; direct or via TURN, only ciphertext crosses the relay.
223
- - The relay and control service handle **control-plane metadata only**: account/device records, Host binding, tickets, SDP/ICE signaling, online state, traffic accounting.
224
- - Each Host keeps its own DTLS certificate (`~/.config/codingns4dsh/dtls-identity.json`) and publishes a SHA-256 fingerprint the remote side verifies during the handshake — a mismatch aborts the connection (`Host DTLS fingerprint 校验失败`) instead of accepting a substituted certificate; the same fingerprint shows in the relay card for manual comparison.
225
- - Passwords are used only for login requests; refresh token and device credential stay on the Host. Diagnostics log protocol metadata only (direction, type, stream id, status, bytes) — never bodies, tickets, cookies or DSH Web content.
215
+ The account menu shows login status, access method, connection latency and Host load.
226
216
 
227
217
  ---
228
218
 
229
219
  ## Installation
230
220
 
231
- **Requirements**: DSH `>=0.2.0-rc.2 <=0.2.1-alpha.1` (tested with `0.2.1-alpha.1`) · Node.js `>= 22.19` · `pnpm` on `PATH` (`dsh plugin` forwards to pnpm) · optional: Agent CLIs, and `tmux` on macOS/Linux for persistent terminals (`brew install tmux` / `sudo apt install tmux`).
232
-
233
- ### Simplest install: use the built-in `web` profile
221
+ **Requirements**: DSH `>=0.2.0-rc.2 <=0.2.1-alpha.1` (tested with `0.2.1-alpha.1`), Node.js `>=22.19`, and pnpm. Persistent terminals on macOS/Linux also require tmux.
234
222
 
235
- DSH automatically initializes the `web` profile on first use. You do not need to create a config file or run `--dump-config`:
223
+ ### Use the Built-in Web Profile
236
224
 
237
225
  ```bash
238
- dsh plugin --profile web add @jingyi0605/codingns4dsh@0.2.1-beta.5
226
+ dsh plugin --profile web add @jingyi0605/codingns4dsh@0.2.1-beta.6
239
227
  dsh web
240
228
  ```
241
229
 
242
- ### Optional: use a separate profile
230
+ ### Optional: Use a Separate Profile
243
231
 
244
- If you do not want to modify the built-in `web` profile, create a separate profile. Here `--dump-config` only initializes and inspects the profile; it is not required for installing the plugin:
232
+ Create a separate environment from the built-in Web profile:
245
233
 
246
234
  ```bash
247
235
  dsh codingns --from-default-profile web --dump-config
248
- dsh plugin --profile codingns add @jingyi0605/codingns4dsh@0.2.1-beta.5
236
+ dsh plugin --profile codingns add @jingyi0605/codingns4dsh@0.2.1-beta.6
249
237
  dsh codingns
250
238
  ```
251
239
 
252
- - **Do not** use `dsh plugin --profile <new-name> add ...` to create a separate profile that needs the Web UI: it initializes from `@deepseek-ai/dsh-base` only, then fails with `entry "terminal-controller" not found`. Use `--from-default-profile web` for a separate profile.
253
- - A registry 404 means that version is not published yet — use the source install below.
254
-
255
- ```bash
256
- # optional: verify the installation
257
- dsh plugin --profile web list --depth 0 # -> codingns4dsh <version>
258
-
259
- # upgrade, pin, uninstall (restart DSH afterwards)
260
- dsh plugin --profile web add @jingyi0605/codingns4dsh@<version>
261
- dsh plugin --profile web remove @jingyi0605/codingns4dsh
262
- ```
263
-
264
- **From source** (npm unavailable, or running a checkout):
265
-
266
- ```bash
267
- git clone https://github.com/jingyi0605/Codingns4DSH.git && cd Codingns4DSH
268
- pnpm install && pnpm build
269
- dsh plugin --profile web add "$PWD" # or: npm pack, then add ./jingyi0605-codingns4dsh-0.2.1-beta.5.tgz
270
- dsh web
271
- ```
272
-
273
- A directory install links the checkout — rebuild (`pnpm build` / `pnpm dev:watch`) and restart DSH after changes.
274
-
275
- **State on disk**: settings live in `$DSH_HOME/settings.yaml` (default `~/.dsh/settings.yaml`) under the `codingns:` namespace.
276
-
277
- | Path | Contents |
278
- | --- | --- |
279
- | `$DSH_HOME/profiles/<profile>` | Installed plugin packages and `dsh.profile.bundles` |
280
- | `$DSH_HOME/codingns4dsh/` | Terminal `host-id` and `terminals.json` (restore mapping) |
281
- | `~/.config/codingns4dsh/` | Relay credentials, DTLS identity, login-protection hash |
282
- | `<workspace>/.codingns/debug.json` | Debug launch profiles (mode `0600`, secrets rejected) |
240
+ Restart an existing DSH instance after installation or upgrade. To upgrade, replace the version in the install command with your target version. To uninstall, run `dsh plugin --profile web remove @jingyi0605/codingns4dsh`; replace `web` with your profile name when using a separate profile.
283
241
 
284
242
  ---
285
243
 
286
244
  ## First Run
287
245
 
288
- 1. `dsh codingns` opens the DSH Web UI.
289
- 2. Open **Settings → Codingns4DSH** to review the module cards (restart-required ones show both the effective and next-start state).
290
- 3. Install and log in to your Agent CLIs **outside** DSH, keep them on the Host `PATH`, then enable them in **外部Agent集成**.
291
- 4. Pick an Agent, model and thinking level in the composer and send a prompt — output streams into a native session with the Agent's logo.
292
- 5. Right sidebar: Terminal for a workspace shell (enable **终端强化** + restart for persistence); 调试 to add a launch profile and watch its port.
293
- 6. For remote use, turn on **登录保护**, configure **局域网访问DSH**, or log in to **中转访问服务** to connect from any network; the account entry shows the current path and host load.
246
+ 1. Open **Settings → Codingns4DSH** and enable the modules you need.
247
+ 2. Install and sign in to an Agent on the DSH Host, then choose the Agent and model in the composer.
248
+ 3. Use the right sidebar for terminals, Git, files and workspace debugging.
249
+ 4. Enable the global assistant, create your character and start chatting; prepare voice resources in voice settings for live calls.
250
+ 5. For access from other devices, configure LAN or relay access and enable login protection as needed.
294
251
 
295
252
  ---
296
253
 
297
254
  ## Troubleshooting
298
255
 
299
- - **Versions** — `dsh --version`, `dsh plugin --profile web list --depth 0` (replace `web` for a separate profile), `npm view @jingyi0605/codingns4dsh version`; startup rejects DSH outside the supported range, and installation does too whenever it can identify the runtime actually in use.
300
- - **Install-time rejection from a stale `dsh` on `PATH`** — installation only blocks on the host-injected version, the Desktop Runtime root, and a `@deepseek-ai/dsh` resolvable from the profile; `dsh --version` from `PATH` is advisory and never blocks. Runtime still validates the DSH that actually loaded.
301
- - **`patch: entry "terminal-controller" not found`** — the profile lacks the Web app layer; recreate it from the `web` template as shown above.
302
- - **Agent not detected** — run `<cli> --version` on the Host; ensure its directory is on the `PATH` of the process that started DSH (GUI launchers often differ); log in with the vendor tool, then restart DSH.
303
- - **Terminal** — persistent mode needs `tmux` on macOS/Linux; enabling/disabling the module and changing the binding scope need a restart; terminals are addressed per workspace.
304
- - **LAN** — check the card's status indicator and access URL, allow the port through the firewall, keep both devices on one network; with several DSH instances pick the detected port manually; sign in first when login protection is on.
305
- - **Relay** — verify Control API reachability, log in again if the session expired, refresh devices, then bind the Host.
306
- - **Logs** — `CODINGNS4DSH_TUNNEL_DEBUG=1 dsh codingns --no-open` (metadata only); pnpm install logs live in `$DSH_HOME/profiles/<profile>/.plugin-manager/logs/`.
307
- - **Reporting** — include DSH and Codingns4DSH versions, OS, module and exact error: [GitHub Issues](https://github.com/jingyi0605/Codingns4DSH/issues) or QQ **1092985965** ([WeChat / QQ QR codes](#community)).
256
+ - **Installation fails**: check the required DSH, Node.js and plugin versions; create separate profiles from the Web template.
257
+ - **Agent not detected**: make sure it is installed, signed in, and its command is available to the process running DSH.
258
+ - **Terminal is not persistent**: enable Terminal enhancement and restart DSH; macOS/Linux require tmux.
259
+ - **Voice unavailable**: check resource status in voice settings and allow browser microphone access.
260
+ - **Remote connection fails**: check the network and firewall for LAN access, or login status and Host binding for relay access.
261
+
262
+ When reporting an issue, include DSH and plugin versions, your OS and the full error: [GitHub Issues](https://github.com/jingyi0605/Codingns4DSH/issues) or the [community groups](#community).
308
263
 
309
264
  ---
310
265
 
@@ -333,40 +288,36 @@ The WeChat QR code is generated dynamically by WeChat and is **valid for 7 days*
333
288
 
334
289
  ## Development
335
290
 
336
- Requires Node `>= 22.19` and pnpm:
291
+ Use a separate Stage0 environment for source development and follow the [project rules](AGENTS.md) (Chinese). Build, test and type-check commands:
337
292
 
338
293
  ```bash
339
294
  pnpm install
340
- pnpm build # version check -> tsc -> client + H5 bundles
341
- pnpm test # build, then the full test suite (currently 901 cases)
295
+ pnpm build
296
+ pnpm test
342
297
  pnpm typecheck
343
- pnpm run capability:check # capability retirement check
344
298
  ```
345
299
 
346
- Dev loop: `pnpm dev:watch` with `pnpm dev:link <profile>`, then restart DSH. Versions come from `version.json` (`version:set-plugin` / `version:set-dsh`, guarded by `version:check`).
300
+ Source links and development runs are for Stage0 only. Desktop uses published versions, not source links or local development packages. See the [Stage0 development notes](docs/开发记录/20261007-Stage0自动编译与热重载接入记录.md) (Chinese) for setup.
347
301
 
348
- Layout: `src/host` (Host layer), `src/client` (browser layer), `src/dsh-capabilities` (capability registry and version routing), `src/shared/contracts`, `src/transport` (tunnel + WebRTC), `src/features` (module registry), `tests/`, `specs/`, `docs/`, `data/build` (git-ignored).
349
-
350
- A `v*` tag runs GitHub Actions (tag/version check, frozen install, typecheck, tests, `npm pack`) and publishes with provenance; prereleases get the `next` dist-tag. Releases also run DSH installation replay, runtime module resolution and per-file npm artifact checks.
351
-
352
- Screenshot assets and shot list: [assets/screenshots](assets/screenshots/README.md) (Chinese).
353
-
354
- **Chinese version: [README.md](README.md)**
302
+ Design and implementation details live in the [specifications](specs/), [development records](docs/开发记录/) and [development guidelines](docs/开发规范/) (Chinese). The [avatar catalog](assets/assistant-avatar-catalog.md) and [screenshot list](assets/screenshots/README.md) are also available separately.
355
303
 
356
304
  ---
357
305
 
358
306
  ## Acknowledgements
359
307
 
360
- The inspiration for Codingns4DSH — and part of its implementation approach — comes from **[CodexHost](https://github.com/BytePioneer-AI/codex-host)**, which runs Pi, Claude Code, Grok Build and other Harnesses natively inside Codex Desktop. It showed the direction Codingns4DSH follows from the other side: host *other* Harnesses as first-class Agents instead of replacing them. The multi-Harness adapter model, projecting a CLI event stream into native sessions, and keeping each Agent's sessions in the host sidebar and composer trace back to that design. Thanks to its authors and community.
308
+ Thanks to **[CodexHost](https://github.com/BytePioneer-AI/codex-host)** and its community for the inspiration and implementation references for multi-Agent integration. Codingns4DSH is an independent project and is not affiliated with CodexHost.
361
309
 
362
- Codingns4DSH is an independent project and is not affiliated with CodexHost.
310
+ Thanks to the adapter contributors and upstream contributors:
311
+
312
+ - [chenjunyi000](https://github.com/chenjunyi000): MiniMax Code, ZCode ([#6](https://github.com/jingyi0605/Codingns4DSH/pull/6), [#7](https://github.com/jingyi0605/Codingns4DSH/pull/7)).
313
+ - [mouzhi](https://github.com/mouzhi): CodeBuddy, Cursor CLI.
314
+ - [BytePioneer-AI (ChongWen)](https://github.com/BytePioneer-AI): WorkBuddy, Qoder.
315
+ - [gy212](https://github.com/gy212): Kiro CLI, Qoder, Antigravity.
363
316
 
364
317
  ---
365
318
 
366
319
  ## License
367
320
 
368
- Codingns4DSH is released under the **GNU General Public License version 3 or later** (SPDX: `GPL-3.0-or-later`); the full terms are in [LICENSE](LICENSE), and the `license` field in `package.json` matches.
321
+ Released under the **GNU General Public License version 3 or later** (`GPL-3.0-or-later`). See [LICENSE](LICENSE) for the full terms.
369
322
 
370
323
  Copyright (C) 2026 jingyi0605
371
-
372
- You may use, modify and distribute the project freely under the terms of the license; derivative works must stay under the same license, ship the complete source and keep the copyright notice, and the project comes with no warranty.