@deepseek-harness-tui/dsh-tui 0.14.1 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (886) hide show
  1. package/README.md +163 -17
  2. package/bin/dsh-tui.js +200 -34
  3. package/cordis.patch.yml +16 -52
  4. package/cordis.yml +6 -2
  5. package/guide/dsh-tui-guide/claude-backend.en.md +44 -7
  6. package/guide/dsh-tui-guide/claude-backend.md +28 -6
  7. package/guide/dsh-tui-guide/codex-backend.en.md +47 -10
  8. package/guide/dsh-tui-guide/codex-backend.md +26 -4
  9. package/guide/dsh-tui-guide/configuration.en.md +168 -18
  10. package/guide/dsh-tui-guide/configuration.md +144 -16
  11. package/guide/dsh-tui-guide/getting-started.en.md +15 -0
  12. package/guide/dsh-tui-guide/getting-started.md +15 -0
  13. package/guide/dsh-tui-guide/interaction.en.md +64 -24
  14. package/guide/dsh-tui-guide/interaction.md +49 -19
  15. package/guide/dsh-tui-guide/plugins.en.md +97 -3
  16. package/guide/dsh-tui-guide/plugins.md +55 -2
  17. package/guide/dsh-tui-guide/themes.en.md +23 -14
  18. package/guide/dsh-tui-guide/themes.md +19 -12
  19. package/guide/dsh-tui-guide/user-guide.en.md +53 -21
  20. package/guide/dsh-tui-guide/user-guide.md +43 -22
  21. package/lib/settings.json +103 -9
  22. package/lib/types/adapter/channel/projection.d.ts.map +1 -1
  23. package/lib/types/adapter/channel/projection.js +1 -0
  24. package/lib/types/adapter/channel/ui-policy.d.ts +1 -1
  25. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
  26. package/lib/types/adapter/channel/ui-policy.js +4 -0
  27. package/lib/types/adapter/channel/ui.d.ts +2 -0
  28. package/lib/types/adapter/channel/ui.d.ts.map +1 -1
  29. package/lib/types/adapter/channel/ui.js +6 -2
  30. package/lib/types/adapter/kernel/runtime.d.ts.map +1 -1
  31. package/lib/types/adapter/kernel/runtime.js +2 -0
  32. package/lib/types/adapter/ports/channel-catalog.d.ts +5 -1
  33. package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
  34. package/lib/types/adapter/ports/channel-settings.d.ts +14 -3
  35. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
  36. package/lib/types/adapter/ports/channel-ui.d.ts +56 -12
  37. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
  38. package/lib/types/adapter/ports/channel-view.d.ts +68 -0
  39. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
  40. package/lib/types/adapter/ports/channel.d.ts +2 -0
  41. package/lib/types/adapter/ports/channel.d.ts.map +1 -1
  42. package/lib/types/adapter/spec/backend-capabilities.d.ts +22 -0
  43. package/lib/types/adapter/spec/backend-capabilities.d.ts.map +1 -0
  44. package/lib/types/adapter/spec/backend-capabilities.js +49 -0
  45. package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -1
  46. package/lib/types/adapter/spec/protocol-constants.js +10 -3
  47. package/lib/types/adapter/spec/tui-contributions.d.ts +3 -0
  48. package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -1
  49. package/lib/types/adapter/spec/tui-contributions.js +7 -0
  50. package/lib/types/adapter/standard/registry.d.ts +6 -0
  51. package/lib/types/adapter/standard/registry.d.ts.map +1 -1
  52. package/lib/types/adapter/standard/registry.js +65 -15
  53. package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -1
  54. package/lib/types/adapter/standard/tui-extension.js +7 -1
  55. package/lib/types/adapter/standard/types.d.ts +10 -1
  56. package/lib/types/adapter/standard/types.d.ts.map +1 -1
  57. package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -1
  58. package/lib/types/adapter/upstream/host-descriptor-driver.js +52 -0
  59. package/lib/types/agent/backend-manifest.d.ts +152 -0
  60. package/lib/types/agent/backend-manifest.d.ts.map +1 -0
  61. package/lib/types/agent/backend-manifest.js +14 -0
  62. package/lib/types/agent/backend.d.ts +71 -5
  63. package/lib/types/agent/backend.d.ts.map +1 -1
  64. package/lib/types/agent/capabilities.d.ts +6 -0
  65. package/lib/types/agent/capabilities.d.ts.map +1 -1
  66. package/lib/types/agent/events.d.ts +3 -2
  67. package/lib/types/agent/events.d.ts.map +1 -1
  68. package/lib/types/agent/index.d.ts +2 -0
  69. package/lib/types/agent/index.d.ts.map +1 -1
  70. package/lib/types/agent/refs.d.ts +11 -1
  71. package/lib/types/agent/refs.d.ts.map +1 -1
  72. package/lib/types/agent/starting-session.d.ts +4 -0
  73. package/lib/types/agent/starting-session.d.ts.map +1 -0
  74. package/lib/types/agent/starting-session.js +19 -0
  75. package/lib/types/backends/claude/activity.d.ts +1 -1
  76. package/lib/types/backends/claude/activity.d.ts.map +1 -1
  77. package/lib/types/backends/claude/activity.js +5 -5
  78. package/lib/types/backends/claude/auth.d.ts.map +1 -1
  79. package/lib/types/backends/claude/auth.js +10 -3
  80. package/lib/types/backends/claude/backend.d.ts.map +1 -1
  81. package/lib/types/backends/claude/backend.js +103 -29
  82. package/lib/types/backends/claude/catalog.d.ts +2 -1
  83. package/lib/types/backends/claude/catalog.d.ts.map +1 -1
  84. package/lib/types/backends/claude/catalog.js +15 -5
  85. package/lib/types/backends/claude/channels.d.ts +5 -3
  86. package/lib/types/backends/claude/channels.d.ts.map +1 -1
  87. package/lib/types/backends/claude/channels.js +5 -4
  88. package/lib/types/backends/claude/contract.d.ts +4 -0
  89. package/lib/types/backends/claude/contract.d.ts.map +1 -1
  90. package/lib/types/backends/claude/contract.js +4 -0
  91. package/lib/types/backends/claude/controls.d.ts +4 -0
  92. package/lib/types/backends/claude/controls.d.ts.map +1 -1
  93. package/lib/types/backends/claude/controls.js +34 -42
  94. package/lib/types/backends/claude/dialogs.d.ts +8 -2
  95. package/lib/types/backends/claude/dialogs.d.ts.map +1 -1
  96. package/lib/types/backends/claude/dialogs.js +24 -16
  97. package/lib/types/backends/claude/images.d.ts +1 -1
  98. package/lib/types/backends/claude/images.d.ts.map +1 -1
  99. package/lib/types/backends/claude/images.js +7 -7
  100. package/lib/types/backends/claude/manifest.d.ts +21 -0
  101. package/lib/types/backends/claude/manifest.d.ts.map +1 -0
  102. package/lib/types/backends/claude/manifest.js +29 -0
  103. package/lib/types/backends/claude/older-history.js +2 -2
  104. package/lib/types/backends/claude/permissions.js +11 -11
  105. package/lib/types/backends/claude/prefs.d.ts +4 -2
  106. package/lib/types/backends/claude/prefs.d.ts.map +1 -1
  107. package/lib/types/backends/claude/prefs.js +4 -3
  108. package/lib/types/backends/claude/process.d.ts +16 -4
  109. package/lib/types/backends/claude/process.d.ts.map +1 -1
  110. package/lib/types/backends/claude/process.js +100 -37
  111. package/lib/types/backends/claude/send-message.d.ts +1 -1
  112. package/lib/types/backends/claude/send-message.d.ts.map +1 -1
  113. package/lib/types/backends/claude/session/auth.js +22 -22
  114. package/lib/types/backends/claude/session/channels.d.ts +4 -0
  115. package/lib/types/backends/claude/session/channels.d.ts.map +1 -1
  116. package/lib/types/backends/claude/session/channels.js +5 -3
  117. package/lib/types/backends/claude/session/lifecycle.d.ts.map +1 -1
  118. package/lib/types/backends/claude/session/lifecycle.js +31 -23
  119. package/lib/types/backends/claude/session/store.js +8 -8
  120. package/lib/types/backends/claude/session/subagents.js +2 -2
  121. package/lib/types/backends/claude/session/types.d.ts +7 -0
  122. package/lib/types/backends/claude/session/types.d.ts.map +1 -1
  123. package/lib/types/backends/claude/side-query.js +3 -3
  124. package/lib/types/backends/claude/task-output.js +5 -5
  125. package/lib/types/backends/claude/text.d.ts +778 -0
  126. package/lib/types/backends/claude/text.d.ts.map +1 -0
  127. package/lib/types/backends/claude/text.js +298 -0
  128. package/lib/types/backends/claude/transcript-file.d.ts +1 -1
  129. package/lib/types/backends/claude/transcript-file.d.ts.map +1 -1
  130. package/lib/types/backends/claude/transcript-file.js +4 -4
  131. package/lib/types/backends/claude/translate/attempts.js +2 -2
  132. package/lib/types/backends/claude/translate/core.js +3 -3
  133. package/lib/types/backends/claude/translate/messages.js +4 -4
  134. package/lib/types/backends/claude/translate/system.js +14 -14
  135. package/lib/types/backends/claude/translate/tasks.js +2 -2
  136. package/lib/types/backends/claude/translate/types.d.ts +1 -1
  137. package/lib/types/backends/claude/translate/types.d.ts.map +1 -1
  138. package/lib/types/backends/codex/auth/external-tokens.js +16 -16
  139. package/lib/types/backends/codex/auth/status.js +14 -14
  140. package/lib/types/backends/codex/backend.d.ts +4 -19
  141. package/lib/types/backends/codex/backend.d.ts.map +1 -1
  142. package/lib/types/backends/codex/backend.js +118 -25
  143. package/lib/types/backends/codex/catalog.d.ts +2 -1
  144. package/lib/types/backends/codex/catalog.d.ts.map +1 -1
  145. package/lib/types/backends/codex/catalog.js +63 -18
  146. package/lib/types/backends/codex/channels.d.ts +6 -3
  147. package/lib/types/backends/codex/channels.d.ts.map +1 -1
  148. package/lib/types/backends/codex/channels.js +15 -13
  149. package/lib/types/backends/codex/contract.d.ts +3 -0
  150. package/lib/types/backends/codex/contract.d.ts.map +1 -1
  151. package/lib/types/backends/codex/contract.js +3 -0
  152. package/lib/types/backends/codex/detect.d.ts.map +1 -1
  153. package/lib/types/backends/codex/detect.js +9 -6
  154. package/lib/types/backends/codex/manifest.d.ts +30 -0
  155. package/lib/types/backends/codex/manifest.d.ts.map +1 -0
  156. package/lib/types/backends/codex/manifest.js +23 -0
  157. package/lib/types/backends/codex/prefs.d.ts +4 -2
  158. package/lib/types/backends/codex/prefs.d.ts.map +1 -1
  159. package/lib/types/backends/codex/prefs.js +4 -3
  160. package/lib/types/backends/codex/rpc/hub.js +2 -2
  161. package/lib/types/backends/codex/session/activity.d.ts +1 -1
  162. package/lib/types/backends/codex/session/activity.d.ts.map +1 -1
  163. package/lib/types/backends/codex/session/activity.js +13 -13
  164. package/lib/types/backends/codex/session/approvals.js +30 -30
  165. package/lib/types/backends/codex/session/async-questions.d.ts +17 -0
  166. package/lib/types/backends/codex/session/async-questions.d.ts.map +1 -0
  167. package/lib/types/backends/codex/session/async-questions.js +89 -0
  168. package/lib/types/backends/codex/session/commands.d.ts +8 -2
  169. package/lib/types/backends/codex/session/commands.d.ts.map +1 -1
  170. package/lib/types/backends/codex/session/commands.js +71 -23
  171. package/lib/types/backends/codex/session/controls.d.ts +1 -1
  172. package/lib/types/backends/codex/session/controls.d.ts.map +1 -1
  173. package/lib/types/backends/codex/session/controls.js +21 -16
  174. package/lib/types/backends/codex/session/goals.d.ts.map +1 -1
  175. package/lib/types/backends/codex/session/goals.js +3 -3
  176. package/lib/types/backends/codex/session/history.js +2 -2
  177. package/lib/types/backends/codex/session/images.js +8 -8
  178. package/lib/types/backends/codex/session/input.d.ts +6 -2
  179. package/lib/types/backends/codex/session/input.d.ts.map +1 -1
  180. package/lib/types/backends/codex/session/input.js +55 -13
  181. package/lib/types/backends/codex/session/plan-review.js +6 -6
  182. package/lib/types/backends/codex/session/session.d.ts.map +1 -1
  183. package/lib/types/backends/codex/session/session.js +100 -42
  184. package/lib/types/backends/codex/session/side-query.d.ts.map +1 -1
  185. package/lib/types/backends/codex/session/side-query.js +27 -9
  186. package/lib/types/backends/codex/session/state.d.ts +6 -1
  187. package/lib/types/backends/codex/session/state.d.ts.map +1 -1
  188. package/lib/types/backends/codex/session/subagents.js +5 -5
  189. package/lib/types/backends/codex/session/tasks.js +4 -4
  190. package/lib/types/backends/codex/text.d.ts +933 -0
  191. package/lib/types/backends/codex/text.d.ts.map +1 -0
  192. package/lib/types/backends/codex/text.js +313 -0
  193. package/lib/types/backends/codex/translate/items.d.ts.map +1 -1
  194. package/lib/types/backends/codex/translate/items.js +7 -5
  195. package/lib/types/backends/codex/translate/live.d.ts.map +1 -1
  196. package/lib/types/backends/codex/translate/live.js +11 -8
  197. package/lib/types/backends/codex/translate/notices.js +10 -10
  198. package/lib/types/backends/codex/translate/question-reply.d.ts +11 -0
  199. package/lib/types/backends/codex/translate/question-reply.d.ts.map +1 -0
  200. package/lib/types/backends/codex/translate/question-reply.js +53 -0
  201. package/lib/types/backends/shared/channel-slug.d.ts +4 -0
  202. package/lib/types/backends/shared/channel-slug.d.ts.map +1 -0
  203. package/lib/types/backends/shared/channel-slug.js +25 -0
  204. package/lib/types/backends/shared/channel-tokens.d.ts.map +1 -1
  205. package/lib/types/backends/shared/channel-tokens.js +30 -23
  206. package/lib/types/{channel → backends/shared}/elicitation.d.ts +78 -21
  207. package/lib/types/backends/shared/elicitation.d.ts.map +1 -0
  208. package/lib/types/{channel → backends/shared}/elicitation.js +64 -66
  209. package/lib/types/backends/shared/image-size.d.ts +33 -0
  210. package/lib/types/backends/shared/image-size.d.ts.map +1 -0
  211. package/lib/types/backends/shared/image-size.js +134 -0
  212. package/lib/types/{utils → backends/shared}/jsonl.d.ts +5 -1
  213. package/lib/types/backends/shared/jsonl.d.ts.map +1 -0
  214. package/lib/types/{utils → backends/shared}/jsonl.js +5 -1
  215. package/lib/types/backends/shared/localized-text.d.ts +30 -0
  216. package/lib/types/backends/shared/localized-text.d.ts.map +1 -0
  217. package/lib/types/backends/shared/localized-text.js +24 -0
  218. package/lib/types/backends/shared/platform-text.d.ts +88 -0
  219. package/lib/types/backends/shared/platform-text.d.ts.map +1 -0
  220. package/lib/types/backends/shared/platform-text.js +33 -0
  221. package/lib/types/branding.d.ts +13 -0
  222. package/lib/types/branding.d.ts.map +1 -1
  223. package/lib/types/branding.js +18 -0
  224. package/lib/types/channel/channel-slug.d.ts +3 -1
  225. package/lib/types/channel/channel-slug.d.ts.map +1 -1
  226. package/lib/types/channel/channel-slug.js +3 -1
  227. package/lib/types/channel/projection.d.ts.map +1 -1
  228. package/lib/types/channel/projection.js +10 -0
  229. package/lib/types/channel/sanitize.d.ts +7 -0
  230. package/lib/types/channel/sanitize.d.ts.map +1 -1
  231. package/lib/types/channel/sanitize.js +9 -0
  232. package/lib/types/channel/usage.d.ts.map +1 -1
  233. package/lib/types/channel/usage.js +5 -0
  234. package/lib/types/commands.d.ts +15 -0
  235. package/lib/types/commands.d.ts.map +1 -1
  236. package/lib/types/commands.js +58 -10
  237. package/lib/types/components/AgentMessageComposer.d.ts.map +1 -1
  238. package/lib/types/components/AgentMessageComposer.js +3 -2
  239. package/lib/types/components/BtwPanel.d.ts.map +1 -1
  240. package/lib/types/components/BtwPanel.js +4 -2
  241. package/lib/types/components/Chat/JobCard.js +3 -3
  242. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  243. package/lib/types/components/CommandSuggestions.js +24 -7
  244. package/lib/types/components/ContextBarView.d.ts +5 -1
  245. package/lib/types/components/ContextBarView.d.ts.map +1 -1
  246. package/lib/types/components/ContextBarView.js +6 -3
  247. package/lib/types/components/ExtensionDialog.d.ts.map +1 -1
  248. package/lib/types/components/ExtensionDialog.js +2 -3
  249. package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
  250. package/lib/types/components/GoalTodoPanel.js +14 -3
  251. package/lib/types/components/InlineMathParagraph.js +1 -1
  252. package/lib/types/components/KernelPicker.d.ts.map +1 -1
  253. package/lib/types/components/KernelPicker.js +1 -1
  254. package/lib/types/components/LogoV2.d.ts +4 -1
  255. package/lib/types/components/LogoV2.d.ts.map +1 -1
  256. package/lib/types/components/LogoV2.js +14 -9
  257. package/lib/types/components/MarkdownTable.d.ts.map +1 -1
  258. package/lib/types/components/MarkdownTable.js +4 -3
  259. package/lib/types/components/MessageList.d.ts.map +1 -1
  260. package/lib/types/components/MessageList.js +109 -15
  261. package/lib/types/components/ModelPicker.d.ts +24 -31
  262. package/lib/types/components/ModelPicker.d.ts.map +1 -1
  263. package/lib/types/components/ModelPicker.js +115 -40
  264. package/lib/types/components/PermissionsPicker.d.ts +10 -1
  265. package/lib/types/components/PermissionsPicker.d.ts.map +1 -1
  266. package/lib/types/components/PermissionsPicker.js +24 -16
  267. package/lib/types/components/PluginInstallPane.d.ts +21 -0
  268. package/lib/types/components/PluginInstallPane.d.ts.map +1 -0
  269. package/lib/types/components/PluginInstallPane.js +84 -0
  270. package/lib/types/components/PluginManagePane.d.ts +21 -0
  271. package/lib/types/components/PluginManagePane.d.ts.map +1 -0
  272. package/lib/types/components/PluginManagePane.js +69 -0
  273. package/lib/types/components/PromptEditor.d.ts +3 -3
  274. package/lib/types/components/PromptInput.d.ts +21 -3
  275. package/lib/types/components/PromptInput.d.ts.map +1 -1
  276. package/lib/types/components/PromptInput.js +65 -121
  277. package/lib/types/components/SdkInstallWizard.d.ts +3 -1
  278. package/lib/types/components/SdkInstallWizard.d.ts.map +1 -1
  279. package/lib/types/components/SdkInstallWizard.js +8 -1
  280. package/lib/types/components/SearchBox.d.ts +13 -15
  281. package/lib/types/components/SearchBox.d.ts.map +1 -1
  282. package/lib/types/components/SearchBox.js +58 -27
  283. package/lib/types/components/SubagentCard.d.ts +13 -1
  284. package/lib/types/components/SubagentCard.d.ts.map +1 -1
  285. package/lib/types/components/SubagentCard.js +27 -12
  286. package/lib/types/components/SubagentDashboard.d.ts +8 -1
  287. package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
  288. package/lib/types/components/SubagentDashboard.js +58 -16
  289. package/lib/types/components/ThemePicker.d.ts +1 -1
  290. package/lib/types/components/ThemePicker.d.ts.map +1 -1
  291. package/lib/types/components/ThemePicker.js +14 -11
  292. package/lib/types/components/Tooltip.js +1 -1
  293. package/lib/types/components/WorkingSpinner.js +1 -1
  294. package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -1
  295. package/lib/types/components/WorkspaceFlowPicker.js +4 -3
  296. package/lib/types/components/composerImageTokens.d.ts +24 -0
  297. package/lib/types/components/composerImageTokens.d.ts.map +1 -0
  298. package/lib/types/components/composerImageTokens.js +37 -0
  299. package/lib/types/components/design-system/InputCaret.d.ts +7 -0
  300. package/lib/types/components/design-system/InputCaret.d.ts.map +1 -0
  301. package/lib/types/components/design-system/InputCaret.js +9 -0
  302. package/lib/types/components/design-system/ListItem.d.ts +13 -2
  303. package/lib/types/components/design-system/ListItem.d.ts.map +1 -1
  304. package/lib/types/components/design-system/ListItem.js +11 -5
  305. package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
  306. package/lib/types/components/design-system/ThemeProvider.js +6 -8
  307. package/lib/types/components/kernelCatalog.d.ts +55 -11
  308. package/lib/types/components/kernelCatalog.d.ts.map +1 -1
  309. package/lib/types/components/kernelCatalog.js +42 -23
  310. package/lib/types/components/launchpadActions.d.ts +4 -0
  311. package/lib/types/components/launchpadActions.d.ts.map +1 -1
  312. package/lib/types/components/launchpadActions.js +5 -4
  313. package/lib/types/components/launchpadLayout.d.ts +14 -1
  314. package/lib/types/components/launchpadLayout.d.ts.map +1 -1
  315. package/lib/types/components/launchpadLayout.js +38 -19
  316. package/lib/types/components/messages/TeamMessageBubble.d.ts +20 -0
  317. package/lib/types/components/messages/TeamMessageBubble.d.ts.map +1 -0
  318. package/lib/types/components/messages/TeamMessageBubble.js +15 -0
  319. package/lib/types/components/messages/UserPromptMessage.d.ts +4 -3
  320. package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -1
  321. package/lib/types/components/messages/UserPromptMessage.js +4 -3
  322. package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
  323. package/lib/types/components/questions/AskUserQuestionPanel.js +8 -3
  324. package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -1
  325. package/lib/types/components/questions/PlanReviewPanel.js +4 -3
  326. package/lib/types/components/questions/ProviderModelEditor.d.ts.map +1 -1
  327. package/lib/types/components/questions/ProviderModelEditor.js +3 -13
  328. package/lib/types/components/sessions/ForeignSessionRow.d.ts +3 -1
  329. package/lib/types/components/sessions/ForeignSessionRow.d.ts.map +1 -1
  330. package/lib/types/components/sessions/ForeignSessionRow.js +5 -2
  331. package/lib/types/components/sessions/SessionListRow.d.ts +3 -1
  332. package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -1
  333. package/lib/types/components/sessions/SessionListRow.js +5 -2
  334. package/lib/types/components/sidePanel/PanelBar.d.ts +1 -0
  335. package/lib/types/components/sidePanel/PanelBar.d.ts.map +1 -1
  336. package/lib/types/components/sidePanel/PanelBar.js +21 -17
  337. package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -1
  338. package/lib/types/components/sidePanel/PanelHost.js +5 -1
  339. package/lib/types/components/sidePanel/PanelStore.d.ts +8 -0
  340. package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -1
  341. package/lib/types/components/sidePanel/PanelStore.js +11 -0
  342. package/lib/types/components/sidePanel/SidePanelColumn.d.ts +1 -1
  343. package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
  344. package/lib/types/components/sidePanel/SidePanelColumn.js +15 -2
  345. package/lib/types/components/sidePanel/SidePanelLayout.d.ts +6 -4
  346. package/lib/types/components/sidePanel/SidePanelLayout.d.ts.map +1 -1
  347. package/lib/types/components/sidePanel/SidePanelLayout.js +33 -7
  348. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +7 -0
  349. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -1
  350. package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +4 -0
  351. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +7 -2
  352. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
  353. package/lib/types/components/sidePanel/btw/BtwComposer.js +28 -8
  354. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +2 -1
  355. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
  356. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +156 -21
  357. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +6 -2
  358. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
  359. package/lib/types/components/sidePanel/btw/BtwThreadScene.js +64 -16
  360. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +15 -5
  361. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
  362. package/lib/types/components/sidePanel/btw/BtwThreadView.js +101 -10
  363. package/lib/types/components/sidePanel/btw/threads.d.ts +18 -0
  364. package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -1
  365. package/lib/types/components/sidePanel/btw/threads.js +51 -0
  366. package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -1
  367. package/lib/types/components/sidePanel/builtinPanels.js +5 -1
  368. package/lib/types/components/sidePanel/companion/CompanionPanel.js +2 -2
  369. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +5 -1
  370. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -1
  371. package/lib/types/components/sidePanel/companion/SplashMascot.js +19 -4
  372. package/lib/types/components/sidePanel/companion/skins.d.ts +8 -0
  373. package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -1
  374. package/lib/types/components/sidePanel/companion/skins.js +57 -12
  375. package/lib/types/components/sidePanel/types.d.ts +7 -1
  376. package/lib/types/components/sidePanel/types.d.ts.map +1 -1
  377. package/lib/types/components/sidePanel/useSidePanel.d.ts +2 -0
  378. package/lib/types/components/sidePanel/useSidePanel.d.ts.map +1 -1
  379. package/lib/types/components/sidePanel/useSidePanel.js +11 -1
  380. package/lib/types/components/splashArtRows.d.ts +29 -0
  381. package/lib/types/components/splashArtRows.d.ts.map +1 -0
  382. package/lib/types/components/splashArtRows.js +31 -0
  383. package/lib/types/components/splashFonts.d.ts +24 -1
  384. package/lib/types/components/splashFonts.d.ts.map +1 -1
  385. package/lib/types/components/splashFonts.js +40 -5
  386. package/lib/types/components/teamRoster.d.ts +70 -0
  387. package/lib/types/components/teamRoster.d.ts.map +1 -0
  388. package/lib/types/components/teamRoster.js +78 -0
  389. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +3 -1
  390. package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -1
  391. package/lib/types/components/workspaces/HomeWorkspaceRow.js +5 -2
  392. package/lib/types/dsh-adapter/admission-loader.d.ts +102 -0
  393. package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -0
  394. package/lib/types/dsh-adapter/admission-loader.js +301 -0
  395. package/lib/types/dsh-adapter/agent-view.d.ts.map +1 -1
  396. package/lib/types/dsh-adapter/agent-view.js +3 -1
  397. package/lib/types/dsh-adapter/approvals.d.ts +7 -0
  398. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
  399. package/lib/types/dsh-adapter/approvals.js +45 -1
  400. package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
  401. package/lib/types/dsh-adapter/backend/translate.js +71 -8
  402. package/lib/types/dsh-adapter/backend-admission.d.ts +64 -0
  403. package/lib/types/dsh-adapter/backend-admission.d.ts.map +1 -0
  404. package/lib/types/dsh-adapter/backend-admission.js +34 -0
  405. package/lib/types/dsh-adapter/backend-assembly.d.ts +31 -0
  406. package/lib/types/dsh-adapter/backend-assembly.d.ts.map +1 -0
  407. package/lib/types/dsh-adapter/backend-assembly.js +225 -0
  408. package/lib/types/dsh-adapter/backend-contribution.d.ts +62 -0
  409. package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -0
  410. package/lib/types/dsh-adapter/backend-contribution.js +78 -0
  411. package/lib/types/dsh-adapter/backend-registry.d.ts +136 -0
  412. package/lib/types/dsh-adapter/backend-registry.d.ts.map +1 -0
  413. package/lib/types/dsh-adapter/backend-registry.js +304 -0
  414. package/lib/types/dsh-adapter/backends.d.ts +67 -24
  415. package/lib/types/dsh-adapter/backends.d.ts.map +1 -1
  416. package/lib/types/dsh-adapter/backends.generated.d.ts +12 -0
  417. package/lib/types/dsh-adapter/backends.generated.d.ts.map +1 -0
  418. package/lib/types/dsh-adapter/backends.generated.js +6 -0
  419. package/lib/types/dsh-adapter/backends.js +91 -46
  420. package/lib/types/dsh-adapter/bundled-presets.d.ts.map +1 -1
  421. package/lib/types/dsh-adapter/bundled-presets.js +60 -3
  422. package/lib/types/dsh-adapter/channel/action-readiness.d.ts +2 -0
  423. package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -1
  424. package/lib/types/dsh-adapter/channel/action-readiness.js +9 -3
  425. package/lib/types/dsh-adapter/channel/agent-view-projection.js +2 -2
  426. package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -1
  427. package/lib/types/dsh-adapter/channel/background-action.js +8 -3
  428. package/lib/types/dsh-adapter/channel/binding-events.d.ts +17 -3
  429. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
  430. package/lib/types/dsh-adapter/channel/binding-events.js +19 -46
  431. package/lib/types/dsh-adapter/channel/channel-host.d.ts +45 -0
  432. package/lib/types/dsh-adapter/channel/channel-host.d.ts.map +1 -0
  433. package/lib/types/dsh-adapter/channel/channel-host.js +1 -0
  434. package/lib/types/dsh-adapter/channel/command-completions.d.ts +5 -0
  435. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
  436. package/lib/types/dsh-adapter/channel/command-completions.js +79 -6
  437. package/lib/types/dsh-adapter/channel/compaction.d.ts +7 -2
  438. package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
  439. package/lib/types/dsh-adapter/channel/compaction.js +100 -26
  440. package/lib/types/dsh-adapter/channel/composer-images.d.ts +4 -2
  441. package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -1
  442. package/lib/types/dsh-adapter/channel/composer-images.js +36 -5
  443. package/lib/types/dsh-adapter/channel/cordis-host.d.ts +14 -0
  444. package/lib/types/dsh-adapter/channel/cordis-host.d.ts.map +1 -0
  445. package/lib/types/dsh-adapter/channel/cordis-host.js +35 -0
  446. package/lib/types/dsh-adapter/channel/core/actions.d.ts +3 -3
  447. package/lib/types/dsh-adapter/channel/core/actions.d.ts.map +1 -1
  448. package/lib/types/dsh-adapter/channel/core/actions.js +15 -6
  449. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +10 -3
  450. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -1
  451. package/lib/types/dsh-adapter/channel/core/binding-feed.js +5 -1
  452. package/lib/types/dsh-adapter/channel/core/compose.d.ts +12 -28
  453. package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -1
  454. package/lib/types/dsh-adapter/channel/core/compose.js +330 -117
  455. package/lib/types/dsh-adapter/channel/core/files.d.ts +7 -2
  456. package/lib/types/dsh-adapter/channel/core/files.d.ts.map +1 -1
  457. package/lib/types/dsh-adapter/channel/core/files.js +1 -0
  458. package/lib/types/dsh-adapter/channel/core/host.d.ts +12 -6
  459. package/lib/types/dsh-adapter/channel/core/host.d.ts.map +1 -1
  460. package/lib/types/dsh-adapter/channel/core/host.js +69 -35
  461. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts +5 -3
  462. package/lib/types/dsh-adapter/channel/core/local-actions.d.ts.map +1 -1
  463. package/lib/types/dsh-adapter/channel/core/local-actions.js +5 -2
  464. package/lib/types/dsh-adapter/channel/core/session-controls.js +2 -2
  465. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts +7 -4
  466. package/lib/types/dsh-adapter/channel/core/session-switch.d.ts.map +1 -1
  467. package/lib/types/dsh-adapter/channel/core/session-switch.js +8 -4
  468. package/lib/types/dsh-adapter/channel/core/sessions.d.ts +1 -1
  469. package/lib/types/dsh-adapter/channel/core/sessions.d.ts.map +1 -1
  470. package/lib/types/dsh-adapter/channel/core/sessions.js +75 -16
  471. package/lib/types/dsh-adapter/channel/extensions.d.ts +4 -3
  472. package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -1
  473. package/lib/types/dsh-adapter/channel/extensions.js +109 -30
  474. package/lib/types/dsh-adapter/channel/input-delivery.d.ts +2 -2
  475. package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -1
  476. package/lib/types/dsh-adapter/channel/input-delivery.js +14 -5
  477. package/lib/types/dsh-adapter/channel/job-projection.d.ts +4 -0
  478. package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -1
  479. package/lib/types/dsh-adapter/channel/job-projection.js +205 -24
  480. package/lib/types/dsh-adapter/channel/mentions.d.ts +3 -3
  481. package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -1
  482. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +7 -0
  483. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
  484. package/lib/types/dsh-adapter/channel/mode-permission-actions.js +235 -13
  485. package/lib/types/dsh-adapter/channel/model-actions.d.ts +5 -1
  486. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
  487. package/lib/types/dsh-adapter/channel/model-actions.js +48 -29
  488. package/lib/types/dsh-adapter/channel/model-selection.d.ts +17 -0
  489. package/lib/types/dsh-adapter/channel/model-selection.d.ts.map +1 -0
  490. package/lib/types/dsh-adapter/channel/model-selection.js +109 -0
  491. package/lib/types/dsh-adapter/channel/model-switch.d.ts +12 -21
  492. package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -1
  493. package/lib/types/dsh-adapter/channel/model-switch.js +39 -102
  494. package/lib/types/dsh-adapter/channel/permissions.d.ts.map +1 -1
  495. package/lib/types/dsh-adapter/channel/permissions.js +4 -1
  496. package/lib/types/dsh-adapter/channel/projection-helpers.d.ts.map +1 -1
  497. package/lib/types/dsh-adapter/channel/projection-helpers.js +2 -0
  498. package/lib/types/dsh-adapter/channel/projection.js +1 -1
  499. package/lib/types/dsh-adapter/channel/reports.d.ts +1 -1
  500. package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -1
  501. package/lib/types/dsh-adapter/channel/reports.js +11 -3
  502. package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -1
  503. package/lib/types/dsh-adapter/channel/session-fork.js +33 -20
  504. package/lib/types/dsh-adapter/channel/session-listing.d.ts +20 -0
  505. package/lib/types/dsh-adapter/channel/session-listing.d.ts.map +1 -0
  506. package/lib/types/dsh-adapter/channel/session-listing.js +51 -0
  507. package/lib/types/dsh-adapter/channel/session-metadata.d.ts +3 -1
  508. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
  509. package/lib/types/dsh-adapter/channel/session-metadata.js +60 -30
  510. package/lib/types/dsh-adapter/channel/session-reset.js +2 -2
  511. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
  512. package/lib/types/dsh-adapter/channel/session-resume.js +22 -8
  513. package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -1
  514. package/lib/types/dsh-adapter/channel/session-rewind.js +38 -24
  515. package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -1
  516. package/lib/types/dsh-adapter/channel/session-tree-actions.js +38 -24
  517. package/lib/types/dsh-adapter/channel/settings-host.d.ts +5 -2
  518. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
  519. package/lib/types/dsh-adapter/channel/settings-host.js +136 -5
  520. package/lib/types/dsh-adapter/channel/state.d.ts +43 -1
  521. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
  522. package/lib/types/dsh-adapter/channel/state.js +14 -1
  523. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
  524. package/lib/types/dsh-adapter/channel/subagent-projection.js +84 -12
  525. package/lib/types/dsh-adapter/channel/task-completion.d.ts +6 -0
  526. package/lib/types/dsh-adapter/channel/task-completion.d.ts.map +1 -0
  527. package/lib/types/dsh-adapter/channel/task-completion.js +114 -0
  528. package/lib/types/dsh-adapter/channel/transcript.d.ts +8 -1
  529. package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
  530. package/lib/types/dsh-adapter/channel/transcript.js +20 -3
  531. package/lib/types/dsh-adapter/channel/upstream-retry.d.ts +81 -0
  532. package/lib/types/dsh-adapter/channel/upstream-retry.d.ts.map +1 -0
  533. package/lib/types/dsh-adapter/channel/upstream-retry.js +138 -0
  534. package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -1
  535. package/lib/types/dsh-adapter/channel/workspace-actions.js +9 -8
  536. package/lib/types/dsh-adapter/channel-ui.d.ts +3 -1
  537. package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -1
  538. package/lib/types/dsh-adapter/channel-ui.js +4 -2
  539. package/lib/types/dsh-adapter/channel.d.ts +2 -2
  540. package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
  541. package/lib/types/dsh-adapter/channel.js +19 -5
  542. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts +55 -0
  543. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts.map +1 -0
  544. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.js +96 -0
  545. package/lib/types/dsh-adapter/context-occupancy.d.ts +81 -4
  546. package/lib/types/dsh-adapter/context-occupancy.d.ts.map +1 -1
  547. package/lib/types/dsh-adapter/context-occupancy.js +108 -17
  548. package/lib/types/dsh-adapter/contract.d.ts +4 -4
  549. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  550. package/lib/types/dsh-adapter/contract.js +20 -5
  551. package/lib/types/dsh-adapter/effect-ledger.d.ts +7 -0
  552. package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -1
  553. package/lib/types/dsh-adapter/effect-ledger.js +8 -1
  554. package/lib/types/dsh-adapter/entry-slot.d.ts +38 -0
  555. package/lib/types/dsh-adapter/entry-slot.d.ts.map +1 -0
  556. package/lib/types/dsh-adapter/entry-slot.js +28 -0
  557. package/lib/types/dsh-adapter/fresh-agent.d.ts +22 -0
  558. package/lib/types/dsh-adapter/fresh-agent.d.ts.map +1 -0
  559. package/lib/types/dsh-adapter/fresh-agent.js +226 -0
  560. package/lib/types/dsh-adapter/host-access.d.ts +16 -1
  561. package/lib/types/dsh-adapter/host-access.d.ts.map +1 -1
  562. package/lib/types/dsh-adapter/host-access.js +148 -2
  563. package/lib/types/dsh-adapter/host-contract.d.ts +103 -0
  564. package/lib/types/dsh-adapter/host-contract.d.ts.map +1 -0
  565. package/lib/types/dsh-adapter/host-contract.js +77 -0
  566. package/lib/types/dsh-adapter/host-dsh.d.ts +112 -0
  567. package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -0
  568. package/lib/types/dsh-adapter/host-dsh.js +481 -0
  569. package/lib/types/dsh-adapter/host-entry.d.ts +9 -0
  570. package/lib/types/dsh-adapter/host-entry.d.ts.map +1 -0
  571. package/lib/types/dsh-adapter/host-entry.js +253 -0
  572. package/lib/types/dsh-adapter/index.d.ts +53 -17
  573. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  574. package/lib/types/dsh-adapter/index.js +63 -9
  575. package/lib/types/dsh-adapter/install/executors.d.ts +44 -0
  576. package/lib/types/dsh-adapter/install/executors.d.ts.map +1 -0
  577. package/lib/types/dsh-adapter/install/executors.js +15 -0
  578. package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts +3 -0
  579. package/lib/types/dsh-adapter/install/pnpm-profile-add.d.ts.map +1 -0
  580. package/lib/types/dsh-adapter/install/pnpm-profile-add.js +150 -0
  581. package/lib/types/dsh-adapter/invariant.d.ts +7 -2
  582. package/lib/types/dsh-adapter/invariant.d.ts.map +1 -1
  583. package/lib/types/dsh-adapter/invariant.js +6 -3
  584. package/lib/types/dsh-adapter/jobs.d.ts +7 -0
  585. package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
  586. package/lib/types/dsh-adapter/jobs.js +13 -0
  587. package/lib/types/dsh-adapter/lite-profile.d.ts +50 -0
  588. package/lib/types/dsh-adapter/lite-profile.d.ts.map +1 -0
  589. package/lib/types/dsh-adapter/lite-profile.js +49 -0
  590. package/lib/types/dsh-adapter/migrate/index.js +2 -2
  591. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts +1 -1
  592. package/lib/types/dsh-adapter/migrate/parse/jsonl.d.ts.map +1 -1
  593. package/lib/types/dsh-adapter/migrate/parse/jsonl.js +4 -3
  594. package/lib/types/dsh-adapter/oauth/profiles.d.ts.map +1 -1
  595. package/lib/types/dsh-adapter/oauth/profiles.js +5 -1
  596. package/lib/types/dsh-adapter/panels.d.ts +7 -0
  597. package/lib/types/dsh-adapter/panels.d.ts.map +1 -1
  598. package/lib/types/dsh-adapter/panels.js +41 -2
  599. package/lib/types/dsh-adapter/plugin-completions.d.ts +32 -0
  600. package/lib/types/dsh-adapter/plugin-completions.d.ts.map +1 -0
  601. package/lib/types/dsh-adapter/plugin-completions.js +80 -0
  602. package/lib/types/dsh-adapter/plugin-declaration.d.ts +119 -0
  603. package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -0
  604. package/lib/types/dsh-adapter/plugin-declaration.js +183 -0
  605. package/lib/types/dsh-adapter/plugin-feed.d.ts +94 -0
  606. package/lib/types/dsh-adapter/plugin-feed.d.ts.map +1 -0
  607. package/lib/types/dsh-adapter/plugin-feed.js +135 -0
  608. package/lib/types/dsh-adapter/plugin-guard.d.ts +115 -0
  609. package/lib/types/dsh-adapter/plugin-guard.d.ts.map +1 -0
  610. package/lib/types/dsh-adapter/plugin-guard.js +108 -0
  611. package/lib/types/dsh-adapter/plugin-host.d.ts +13 -2
  612. package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
  613. package/lib/types/dsh-adapter/plugin-host.js +34 -8
  614. package/lib/types/dsh-adapter/plugin-install.d.ts +160 -0
  615. package/lib/types/dsh-adapter/plugin-install.d.ts.map +1 -0
  616. package/lib/types/dsh-adapter/plugin-install.js +545 -0
  617. package/lib/types/dsh-adapter/plugin-manage.d.ts +178 -0
  618. package/lib/types/dsh-adapter/plugin-manage.d.ts.map +1 -0
  619. package/lib/types/dsh-adapter/plugin-manage.js +468 -0
  620. package/lib/types/dsh-adapter/plugin-manager.d.ts +144 -0
  621. package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -0
  622. package/lib/types/dsh-adapter/plugin-manager.js +83 -0
  623. package/lib/types/dsh-adapter/plugin.d.ts +50 -1
  624. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  625. package/lib/types/dsh-adapter/plugin.js +918 -234
  626. package/lib/types/dsh-adapter/plugins-info.d.ts +130 -8
  627. package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
  628. package/lib/types/dsh-adapter/plugins-info.js +469 -44
  629. package/lib/types/dsh-adapter/process-exit.d.ts +43 -0
  630. package/lib/types/dsh-adapter/process-exit.d.ts.map +1 -0
  631. package/lib/types/dsh-adapter/process-exit.js +60 -0
  632. package/lib/types/dsh-adapter/root-dispose.d.ts +18 -0
  633. package/lib/types/dsh-adapter/root-dispose.d.ts.map +1 -0
  634. package/lib/types/dsh-adapter/root-dispose.js +28 -0
  635. package/lib/types/dsh-adapter/session-list-metadata.d.ts +20 -0
  636. package/lib/types/dsh-adapter/session-list-metadata.d.ts.map +1 -0
  637. package/lib/types/dsh-adapter/session-list-metadata.js +56 -0
  638. package/lib/types/dsh-adapter/session-projection-store.d.ts +66 -0
  639. package/lib/types/dsh-adapter/session-projection-store.d.ts.map +1 -0
  640. package/lib/types/dsh-adapter/session-projection-store.js +149 -0
  641. package/lib/types/dsh-adapter/session-seed.d.ts +11 -0
  642. package/lib/types/dsh-adapter/session-seed.d.ts.map +1 -0
  643. package/lib/types/dsh-adapter/session-seed.js +47 -0
  644. package/lib/types/dsh-adapter/sessions/list.d.ts +3 -1
  645. package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
  646. package/lib/types/dsh-adapter/sessions/list.js +11 -5
  647. package/lib/types/dsh-adapter/sessions/snapshot.d.ts +0 -2
  648. package/lib/types/dsh-adapter/sessions/snapshot.d.ts.map +1 -1
  649. package/lib/types/dsh-adapter/sessions/snapshot.js +7 -70
  650. package/lib/types/dsh-adapter/settingsEditor.js +2 -2
  651. package/lib/types/dsh-adapter/sideQuestion.d.ts +21 -0
  652. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
  653. package/lib/types/dsh-adapter/sideQuestion.js +53 -0
  654. package/lib/types/dsh-adapter/startup-args.d.ts +2 -0
  655. package/lib/types/dsh-adapter/startup-args.d.ts.map +1 -1
  656. package/lib/types/dsh-adapter/startup-args.js +5 -0
  657. package/lib/types/dsh-adapter/subagents.d.ts +33 -1
  658. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  659. package/lib/types/dsh-adapter/subagents.js +112 -9
  660. package/lib/types/dsh-adapter/team-mode.d.ts +74 -0
  661. package/lib/types/dsh-adapter/team-mode.d.ts.map +1 -0
  662. package/lib/types/dsh-adapter/team-mode.js +188 -0
  663. package/lib/types/dsh-adapter/team-roster.d.ts +67 -0
  664. package/lib/types/dsh-adapter/team-roster.d.ts.map +1 -0
  665. package/lib/types/dsh-adapter/team-roster.js +136 -0
  666. package/lib/types/dsh-adapter/team-tools.d.ts +58 -0
  667. package/lib/types/dsh-adapter/team-tools.d.ts.map +1 -0
  668. package/lib/types/dsh-adapter/team-tools.js +208 -0
  669. package/lib/types/dsh-adapter/tui-settings.d.ts +57 -0
  670. package/lib/types/dsh-adapter/tui-settings.d.ts.map +1 -0
  671. package/lib/types/dsh-adapter/tui-settings.js +199 -0
  672. package/lib/types/dsh-adapter/types.d.ts +1 -1
  673. package/lib/types/dsh-adapter/types.d.ts.map +1 -1
  674. package/lib/types/effortPrefs.d.ts +6 -3
  675. package/lib/types/effortPrefs.d.ts.map +1 -1
  676. package/lib/types/effortPrefs.js +7 -4
  677. package/lib/types/hostEntryRoute.d.ts +18 -0
  678. package/lib/types/hostEntryRoute.d.ts.map +1 -0
  679. package/lib/types/hostEntryRoute.js +57 -0
  680. package/lib/types/i18n.d.ts +961 -1439
  681. package/lib/types/i18n.d.ts.map +1 -1
  682. package/lib/types/i18n.js +443 -387
  683. package/lib/types/ink/components/AlternateScreen.js +2 -2
  684. package/lib/types/ink/components/App.d.ts +1 -0
  685. package/lib/types/ink/components/App.d.ts.map +1 -1
  686. package/lib/types/ink/components/App.js +16 -4
  687. package/lib/types/ink/components/CursorDeclarationContext.d.ts +9 -0
  688. package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -1
  689. package/lib/types/ink/components/CursorDeclarationContext.js +2 -0
  690. package/lib/types/ink/components/ScrollBox.d.ts +9 -0
  691. package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
  692. package/lib/types/ink/components/ScrollBox.js +23 -0
  693. package/lib/types/ink/dom.d.ts.map +1 -1
  694. package/lib/types/ink/hooks/use-copy-on-select.d.ts +2 -2
  695. package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -1
  696. package/lib/types/ink/hooks/use-copy-on-select.js +13 -7
  697. package/lib/types/ink/hooks/use-declared-cursor.d.ts +11 -3
  698. package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -1
  699. package/lib/types/ink/hooks/use-declared-cursor.js +30 -10
  700. package/lib/types/ink/ink.d.ts +22 -17
  701. package/lib/types/ink/ink.d.ts.map +1 -1
  702. package/lib/types/ink/ink.js +151 -40
  703. package/lib/types/ink/kitty-graphics.d.ts +2 -0
  704. package/lib/types/ink/kitty-graphics.d.ts.map +1 -1
  705. package/lib/types/ink/kitty-graphics.js +6 -1
  706. package/lib/types/ink/node-cache.d.ts +2 -1
  707. package/lib/types/ink/node-cache.d.ts.map +1 -1
  708. package/lib/types/ink/output.d.ts +10 -4
  709. package/lib/types/ink/output.d.ts.map +1 -1
  710. package/lib/types/ink/output.js +14 -10
  711. package/lib/types/ink/render-node-to-output.d.ts +5 -2
  712. package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
  713. package/lib/types/ink/render-node-to-output.js +27 -9
  714. package/lib/types/ink/renderer.d.ts +1 -0
  715. package/lib/types/ink/renderer.d.ts.map +1 -1
  716. package/lib/types/ink/renderer.js +4 -3
  717. package/lib/types/ink/root.d.ts +4 -1
  718. package/lib/types/ink/root.d.ts.map +1 -1
  719. package/lib/types/ink/screen.d.ts +4 -2
  720. package/lib/types/ink/screen.d.ts.map +1 -1
  721. package/lib/types/ink/selection.d.ts +10 -1
  722. package/lib/types/ink/selection.d.ts.map +1 -1
  723. package/lib/types/ink/selection.js +94 -25
  724. package/lib/types/ink/stdin-handoff.d.ts +11 -0
  725. package/lib/types/ink/stdin-handoff.d.ts.map +1 -0
  726. package/lib/types/ink/stdin-handoff.js +20 -0
  727. package/lib/types/ink/styles.d.ts +2 -1
  728. package/lib/types/ink/styles.d.ts.map +1 -1
  729. package/lib/types/ink/terminal-image.d.ts +6 -4
  730. package/lib/types/ink/terminal-image.d.ts.map +1 -1
  731. package/lib/types/ink/terminal-image.js +16 -39
  732. package/lib/types/ink/terminal-notification.d.ts +8 -0
  733. package/lib/types/ink/terminal-notification.d.ts.map +1 -0
  734. package/lib/types/ink/terminal-notification.js +83 -0
  735. package/lib/types/ink/terminal.d.ts +9 -0
  736. package/lib/types/ink/terminal.d.ts.map +1 -1
  737. package/lib/types/ink/terminal.js +34 -1
  738. package/lib/types/ink/termio/csi.d.ts +11 -0
  739. package/lib/types/ink/termio/csi.d.ts.map +1 -1
  740. package/lib/types/ink/termio/csi.js +13 -0
  741. package/lib/types/ink/update-overflow-guard.d.ts +6 -0
  742. package/lib/types/ink/update-overflow-guard.d.ts.map +1 -1
  743. package/lib/types/ink/update-overflow-guard.js +17 -0
  744. package/lib/types/ink/wrap-text.d.ts +6 -0
  745. package/lib/types/ink/wrap-text.d.ts.map +1 -1
  746. package/lib/types/ink/wrap-text.js +17 -0
  747. package/lib/types/kernelPrefs.d.ts +130 -17
  748. package/lib/types/kernelPrefs.d.ts.map +1 -1
  749. package/lib/types/kernelPrefs.js +98 -35
  750. package/lib/types/math/inline-layout.d.ts +2 -0
  751. package/lib/types/math/inline-layout.d.ts.map +1 -1
  752. package/lib/types/math/inline-layout.js +5 -27
  753. package/lib/types/modelGroups.d.ts +15 -27
  754. package/lib/types/modelGroups.d.ts.map +1 -1
  755. package/lib/types/modelGroups.js +17 -31
  756. package/lib/types/modelPrefs.d.ts +5 -4
  757. package/lib/types/modelPrefs.d.ts.map +1 -1
  758. package/lib/types/modelPrefs.js +5 -4
  759. package/lib/types/modelRoute.d.ts +23 -9
  760. package/lib/types/modelRoute.d.ts.map +1 -1
  761. package/lib/types/modelRoute.js +25 -11
  762. package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
  763. package/lib/types/native-ts/yoga-layout/index.js +8 -1
  764. package/lib/types/permissionPrefs.d.ts +34 -0
  765. package/lib/types/permissionPrefs.d.ts.map +1 -0
  766. package/lib/types/permissionPrefs.js +61 -0
  767. package/lib/types/permissionPresetLabels.d.ts +25 -0
  768. package/lib/types/permissionPresetLabels.d.ts.map +1 -0
  769. package/lib/types/permissionPresetLabels.js +33 -0
  770. package/lib/types/plugin-host.d.ts +1 -0
  771. package/lib/types/plugin-host.d.ts.map +1 -1
  772. package/lib/types/preset-patch.d.ts +22 -0
  773. package/lib/types/preset-patch.d.ts.map +1 -0
  774. package/lib/types/preset-patch.js +14 -0
  775. package/lib/types/presetPrefs.d.ts +17 -3
  776. package/lib/types/presetPrefs.d.ts.map +1 -1
  777. package/lib/types/presetPrefs.js +20 -3
  778. package/lib/types/reload.d.ts +6 -10
  779. package/lib/types/reload.d.ts.map +1 -1
  780. package/lib/types/reload.js +14 -14
  781. package/lib/types/screens/Chat.d.ts +55 -16
  782. package/lib/types/screens/Chat.d.ts.map +1 -1
  783. package/lib/types/screens/Chat.js +742 -280
  784. package/lib/types/screens/Launchpad.d.ts +33 -17
  785. package/lib/types/screens/Launchpad.d.ts.map +1 -1
  786. package/lib/types/screens/Launchpad.js +256 -78
  787. package/lib/types/screens/SessionSupervisor.d.ts.map +1 -1
  788. package/lib/types/screens/SessionSupervisor.js +53 -12
  789. package/lib/types/screens/Settings.d.ts.map +1 -1
  790. package/lib/types/screens/Settings.js +7 -0
  791. package/lib/types/screens/StatusLine.d.ts.map +1 -1
  792. package/lib/types/screens/StatusLine.js +24 -7
  793. package/lib/types/screens/StatusMetrics.d.ts +46 -1
  794. package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
  795. package/lib/types/screens/StatusMetrics.js +72 -0
  796. package/lib/types/screens/chat/useKernelPicker.d.ts +8 -4
  797. package/lib/types/screens/chat/useKernelPicker.d.ts.map +1 -1
  798. package/lib/types/screens/chat/useKernelPicker.js +61 -21
  799. package/lib/types/screens/chat/useModelPicker.d.ts +42 -0
  800. package/lib/types/screens/chat/useModelPicker.d.ts.map +1 -0
  801. package/lib/types/screens/chat/useModelPicker.js +182 -0
  802. package/lib/types/screens/chat/usePluginWriteFlow.d.ts +68 -0
  803. package/lib/types/screens/chat/usePluginWriteFlow.d.ts.map +1 -0
  804. package/lib/types/screens/chat/usePluginWriteFlow.js +92 -0
  805. package/lib/types/screens/chatOverlay.d.ts +30 -5
  806. package/lib/types/screens/chatOverlay.d.ts.map +1 -1
  807. package/lib/types/screens/chatOverlay.js +0 -1
  808. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts +4 -1
  809. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.d.ts.map +1 -1
  810. package/lib/types/screens/sessionSupervisor/ForeignSessionPanes.js +26 -5
  811. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +1 -1
  812. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -1
  813. package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +51 -29
  814. package/lib/types/sessionHistory.d.ts +5 -0
  815. package/lib/types/sessionHistory.d.ts.map +1 -1
  816. package/lib/types/sessionHistory.js +5 -0
  817. package/lib/types/sessionModes.d.ts +5 -3
  818. package/lib/types/sessionModes.d.ts.map +1 -1
  819. package/lib/types/sessionModes.js +9 -3
  820. package/lib/types/sessions/listSnapshot.d.ts +6 -0
  821. package/lib/types/sessions/listSnapshot.d.ts.map +1 -0
  822. package/lib/types/sessions/listSnapshot.js +67 -0
  823. package/lib/types/settings/definitions.d.ts +50 -0
  824. package/lib/types/settings/definitions.d.ts.map +1 -1
  825. package/lib/types/settings/definitions.js +42 -8
  826. package/lib/types/terminal-utils/cjk-emphasis.d.ts +28 -0
  827. package/lib/types/terminal-utils/cjk-emphasis.d.ts.map +1 -0
  828. package/lib/types/terminal-utils/cjk-emphasis.js +31 -0
  829. package/lib/types/terminal-utils/markdown.d.ts +3 -1
  830. package/lib/types/terminal-utils/markdown.d.ts.map +1 -1
  831. package/lib/types/terminal-utils/markdown.js +7 -2
  832. package/lib/types/theme.d.ts +29 -12
  833. package/lib/types/theme.d.ts.map +1 -1
  834. package/lib/types/theme.js +310 -23
  835. package/lib/types/themeCatalog.d.ts.map +1 -1
  836. package/lib/types/themeCatalog.js +21 -2
  837. package/lib/types/tips.js +4 -4
  838. package/lib/types/tuiSettingsFile.d.ts +56 -0
  839. package/lib/types/tuiSettingsFile.d.ts.map +1 -0
  840. package/lib/types/tuiSettingsFile.js +206 -0
  841. package/lib/types/ui.d.ts +2 -0
  842. package/lib/types/ui.d.ts.map +1 -1
  843. package/lib/types/ui.js +2 -0
  844. package/lib/types/update.d.ts +72 -26
  845. package/lib/types/update.d.ts.map +1 -1
  846. package/lib/types/update.js +131 -43
  847. package/lib/types/utils/bmp.d.ts +7 -0
  848. package/lib/types/utils/bmp.d.ts.map +1 -1
  849. package/lib/types/utils/bmp.js +27 -0
  850. package/lib/types/utils/bootTrace.d.ts +2 -0
  851. package/lib/types/utils/bootTrace.d.ts.map +1 -0
  852. package/lib/types/utils/bootTrace.js +20 -0
  853. package/lib/types/utils/clipboard.d.ts.map +1 -1
  854. package/lib/types/utils/clipboard.js +11 -3
  855. package/lib/types/utils/credentials.d.ts +14 -2
  856. package/lib/types/utils/credentials.d.ts.map +1 -1
  857. package/lib/types/utils/credentials.js +34 -11
  858. package/lib/types/utils/imageResize.d.ts +10 -20
  859. package/lib/types/utils/imageResize.d.ts.map +1 -1
  860. package/lib/types/utils/imageResize.js +61 -134
  861. package/lib/types/utils/inputPaste.d.ts +2 -2
  862. package/lib/types/utils/inputPaste.js +2 -2
  863. package/lib/types/utils/pastedImagePath.d.ts +5 -0
  864. package/lib/types/utils/pastedImagePath.d.ts.map +1 -1
  865. package/lib/types/utils/pastedImagePath.js +33 -0
  866. package/lib/types/utils/paths.d.ts +11 -0
  867. package/lib/types/utils/paths.d.ts.map +1 -1
  868. package/lib/types/utils/paths.js +13 -0
  869. package/package.json +150 -114
  870. package/presets/winbash.mjs +716 -0
  871. package/tui-profile/feed/README.md +63 -0
  872. package/tui-profile/feed/first-party.json +10 -0
  873. package/tui-profile/protocols/profile-definitions.d.ts +1 -0
  874. package/tui-profile/protocols/profile-definitions.js +14 -0
  875. package/tui-profile/protocols/tui-contributions.d.ts +55 -0
  876. package/tui-profile/protocols/tui-contributions.js +141 -0
  877. package/tui-profile/registry/contracts/backend-v1alpha1.json +13 -0
  878. package/tui-profile/registry/registry-0.15.json +12 -0
  879. package/lib/types/backends/claude/install.d.ts +0 -15
  880. package/lib/types/backends/claude/install.d.ts.map +0 -1
  881. package/lib/types/backends/claude/install.js +0 -91
  882. package/lib/types/channel/elicitation.d.ts.map +0 -1
  883. package/lib/types/dsh-adapter/channel/session-lineage.d.ts +0 -42
  884. package/lib/types/dsh-adapter/channel/session-lineage.d.ts.map +0 -1
  885. package/lib/types/dsh-adapter/channel/session-lineage.js +0 -51
  886. package/lib/types/utils/jsonl.d.ts.map +0 -1
@@ -30,7 +30,7 @@ dsh-tui
30
30
  - `dsh-tui safe`: safe mode — read-only environment view, lists profile plugins, suggests fixes, and can create a clean rescue profile (see §5.5).
31
31
  - `dsh --profile dsh-tui`: manual launch, equivalent to `dsh-tui` (`/update` only works this way).
32
32
  - The `deepseek-official` route needs `DEEPSEEK_API_KEY`; on DSH 0.2.0-rc.1+ the standard profile can use the separate `deepseek-account` browser-authorization route. Other supported subscriptions use built-in OAuth sign-in. Run `/doctor` to check the environment.
33
- - Primary verified dsh engine version: `0.2.0-rc.2`. See `ADAPTER.md` for compatibility lines; versions outside that list show a drift note and the command to align on the logo page.
33
+ - Primary verified dsh engine version: `0.2.1-rc.2`. See `ADAPTER.md` for compatibility lines; versions outside that list show a drift note and the command to align on the logo page.
34
34
  - If the logo page shows a ⚠ version-drift warning, align the dsh engine:
35
35
  `npm i -g @deepseek-ai/dsh@<版本>`
36
36
 
@@ -44,7 +44,8 @@ dsh-tui
44
44
  the marker — when `Enter` lands on a **shortcut card** (on a command card `Enter` tries the command).
45
45
  Re-run it any time with `/setup`.
46
46
  2. **Launchpad** (the first screen of an **ordinary launch** — no `--resume`, no workspace target,
47
- no prompt; `DSH_TUI_NO_LAUNCHPAD=1` skips it entirely): the pixel-whale header (`✦ dsh-TUI`
47
+ no prompt; turn it off in `/settings` (`launchpad`, on by default, restart to apply), or
48
+ `DSH_TUI_NO_LAUNCHPAD=1` skips it entirely): the pixel-whale header (`✦ dsh-TUI`
48
49
  version, `DEEPSEEK / HARNESS` big text, current model and effort, working directory, and a
49
50
  **startup hint**; the header here is **frozen from the first frame** — the intro animation is
50
51
  left to the transcript header once you are in the chat), a **real input box** underneath
@@ -164,7 +165,7 @@ Unrecognized keys are ignored, `Esc` does nothing, clear with `Ctrl+C`/`dd`.
164
165
 
165
166
  | Action | Effect |
166
167
  |---|---|
167
- | left-drag | select text, **copy on release** (OSC 52 + system clipboard tools as fallback), auto-clear the selection |
168
+ | left-drag | select text, **copy on release** (OSC 52 + system clipboard tools as fallback), keep the selection after copying; a new selection replaces it |
168
169
  | double-click / triple-click | select word / line, copy immediately |
169
170
  | wheel | scroll the message list (±3 rows/notch); **with a text selection, pan the selection with the content** |
170
171
  | in the input box | drag / Shift+click / double-click build a selection; `Backspace`/`Delete` delete it, typing replaces, `←/→` collapse, `Esc` clears only the selection, `Ctrl+C` copies it |
@@ -274,8 +275,11 @@ one-column seam between the two surfaces.
274
275
  reach the chat, while `Ctrl+C`/`Ctrl+D`/`Ctrl+L` and the other Ctrl combos still do.
275
276
  - **Mouse**: click the chat column to focus the chat, click the panel column to focus the panel;
276
277
  clicking a tab on the bar switches to that panel (hover highlights it), and the `⤢` on its right
277
- edge blows the active panel up to the full screen. The panel column is excluded from
278
- drag-selection.
278
+ edge blows the active panel up to the full screen. Hovering over the seam highlights it; hold
279
+ the left mouse button and drag it left to widen the panel or right to narrow it. Chat keeps
280
+ at least 64 columns and the panel at least 28. Dragging exits zoom, preserves keyboard focus,
281
+ and keeps the width for the current session. Text drags starting in chat select only chat;
282
+ drags starting inside the panel can select panel text.
279
283
  - **Panels**: all eight built-in panels are enabled by default and can be changed in `sidePanel.panels`. `todo` (Goals/Todos — with a split it moves here from above the input), `jobs`
280
284
  (background jobs; clicking a job card in the transcript focuses that job here), `agents`
281
285
  (subagent dashboard and detail: Enter opens the detail, Esc steps back), `companion`
@@ -302,6 +306,7 @@ one-column seam between the two surfaces.
302
306
  drags, plus its own hearts and thumbs-up) or `whale` (the splash's pixel whale). **On terminals
303
307
  with an image protocol (kitty/sixel) whaleGirl renders at native 240px with all 267 frames**
304
308
  (transparent float, decoded on demand); without one it falls back to the character-art form.
309
+ The splash uses these skins only under the DeepSeek brand: `deepy` and `whaleGirl` replace the maid portrait; choose `whale` and enable Maid portrait to use it. Claude uses its own artwork; Codex uses its own raster portrait or the maid character-art fallback. Both brands ignore these settings for splash artwork. See the [precedence table](configuration.en.md).
305
310
 
306
311
  | Subcommand | Effect |
307
312
  |---|---|
@@ -324,7 +329,7 @@ one-column seam between the two surfaces.
324
329
 
325
330
  ## 3. Command reference
326
331
 
327
- The command menu = built-in commands (58, aliases included) + DSH registry commands (`/plan` `/goal` etc.) + the skill catalog
332
+ The command menu = built-in commands (aliases included) + DSH registry commands (`/plan` `/goal` etc.) + the skill catalog
328
333
  (completion only, hidden from the `/help` menu). `/lang` switches the UI and command descriptions between English and Chinese.
329
334
 
330
335
  ### 3.1 Session
@@ -337,7 +342,8 @@ The command menu = built-in commands (58, aliases included) + DSH registry comma
337
342
  | `/tree` | none | session fork tree: hover to preview, click to rewind / fork / switch branch |
338
343
  | `/fork` | none | copy the current session into a resumable clone (original unaffected) |
339
344
  | `/restart` | none | restart the process and resume this session (rejected mid-turn, `Ctrl+C` first) |
340
- | `/kernel` | none | kernel picker: switch between DSH and the experimental Claude backend; remembers the pick and restarts into a new session (rejected mid-turn); see [Claude backend](claude-backend.en.md) |
345
+ | `/kernel` | none | kernel picker: switch between DSH, Codex and the experimental Claude backend; remembers the pick and restarts into a new session (rejected mid-turn); see [Claude backend](claude-backend.en.md) |
346
+ | `/dsh` / `/codex` / `/claude` | none | directly choose the named kernel through the same checks and restart flow as `/kernel`; the current kernel does not restart, a running turn blocks switching, and missing Claude opens the install wizard |
341
347
  | `/rename` | `<新名称>` | rename the current session (no arg shows the current title and usage) |
342
348
  | `/recap` | none | recent-activity summary (one line) + suggested title; press `a` or click to apply the title. With `dsh-tui.recapOnOpen` (default on), opening/resuming a session auto-shows a divider + `回顾:` summary line at the bottom; hover to view actions, click to expand, gone after the next message |
343
349
  | `/workspace` | `resume` / `rename <名称>` / `open <路径或URI>` | manage workspaces; `open` accepts an absolute path, file URI, or plugin scheme |
@@ -362,6 +368,7 @@ The command menu = built-in commands (58, aliases included) + DSH registry comma
362
368
  | `/migrate` | `[agent] [--dry-run]` | import conversation history from other coding agents (claude-code/codex/omp/zcode/grok-build); runs in a child process — see [Session migration](migrate.en.md) |
363
369
  | `/init` | none | create `AGENTS.md` in the working directory (created / exists / failed) |
364
370
  | `/agents` | none | subagent list for this session |
371
+ | `/team` | `status` (default) / `on` / `off` | switch experimental Agent Teams: enables or disables the team bundle, live when the profile hot-reloads; `status` reports the bundle, the service and this session's teammates |
365
372
  | `/jobs` | none | background-task panel: status/runtime/exit-code tracking, `↑/↓` select, `k` stop; while open, `Esc` **closes only the panel** and won't interrupt the turn (close the panel first, then `Ctrl+C`) |
366
373
  | `/settings` | none | open the plugin settings editor (namespace read/edit) |
367
374
  | `/setup` | none | re-run the first-run guide (API key / language+theme / model+workspace / shortcuts) — same screen as the very first launch |
@@ -372,8 +379,8 @@ The command menu = built-in commands (58, aliases included) + DSH registry comma
372
379
  | Command | Args | Effect |
373
380
  |---|---|---|
374
381
  | `/channel` | none | relay channel profiles (Claude backend only); **import / add / manage and any switch that needs a process restart are refused while a turn runs** (the picker itself still opens), see [Interaction](interaction.en.md#channel-profiles-channel-claude-only) |
375
- | `/model` | none | model selector; **switching = fork the session** (history kept, only routing changes; a session nobody has typed into records no branch, keeping automatic titles for its first prompt), choice persisted to `~/.dsh-tui/model.json` |
376
- | `/effort` | `status` / `<id>` | reasoning effort: no-arg slider (`←/→` adjust); `status` current level; `<id>` set directly. Persisted to `~/.dsh-tui/effort.json`; new-session start level follows /settings `effortDefault` (§5.3) |
382
+ | `/model` | none | model selector; **switch within the same session** (ID, history, and title kept; the next request uses the new route), choice persisted to `~/.dsh-tui/model.json` |
383
+ | `/effort` | `status` / `<id>` | reasoning effort: no-arg slider (`←/→` adjust); `status` current level; `<id>` set directly. Persisted to `~/.dsh-tui/effort.json` and reused by the next launch (it outranks the cordis.yml `effort` default); new-session start level follows /settings `effortDefault` (§5.3) |
377
384
  | `/thinking` | none | extended-thinking display toggle (thinking expands item by item while streaming) |
378
385
  | `/tokens` | none | three separate figures, never two different quantities side by side: **this request**'s upload (input + cache read + cache write — the harness's four buckets are disjoint), the **session totals** (uncached input / output / cache read / cache write), and **context occupancy** |
379
386
  | `/activity` | `frames <名>` / `status` | working-status animation: no-arg selector, `frames <名>` sets directly (includes `random`), default `moon8`. Persisted to `~/.dsh-tui/working-activity.json` |
@@ -397,7 +404,7 @@ The command menu = built-in commands (58, aliases included) + DSH registry comma
397
404
  | `/hooks` | none | placeholder: notes when DSH hooks aren't mounted in the composition |
398
405
  | `/mcp` | none | MCP connection state (tools grouped as `mcp__服务器__工具`); shows a `cordis.patch.yml` snippet when unconfigured |
399
406
  | `/skills` | none | skill-catalog selector (name+source+blurb); Enter fills a direct-call skill as `/name ` |
400
- | `/plugins` | `check <dsh-plugin.json 路径>` | plugin diagnostics: trust banner + host descriptor + authorization matrix + ledger; `check` validates a manifest and reports compatibility |
407
+ | `/plugin` | `list` · `install <spec>` · `remove <bundle>` · `enable <name\|id>` · `disable <name\|id>` · `check <dsh-plugin.json path>` · `info <id or spec>` · `registries` | `list` shows the plugins you added, without the installation-supplied bundles, and points at the detail / remove / enable / disable forms; bare `/plugin` gives the full diagnostics — trust banner + host descriptor + authorization matrix + ledger + the profile's bundles and rows; `install <spec>` installs a plugin into this profile — a pre-install notice and a trust confirmation, first-party packages on the packaged feed skip the confirmation, `esc` closes the pane (during an install it attempts cancellation and waits for writes to settle; if too late, it waits for completion; exemptions already written remain), blocked build scripts are approved in the pane, and an incompatible version can be exempted for that exact version; `remove` / `enable` / `disable` are the lifecycle actions — a bundle name is matched exactly and before any row identity, which is then `entryId` / `patchId` / module name; a module name matching multiple rows requires a specific row ID; gate 2 refuses the bundle providing this app, the host layer `dsh-base` and this package's own rows, with a reason and no service call at all, while every enable and removal asks first because installed sources cannot be verified. **These three have no cancellation**: `esc` only closes the pane, the write finishes and reports itself into the transcript, and a removal never deletes your own data under `~/.dsh-tui` (any residue is reported once). `check` validates a manifest and reports compatibility, `info` describes an installed bundle or an install spec, `registries` lists where installations ask |
401
408
  | `/update` | none | update the TUI and auto-restart to resume the session (only via `dsh --profile`; rejected mid-turn) |
402
409
  | `/terminal-setup` | none | terminal setup advice (Windows Terminal ≥110 columns, paste keys) |
403
410
 
@@ -436,7 +443,11 @@ dsh-TUI ships no generic skills; `/skills` browses skills DSH discovers, and a d
436
443
  | Exit | `/exit` (or `/quit` `/q`) | double-press `Ctrl+C` or `Ctrl+D` also exits when idle; mid-work, press `Ctrl+C`/`Ctrl+D` again to force quit when the interrupt won't settle |
437
444
 
438
445
  Command-line resume: `dsh-tui --resume` (last session) / `dsh-tui --resume <id>` (specific session).
439
- `-c` / `--continue` are equivalent.
446
+ `-c` / `--continue` are equivalent. Startup recovery only ever targets **the backend this
447
+ launch selected**: a backend with no last session, or a derived target belonging to a
448
+ different backend, refuses with a clear error and exit code 1 — no silent cold start, no new
449
+ session (safe mode's "retry normal startup" degrades to a warning plus a cold start, see the
450
+ [README](../README.md)).
440
451
 
441
452
  ### 4.2 Time-travel rewind (double-press Esc)
442
453
 
@@ -471,8 +482,12 @@ Full-screen view of the whole session timeline (doesn't pollute scrollback); key
471
482
 
472
483
  ### 4.6 Model switching and presets
473
484
 
474
- - `/model`: selector. **Switching = fork the session** (history kept, only routing changes, the old session stays in `/resume`);
475
- persisted to `~/.dsh-tui/model.json`.
485
+ Switching within a session requires DSH `0.1.2-alpha.3` or later; older versions prompt an upgrade so subagents cannot keep using the previous model. Parked sessions retain their selection.
486
+
487
+ - `/model`: selector. **Switch within the same session** (ID and history kept; the next request uses the new route);
488
+ persisted to `~/.dsh-tui/model.json` and reused by the next launch (a `provider`/`model`
489
+ pair in cordis.yml/profile is only the first-run deployment default).
490
+ - DSH provider tabs start with **Recently used**, and `Tab` / `Shift+Tab` switch providers; Codex and Claude show their catalogs directly without these tabs. All backends use `↑/↓` to select a model, `←/→` to adjust its effort, `Enter` to apply both, and `Esc` to cancel the draft. Click the available tabs, models, effort levels, or select/cancel hints; clicking an effort level immediately applies the focused model and that effort and closes the picker. The wheel moves model focus.
476
491
  - Switching is rejected mid-turn.
477
492
  - `/preset` options: `standard` (default full features), `ptc`, `minimal` (the kernel's Minimal preset: one persistent-shell tool only, no compaction, no plan mode — and therefore no compaction and no tool-result pruning, so a long session can hit the context limit and `/compact` plus questions are unavailable; Help and `/` completion mark the command, and entering the preset says so once),
478
493
  `cordis`, `liangshen` (Liangshen mode).
@@ -497,6 +512,9 @@ Keys are in §2.7. Key points:
497
512
  - `/plan` `/goal` `/feedback` `/permission` come from the DSH registry, merged into the `/` menu.
498
513
  - **Goals/Todos panel appears automatically**: when the model writes a goal/todo, it renders above the input
499
514
  (🎯 goal + phase badge + tree todo), no action needed; with a split it moves to the `todo` panel on the right (see §2.8).
515
+ The goal bar keeps a one-line summary: hovering truncated goal text reads the whole objective, and a bare `/goal` prints the
516
+ full status (objective, phase, rounds or budget, available commands) as a `/plugins`-shaped transcript block — inline mode has
517
+ no pointer, so a long objective is read from that block.
500
518
 
501
519
  ### 4.9 MCP / Workspace / other
502
520
 
@@ -522,7 +540,7 @@ An empty session shows the whale logo area at the top (scrolls away with the con
522
540
 
523
541
  - **Intro animation** (~3.4 s, three picked each launch, `/deepseek` egg re-rolls): classic / heart / sleep.
524
542
  - **Welcome idle animation** (`whaleIdle`, default on): fin, blink, tail wag, sleeps with Z after 10 s idle; **click to show a heart and wake it**.
525
- - **Maid portrait** (`whaleGirl`, default off): swaps the header's pixel whale for the author-drawn maid — FIRST as a **real raster** through the terminal image protocols (Kitty/Sixel); terminals without graphics support fall back to the character-art maid. **Click her** and she turns into the "happy" portrait for a few seconds, then eases back on her own; the first agent task freezes her (no more reactions).
543
+ - **Maid portrait** (`whaleGirl`, default off): under the DeepSeek brand, enable it with Companion skin set to `whale` to show the author-drawn maid — a **real raster** through Kitty/Sixel when available, with character-art fallback. **When the raster portrait is displayed, click her** to show the happy portrait for a few seconds; the first agent task freezes her reactions. Character-art fallback stays static. The `deepy` and `whaleGirl` skins take the slot instead; Claude uses its own artwork; Codex uses its own raster portrait or the maid character-art fallback. Both brands ignore these settings for splash artwork. See the [precedence table](configuration.en.md).
526
544
  - After the first agent task, it freezes to a static frame (`/new` re-enters the welcome period).
527
545
  - Text column right of the whale: `✦ dsh-TUI v版本号` →
528
546
  `DEEPSEEK / HARNESS` big text (bold glyphs, both rows the same width, one blank row between) →
@@ -552,7 +570,20 @@ An empty session shows the whale logo area at the top (scrolls away with the con
552
570
  **Row 1 — context segment bar** (`/settings → statusBar.contextBar`, default on)
553
571
 
554
572
  - Colored by content type (system / prompt / assistant / thinking / tools).
555
- - Segment token counts are a **local estimate** (CJK/full-width ≈1.4 chars/token, ASCII ≈4, other scripts ≈2): they describe what the bar is made of and **never** feed the occupancy total — that comes from the ctx reading below.
573
+ - Colored by content type (system / prompt / assistant / thinking / tools). **The used span's length is
574
+ exactly the reading** (the 13k of `13k/64k`): the five segments only split that span by composition, so
575
+ an over- or under-estimate can no longer draw the bar short or long.
576
+ - The composition comes from two layers: the harness's `contextBreakdown` projection (system prompt / the
577
+ request envelope's tool schemas / every other visible node, injected context included) plus this app's
578
+ local estimate, which alone splits the meter's message side into prompt / assistant / thinking / tool
579
+ results (ASCII ≈4 chars/token, CJK ≈1.4, other scripts ≈2). A meter that predates the projection leaves
580
+ the local estimate as the only source.
581
+ - The hover legend reports those same shares, attributed to the occupancy, so **the five segments plus
582
+ free add up to the window** (`1.2k`-style abbreviations cost at most half a unit each) instead of
583
+ reporting a second, smaller total. The estimates themselves **never** feed the occupancy total — that
584
+ comes from the ctx reading below.
585
+ - When no content category can be attributed, the bar keeps one used block and both the bar and ctx
586
+ hover details report its measured `used` count instead of five zero categories.
556
587
  - The only text on the bar is the right-edge reading `13k/64k 19.5%` (narrow screens show only `19.5%`).
557
588
  - The reading colors by usage: <80% gray-blue, **≥80% amber, ≥95% red**.
558
589
  - Hover the whole bar for the legend: color block + name + token count (narrow screens shorten the names).
@@ -592,6 +623,7 @@ Common items below, full list on the /settings screen. Most topics (**Appearance
592
623
  |---|---|
593
624
  | lang | UI language zh/en (locked when DSH_TUI_LANG is pinned) |
594
625
  | fullscreen | fullscreen mode (default on); takes effect after `/restart` |
626
+ | launchpad | launchpad landing page (default on): an ordinary launch starts on the launchpad where the first sentence gets typed; off boots straight into the chat page (launches with a `--resume` target are unaffected — they open their conversation directly either way). Takes effect after `/restart` |
595
627
  | minimal | Minimal UI (default off): hide the header splash, emoji glyphs and decorative colors, and trim the footer to model + cwd; code highlight and tool colors stay. **An interface switch** with no effect on model capability — do not confuse it with the kernel Minimal agent preset in `/preset` |
596
628
  | terminalImages | terminal image preview (default on, needs terminal support); takes effect after `/restart`. Off shows text only and skips preview decode, sending images to the model is unaffected |
597
629
  | imageBacking | image backing (default `transparent`, same **Rendering** topic as the row above): what sits behind chat photos and illustrations. Transparent paints only the pixels of the image itself — the terminal background or wallpaper shows at anti-aliased edges and transparent corners; Terminal colour composites onto the terminal background for smooth soft edges. Applies immediately |
@@ -599,7 +631,7 @@ Common items below, full list on the /settings screen. Most topics (**Appearance
599
631
  | whale | pixel whale header (default on); three intro animations picked per launch (classic/heart/sleep), `/deepseek` egg re-rolls |
600
632
  | whaleIdle | whale welcome idle animation (default on): fin/tail/blink, sleeps with Z after 10 s idle; click for a heart. Freezes after the first task |
601
633
  | splashFont | big-text face on the header splash: Daily rotation (default, changes with the local date) / bold / square / bevel / wide / dot matrix / stencil / thin (classic) / slab. Picking a face pins it; picking Daily rotation restores the rotation. Applies immediately |
602
- | whaleGirl | maid portrait (default off): swaps the header's pixel whale for the author-drawn maid as a **real raster** (Kitty/Sixel); falls back to the pixel whale without graphics support |
634
+ | whaleGirl | maid portrait (default off): under the DeepSeek brand, enable with `companion.skin=whale`; the `deepy` and `whaleGirl` skins override it. Claude uses its own artwork; Codex uses its own raster portrait or the maid character-art fallback. Both brands ignore these settings for splash artwork. Real raster (Kitty/Sixel), with character-art fallback. See the [precedence table](configuration.en.md) |
603
635
  | diffLayout | Edit/Write diff layout: auto (two columns ≥110 cols) / split / unified |
604
636
  | thinkingFold | thinking block: preview (2-3 line preview + folded when settled) / full (expanded to end of turn) |
605
637
  | btw.contextBudget | Total character budget of recent Q/A pairs carried into a `/btw` follow-up (default 24000, range 1000-200000); oldest whole pairs are dropped first. Applies immediately |
@@ -618,8 +650,8 @@ Common items below, full list on the /settings screen. Most topics (**Appearance
618
650
  | expandEditor | full-screen draft editor (default on): `⛶` at the input line end or `Ctrl+Shift+E` expands to a full-screen editor; `Ctrl+Enter` send, `Esc` collapse (draft kept); off hides both entries |
619
651
  | statusBar.* | all status-bar toggles above (compact/model/thinking/cwd/contextUsage/cache/tokens/cost/tps/gitBranch/sessionTitle/sessionId/mode/contextBar/activity/trajectory; statusBar.sessionId is the bottom-bar display toggle, unrelated to cordis startup sessionId) |
620
652
 
621
- **effortDefault**: when the model lacks that level, drop one level and show a notice; priority settings user layer > cordis `effort` >
622
- last `/effort` (effort.json) > model default.
653
+ **effortDefault**: when the model lacks that level, drop one level and show a notice; priority settings user layer > the last `/effort`
654
+ (effort.json, the level the last session ran) > cordis `effort` (deployment default) > model default.
623
655
 
624
656
  **scrollGutter**: the scrollbar track can be dragged directly; `Shift`/`Alt`/`Ctrl`+drag is still text selection.
625
657
 
@@ -666,10 +698,10 @@ When dsh exits unexpectedly, safe mode gives a **read-only** environment diagnos
666
698
 
667
699
  | Item | Command | Notes |
668
700
  |---|---|---|
669
- | Model | `/model` | selector; **switching = fork the session** (history kept, routing only); persisted to `~/.dsh-tui/model.json`, reused on restart and `/new`. Never chosen → built-in default (currently `deepseek-flash`) |
701
+ | Model | `/model` | selector; **switch within the same session** (ID and history kept; subsequent requests use the new route); persisted to `~/.dsh-tui/model.json` and reused on restart and `/new` (a resumed session keeps its last recorded request route) — it OUTRANKS a `provider`/`model` pair written in cordis.yml/profile (that pair is only the first-run deployment default). Never chosen → the configured pair, else the harness default (currently `deepseek-flash`) |
670
702
  | Reasoning effort | `/effort` | slider (`←/→` live) or `/effort <id>`; `/effort status` for current; new-session default in /settings → default reasoning effort |
671
703
  | Agent preset | `/preset` | `standard` / `ptc` (old 0.1.1 name `code`) / `minimal` / `cordis` / **Liangshen mode `liangshen`**; **can't switch an already-started session** |
672
- | Theme | `/theme` | `auto` (OSC 11 follows terminal background) / `light` / `dark` / `dark-ansi`; `/theme <名>` direct; `/theme status` for the result |
704
+ | Theme | `/theme` | `auto` (OSC 11 follows terminal background) / `light` / `dark` / `dark-ansi` / `pink-day` / `pink-night` / `pink-ansi`; `/theme <名>` direct; `/theme status` for the result |
673
705
  | Custom theme | manual | `~/.dsh-tui/themes/<名>.json`, `{base, colors}` format, hot-swap on select; naming it `auto` gets shadowed by the built-in |
674
706
  | Language | `/lang` | `en` / `zh` hot switch; priority `DSH_TUI_LANG` > profile config (legacy: settings.yaml user layer > cordis.yml) > persisted |
675
707
  | Status animation | `/activity` | selector or `/activity frames <名>`; default `moon8`, `random` randomizes |
@@ -716,7 +748,7 @@ When dsh exits unexpectedly, safe mode gives a **read-only** environment diagnos
716
748
  12. Session manager (`/resume`, `/home`, `/agentview`, `/bg`, or `⌸` at the input line start):
717
749
  type to filter, `★` pin, `Ctrl+X` stop a background session; switching just parks it.
718
750
  13. Mid-turn, `/compact`, `/model`, `/restart` are rejected — `Ctrl+C` first or wait for the turn to end.
719
- 14. `/model` switch = fork (history kept), persisted and reused on restart and `/new`.
751
+ 14. `/model` switches subsequent requests in the same session (ID and history kept); the choice is saved as the default for new sessions, while a resumed session keeps its last recorded request route.
720
752
 
721
753
  **Ask the manual**
722
754
 
@@ -30,7 +30,7 @@ dsh-tui
30
30
  - `dsh-tui safe`:安全模式——只读查看环境、列出 profile 插件并给出修复建议,还能创建干净的救援 profile(见 §5.5)。
31
31
  - `dsh --profile dsh-tui`:与 `dsh-tui` 等价的手工启动方式(`/update` 仅此方式可用)。
32
32
  - `deepseek-official` 路由需要 `DEEPSEEK_API_KEY`;DSH 0.2.0-rc.1+ 可用标准 profile 的 `deepseek-account` 浏览器授权路由。其他支持的订阅模型可用内置 OAuth 登录。环境自检用 `/doctor`。
33
- - 主验证 dsh 引擎版本 `0.2.0-rc.2`;兼容列表以 `ADAPTER.md` 为准,列表之外的版本在 logo 页提示版本漂移与对齐命令。
33
+ - 主验证 dsh 引擎版本 `0.2.1-rc.2`;兼容列表以 `ADAPTER.md` 为准,列表之外的版本在 logo 页提示版本漂移与对齐命令。
34
34
  - 如果 logo 页出现 ⚠ 版本漂移警告,按提示执行 `npm i -g @deepseek-ai/dsh@<版本>` 对齐 dsh 引擎。
35
35
 
36
36
  ### 1.2 首次启动你会看到
@@ -41,7 +41,7 @@ dsh-tui
41
41
  **跳过不记账**(下次启动还会问),最后一步要在**键位卡**上按 `Enter` 才算"完成"并写入记账文件
42
42
  (焦点落在命令卡上时 `Enter` 是"试一下")。之后随时可用 `/setup` 重跑。
43
43
  2. **落地页**(**普通启动**的第一屏:没带 `--resume`、没指定工作区、也没带首句提示词;
44
- `DSH_TUI_NO_LAUNCHPAD=1` 可整体跳过):像素鲸鱼顶栏(`✦ dsh-TUI` 版本号、
44
+ 可在 /settings 用 `launchpad` 关掉(默认开,重启生效),`DSH_TUI_NO_LAUNCHPAD=1` 可整体跳过):像素鲸鱼顶栏(`✦ dsh-TUI` 版本号、
45
45
  `DEEPSEEK / HARNESS` 大字、当前模型与 effort、工作目录,及一行**启动提示**;
46
46
  这一屏的头部**直接定格**——开场动画留给进入对话后的转录区顶部),
47
47
  下面是一个**真输入框**(第一句话在这里打,**回车直接发送**)与框下一行**参数行**
@@ -152,7 +152,7 @@ dsh-tui
152
152
 
153
153
  | 操作 | 功能 |
154
154
  |---|---|
155
- | 左键拖拽 | 选文本,**松开即复制**(OSC 52 + 系统剪贴板工具兜底),自动取消选区 |
155
+ | 左键拖拽 | 选文本,**松开即复制**(OSC 52 + 系统剪贴板工具兜底),复制后保留选区;重新拖选会替换现有选区 |
156
156
  | 双击 / 三击 | 选词 / 选行,即选即复制 |
157
157
  | 滚轮 | 滚动消息列表(±3 行/格);**有文本选区时随内容平移选区** |
158
158
  | 输入框内 | 拖拽 / Shift+click / 双击建立选区;`Backspace`/`Delete` 删选区、打字替换、`←/→` 坍缩、`Esc` 仅清选区、`Ctrl+C` 复制选区 |
@@ -251,7 +251,9 @@ dsh-tui
251
251
  `z` 或 `Alt+Z` 缩放 · `+`/`-` 调宽(`+` 加宽面板,步长 4 列) · `↑`/`↓`/`PgUp`/`PgDn` 交给活动面板(jobs 用它选择与滚动);
252
252
  面板没吃下的键不会再落到聊天,但 `Ctrl+C`/`Ctrl+D`/`Ctrl+L` 等 Ctrl 组合照旧作用于聊天。
253
253
  - **鼠标**:点聊天栏把焦点给聊天,点右栏把焦点给面板;点标签栏上的标签直接切到那个面板(悬停会高亮),
254
- 点右端的 `⤢` 把当前面板放大成整屏;右栏不参与拖拽选字。
254
+ 点右端的 `⤢` 把当前面板放大成整屏。悬停中缝会提亮,按住鼠标左键左右拖拽即可实时调宽:
255
+ 向左加宽侧栏、向右缩窄,聊天列至少 64 列、侧栏至少 28 列;拖拽会退出 zoom,保留键盘焦点,
256
+ 宽度在当前会话内保留。聊天内起拖只选聊天文字,右栏内起拖可选右栏文字。
255
257
  - **面板**:全部 8 个内置面板默认启用,可在 `sidePanel.panels` 调整。`todo`(Goals/Todos,分栏时从输入框上方迁到这里)、`jobs`(后台任务,点转录里的任务卡
256
258
  会直接定位到该任务)、`agents`(子代理 Dashboard 与详情:Enter 进详情、Esc 逐级返回)、`companion`
257
259
  (宠物:跟随会话状态换心情动画,点击
@@ -271,6 +273,7 @@ dsh-tui
271
273
  表情包,22 个动画,被戳/被挠/被拎起来都有对应反应,独有「冒爱心」「举大拇指」)、`whale`(开屏
272
274
  同款像素鲸)。**鲸娘在有图像协议(kitty/sixel)的终端里按原帧数 240px 像素级渲染**(267 帧全保留、
273
275
  透明悬浮、按需解码),无图像协议自动回退字符画版。
276
+ 开屏仅在 DeepSeek 品牌下使用这些皮肤:`deepy` 和 `whaleGirl` 会取代女仆娘立绘;选择 `whale` 并开启「女仆娘立绘」才会显示女仆娘。Claude 使用自己的图案,Codex 使用自己的真图或女仆娘字符画回退;这两个品牌的开屏图案不受宠物皮肤和女仆娘开关影响。见[优先级表](configuration.md)。
274
277
 
275
278
  | 子命令 | 作用 |
276
279
  |---|---|
@@ -290,7 +293,7 @@ dsh-tui
290
293
 
291
294
  ## 3. 命令全集
292
295
 
293
- 命令菜单 = 内置命令(58 条,含别名) + DSH 注册表命令(`/plan` `/goal` 等) + 技能目录
296
+ 命令菜单 = 内置命令(含别名) + DSH 注册表命令(`/plan` `/goal` 等) + 技能目录
294
297
  (仅补全,`/help` 菜单隐藏)。`/lang` 可切换中英文界面与命令描述。
295
298
 
296
299
  ### 3.1 会话
@@ -303,7 +306,8 @@ dsh-tui
303
306
  | `/tree` | 无 | 会话分叉树:悬停预览、点击回退 / 分叉 / 切换分支 |
304
307
  | `/fork` | 无 | 把当前会话复制成可恢复的副本(原会话不受影响) |
305
308
  | `/restart` | 无 | 重启进程并恢复本会话(回合运行中会被拒绝,先 `Ctrl+C`) |
306
- | `/kernel` | 无 | 内核选择器:在 DSH 与实验性的 Claude 后端之间切换,记住选择并重启进入新会话(回合运行中会被拒绝);见 [Claude 后端](claude-backend.md) |
309
+ | `/kernel` | 无 | 内核选择器:在 DSH、Codex 与实验性的 Claude 后端之间切换,记住选择并重启进入新会话(回合运行中会被拒绝);见 [Claude 后端](claude-backend.md) |
310
+ | `/dsh` / `/codex` / `/claude` | 无 | 直接选择对应内核,检查与重启流程同 `/kernel`;选择当前内核不重启,回合运行中不能切换,未安装 Claude 时进入安装向导 |
307
311
  | `/rename` | `<新名称>` | 重命名当前会话(无参时显示当前标题与用法) |
308
312
  | `/recap` | 无 | 最近活动摘要(一行)+ 建议标题;面板内 `a` 键或点击一键应用标题。设置 `dsh-tui.recapOnOpen`(默认开)开启时,打开/恢复会话自动在底部显示一条分隔线 + `回顾:` 摘要行,悬停可查看操作、点击展开,发送新消息后自动消失 |
309
313
  | `/workspace` | `resume` / `rename <名称>` / `open <路径或URI>` | 管理工作区;`open` 支持绝对路径、file URI、插件 scheme |
@@ -328,6 +332,7 @@ dsh-tui
328
332
  | `/migrate` | `[agent] [--dry-run]` | 从其他编程代理(claude-code/codex/omp/zcode/grok-build)导入对话历史,子进程运行不卡界面,详见[会话迁移](migrate.md) |
329
333
  | `/init` | 无 | 在工作目录创建 `AGENTS.md`(created / exists / failed 三态提示) |
330
334
  | `/agents` | 无 | 本会话子代理列表 |
335
+ | `/team` | `status`(默认)/ `on` / `off` | 实验性 Agent Teams 的开关:启停团队 bundle,有热重载时立即生效;`status` 报告 bundle、服务与本会话 teammate |
331
336
  | `/jobs` | 无 | 后台任务面板:状态/运行时长/退出码实时跟踪,`↑/↓` 选择、`k` 停止;面板打开时 `Esc` **只关面板**不打断回合(想中断先关面板再 `Ctrl+C`) |
332
337
  | `/settings` | 无 | 打开插件设置编辑器(命名空间读取/编辑) |
333
338
  | `/setup` | 无 | 重跑首次引导向导(API Key / 语言主题 / 模型工作区 / 快捷键),与首次启动是同一个界面 |
@@ -338,7 +343,7 @@ dsh-tui
338
343
  | 命令 | 参数 | 作用 |
339
344
  |---|---|---|
340
345
  | `/channel` | 无 | 中转渠道档案(仅 Claude 后端);**回合运行中导入 / 新建 / 管理,以及需要重启进程的切换会被拒绝**(选择器本身仍可打开),见 [交互与命令](interaction.md#渠道档案channel仅-claude) |
341
- | `/model` | 无 | 模型选择器;**切换 = fork 会话续聊**(历史保留、仅换路由;还没有人说过话的会话不记分支,保留首个 prompt 的自动标题),选择持久化到 `~/.dsh-tui/model.json` |
346
+ | `/model` | 无 | 模型选择器;**同会话切换模型**(保留 session ID、历史和标题,下一次请求使用新路由),选择持久化到 `~/.dsh-tui/model.json` |
342
347
  | `/effort` | `status` / `<id>` | 推理强度:无参滑杆(`←/→` 实时调整);`status` 当前档位;`<id>` 直接设定。持久化 `~/.dsh-tui/effort.json`;新会话起始档看 /settings 的 `effortDefault`(§5.3) |
343
348
  | `/thinking` | 无 | 扩展思考显示开关(流式时思考逐条展开) |
344
349
  | `/tokens` | 无 | 分三段报数,不再并列两个不同量:**本次请求**上传量(input + 缓存读 + 缓存写,harness 的四个桶互斥)、**会话累计**(未缓存输入 / 输出 / 缓存读 / 缓存写)、**上下文占用** |
@@ -363,7 +368,7 @@ dsh-tui
363
368
  | `/hooks` | 无 | 占位:DSH hooks 未在组合中挂载时给出说明 |
364
369
  | `/mcp` | 无 | MCP 连接状态(工具按 `mcp__服务器__工具` 分组);未配置时给出 `cordis.patch.yml` 插入示例 |
365
370
  | `/skills` | 无 | 技能目录选择器(名称+来源+简述),Enter 将可直调技能以 `/name ` 填回输入行 |
366
- | `/plugins` | `check <dsh-plugin.json 路径>` | 插件诊断:信任横幅 + host 描述符 + 授权矩阵 + 台账;`check` 校验清单文件并给兼容状态 |
371
+ | `/plugin` | `list` · `install <spec>` · `remove <bundle>` · `enable <名称\|id>` · `disable <名称\|id>` · `check <dsh-plugin.json 路径>` · `info <id 或 spec>` · `registries` | `list` 简洁列出你装的额外插件(不含安装自带),并给详情 / 卸载 / 启用 / 关闭的指引;无参给完整诊断:信任横幅 + host 描述符 + 授权矩阵 + 台账 + profile 的 bundle/行;`install <spec>` 把插件装进当前 profile:装前提醒 + 信任确认,嫡系包按随包清单免确认,`esc` 收起面板(安装中尝试取消并等待写操作结束;来不及时等待安装完成,已登记的版本豁免保留),构建脚本被拦时在面板里批准,版本不兼容时可登记精确版本豁免;`remove` / `enable` / `disable` 是生命周期动作:bundle 名精确匹配优先,其次 `entryId` / `patchId` / 模块名,模块名匹配多行时须改用具体行 ID;门禁 2 对「提供本应用的 bundle / 宿主层 dsh-base / 本包自己的行」硬拒并给原因(零服务调用),任何启用与卸载都要确认(已装包来源无法验证)。**这三个动作没有取消**:`esc` 只关面板,写入照旧跑完并把结果写进转录;卸载不会删掉 `~/.dsh-tui` 下你自己的数据,有残留时报告一次。`check` 校验清单并给兼容状态,`info` 查已装条目或待装 spec,`registries` 列安装源 |
367
372
  | `/update` | 无 | 更新 TUI 并自动重启恢复会话(仅 `dsh --profile` 启动可用;回合运行中会拒绝) |
368
373
  | `/terminal-setup` | 无 | 终端配置建议(Windows Terminal ≥110 列、粘贴键位) |
369
374
 
@@ -402,7 +407,9 @@ dsh-TUI 不预装通用技能;`/skills` 浏览 DSH 发现的技能,可直调
402
407
  | 退出 | `/exit`(或 `/quit` `/q`) | 空闲 `Ctrl+C` 双击或 `Ctrl+D` 双击也可退出;工作中中断迟迟不收敛时再按 `Ctrl+C`/`Ctrl+D` 强制退出 |
403
408
 
404
409
  命令行恢复:`dsh-tui --resume`(最近会话)/ `dsh-tui --resume <id>`(指定会话)。
405
- `-c` / `--continue` 等价。
410
+ `-c` / `--continue` 等价。启动恢复只针对**本次启动所选的后端**:该后端没有上次会话,
411
+ 或派生出的目标属于别的后端时,启动器明确报错并以退出码 1 收束,不静默冷启动、不新建
412
+ 会话(安全模式的「重试正常启动」降级为告警 + 冷启动,见 [README](../README_ZH.md))。
406
413
 
407
414
  ### 4.2 时间回溯 rewind(双击 Esc)
408
415
 
@@ -436,8 +443,12 @@ dsh-TUI 不预装通用技能;`/skills` 浏览 DSH 发现的技能,可直调
436
443
 
437
444
  ### 4.6 模型切换与预设
438
445
 
439
- - `/model`:选择器。**切换 = fork 会话续聊**(历史保留、仅换路由,旧会话留在 `/resume`);
440
- 持久化 `~/.dsh-tui/model.json`。
446
+ 同会话切换需要 DSH `0.1.2-alpha.3` 或更高版本;旧版会提示升级,防止子代理继续使用切换前的模型。停放中的会话保留所选路由。
447
+
448
+ - `/model`:选择器。**同会话切换模型**(保留 session ID 和历史,下一次请求使用新路由);
449
+ 持久化 `~/.dsh-tui/model.json`,下次启动直接沿用它(cordis.yml/profile 中的
450
+ `provider`/`model` 只是首次启动的部署默认值)。
451
+ - DSH 的顶部标签以「最近使用」开头,再列各提供商,`Tab` / `Shift+Tab` 切换提供商;Codex 与 Claude 直接显示模型目录,不显示这些标签。所有后端均用 `↑/↓` 选模型、`←/→` 调推理等级、`Enter` 一并应用、`Esc` 取消草稿,支持点击可用的标签、模型、档位与选择/取消提示,以及滚轮移动模型焦点。点击推理档位会立即应用当前聚焦模型与该强度,并关闭选择器。
441
452
  - 回合运行中切换会被拒绝。
442
453
  - `/preset` 可选:`standard`(默认全功能)、`ptc`、`minimal`(内核「极简模式」:只暴露一个持久 shell 工具,无 compaction、无计划模式;也因此没有压缩、工具结果不剪枝——长会话可能撞上下文上限,`/compact` 与问卷不可用,Help 与 `/` 补全会标注,进入该预设时提示一次)、
443
454
  `cordis`、`liangshen`(梁神模式)。
@@ -460,7 +471,8 @@ dsh-TUI 不预装通用技能;`/skills` 浏览 DSH 发现的技能,可直调
460
471
  - `/skills` 浏览技能目录,可直调技能以 `/name` 加入命令菜单(dsh-TUI 不自带通用技能)。
461
472
  - `/plan` `/goal` `/feedback` `/permission` 来自 DSH 注册表,随组合并入 `/` 菜单。
462
473
  - **Goals/Todos 面板自动出现**:模型写入 goal/todo 时在输入框上方实时渲染(🎯 目标 + phase 徽章 + 树形 todo),
463
- 无需操作;分栏开启时它迁到右栏的 `todo` 面板(见 §2.8)。
474
+ 无需操作;分栏开启时它迁到右栏的 `todo` 面板(见 §2.8)。目标栏保留单行摘要:悬停被截断的目标正文看全文;
475
+ 裸 `/goal` 把完整状态(目标全文、阶段、轮次或预算、可用命令)打印成 `/plugins` 同款的转录块——inline 没有鼠标指针,长目标靠这个块读。
464
476
 
465
477
  ### 4.9 MCP / Workspace / 其他
466
478
 
@@ -484,7 +496,7 @@ dsh-TUI 不预装通用技能;`/skills` 浏览 DSH 发现的技能,可直调
484
496
 
485
497
  - **开场动画**(约 3.4 秒,每次启动三选一,`/deepseek` 彩蛋重掷):经典 / 爱心 / 睡觉。
486
498
  - **欢迎期闲置动画**(`whaleIdle`,默认开):摆鱼鳍、眨眼、拍尾巴,空闲 10 秒入睡冒 Z;**点击冒爱心唤醒**。
487
- - **女仆娘立绘**(`whaleGirl`,默认关):把标题的像素鲸鱼换成作者绘制的女仆娘——**最优先**走终端图像协议(Kitty/Sixel)的真图渲染;终端不支持(如内联模式)时回落到字符画版女仆娘。**点她一下**会换成「高兴鲸娘」几秒再自动回安静版;开始第一个任务后定格、不再响应点击。
499
+ - **女仆娘立绘**(`whaleGirl`,默认关):DeepSeek 品牌下,宠物皮肤设为 `whale` 并开启本项后,显示作者绘制的女仆娘——优先走 Kitty/Sixel 真图,不支持时回落字符画。**显示真图时,点她一下**会换成「高兴鲸娘」几秒,再自动回安静版;第一个任务后定格,不再响应点击。字符画保持静态。`deepy` 和 `whaleGirl` 皮肤会取代立绘;Claude 使用自己的图案,Codex 使用自己的真图或女仆娘字符画回退;这两个品牌的开屏图案不受宠物皮肤和女仆娘开关影响。见[优先级表](configuration.md)。
488
500
  - 开始第一个 agent 任务后定格为静态帧(`/new` 重新进入欢迎期)。
489
501
  - 鲸鱼右侧文字列:`✦ dsh-TUI v版本号` → 块体大字 `DEEPSEEK / HARNESS`(加粗字形,两行等宽、中间空一行)→
490
502
  当前模型 + effort → 工作目录 → 启动提示行。
@@ -510,8 +522,16 @@ dsh-TUI 不预装通用技能;`/skills` 浏览 DSH 发现的技能,可直调
510
522
  **Row 1 — 上下文分段进度条**(`/settings → statusBar.contextBar`,默认开)
511
523
 
512
524
  - 按内容类型分段着色(system / prompt / assistant / thinking / tools)。
513
- - 分段 token 数是**本地估算**(CJK/全角按 ~1.4 字符/token、ASCII 按 ~4 字符/token、其它脚本按 ~2),
514
- 只描述这条由什么构成,**不参与占用总量**——占用以 ctx 字段/读数为准(见下)。
525
+ - 分段着色按内容类型(system / prompt / assistant / thinking / tools)。**已用段的长短严格等于读数**
526
+ (`13k/64k` 里的 13k):五段只按构成把这个长度切开,估算偏小/偏大都不会再让条画短或画长。
527
+ - 构成分两层:harness 的 `contextBreakdown` 投影(system 提示 / 本次请求信封里的工具 schema /
528
+ 其余可见内容,注入的上下文也在这一项)+ 本地估算(把 meter 的消息侧再按 prompt / assistant /
529
+ thinking / 工具结果细分;ASCII ~4 字符/token、CJK ~1.4、其它脚本 ~2)。旧版 meter 不发布该投影时
530
+ 只用本地估算。
531
+ - 悬停图例报的就是条上那批份额(按占用归因),**五段 + free 合起来正好是窗口**(`1.2k` 这类缩写
532
+ 每项最多差半个单位),不再出现「五段加起来只有读数一半」。估算本身**不参与占用总量**——占用以
533
+ ctx 字段/读数为准(见下)。
534
+ - 构成无法归因到任何类别时,条保持单块已用区域;条和 ctx 字段的悬停明细都报实测 `used`,不列五个零分类。
515
535
  - 条上唯一文字是最右缘读数 `13k/64k 19.5%`(窄屏只显示 `19.5%`)。
516
536
  - 读数按占用率变色:<80% 灰蓝,**≥80% 琥珀、≥95% 红**。
517
537
  - 悬停整条弹出图例:色块 + 名称 + token 数(窄屏自动改用短名)。
@@ -545,6 +565,7 @@ dsh-tui 自身区块在 0.1.7 写入当前 profile 的 `cordis.patch.yml`,旧
545
565
  |---|---|
546
566
  | lang | 界面语言 zh/en(DSH_TUI_LANG 钉死时不可改) |
547
567
  | fullscreen | 全屏模式(默认开);保存后用 `/restart` 生效 |
568
+ | launchpad | 启动页(落地页,默认开):普通启动先落启动页输入第一句话;关闭后直接进入聊天页(带 `--resume` 等恢复目标的启动不受影响,仍直接进会话)。保存后用 `/restart` 生效 |
548
569
  | minimal | 极简界面 Minimal UI(默认关):隐藏开屏头部、emoji 状态符与装饰性配色,底栏只留模型与目录;代码高亮与工具配色保留。**这是界面开关**,对模型能力没有任何影响——别和 `/preset` 的内核「极简模式」预设搞混 |
549
570
  | terminalImages | 终端图片预览(默认开,需终端支持);保存后用 `/restart` 生效。关闭后只显示文字信息并跳过预览解码,不影响向模型发送图片 |
550
571
  | imageBacking | 图片底色(默认 `transparent`,与上一条同在**图表与图片**主题下):聊天照片/插图背后垫什么。透明:只画图片自己的像素,抗锯齿边缘和透明圆角透出终端底色或壁纸;终端底色:先合成到终端背景色,柔和边缘更平滑。立即生效 |
@@ -552,7 +573,7 @@ dsh-tui 自身区块在 0.1.7 写入当前 profile 的 `cordis.patch.yml`,旧
552
573
  | whale | 开屏头部像素鲸鱼娘(默认开);每次启动随机三选一开场动画(经典/爱心/睡觉),`/deepseek` 彩蛋重掷 |
553
574
  | whaleIdle | 鲸鱼娘欢迎期闲置动画(默认开):定格后摆鱼鳍/拍尾巴/眨眼,空闲 10 秒入睡冒 Z;点击冒爱心。开始第一个任务后定格 |
554
575
  | splashFont | 开屏大字字体:按天轮换(默认,随本地日期换款)/ 加粗 / 方角实心 / 半立体 / 宽体 / 点阵灰度 / 镂空模板 / 细笔 / 方板。选某一款即固定那一款,选回「按天轮换」恢复。立即生效 |
555
- | whaleGirl | 女仆娘立绘(默认关):标题像素鲸鱼换成作者绘制的女仆娘**真图**(Kitty/Sixel 图像协议);不支持时回落像素鲸鱼 |
576
+ | whaleGirl | 女仆娘立绘(默认关):DeepSeek 品牌下,设 `companion.skin=whale` 并开启本项;`deepy` 和 `whaleGirl` 皮肤会取代立绘。Claude 使用自己的图案,Codex 使用自己的真图或女仆娘字符画回退;这两个品牌的开屏图案不受宠物皮肤和女仆娘开关影响。优先 Kitty/Sixel 真图,不支持时回落字符画。见[优先级表](configuration.md) |
556
577
  | diffLayout | Edit/Write diff 布局:auto(≥110 列双栏)/ split / unified |
557
578
  | thinkingFold | 思考块:preview(流式 2-3 行预览 + 落定折叠)/ full(展开到轮末) |
558
579
  | btw.contextBudget | `/btw` 追问携带的最近问答总字符预算(默认 24000,范围 1000-200000);超出时从最旧的整组开始裁剪。立即生效 |
@@ -571,8 +592,8 @@ dsh-tui 自身区块在 0.1.7 写入当前 profile 的 `cordis.patch.yml`,旧
571
592
  | expandEditor | 全屏草稿编辑(默认开):输入行尾 `⛶` 或 `Ctrl+Shift+E` 展开成整屏编辑器;`Ctrl+Enter` 发送、`Esc` 收起(草稿还在);关掉后入口不显示 |
572
593
  | statusBar.* | 上表全部状态栏开关(compact/model/thinking/cwd/contextUsage/cache/tokens/cost/tps/gitBranch/sessionTitle/sessionId/mode/contextBar/activity/trajectory;statusBar.sessionId 是底栏显示开关,与 cordis 的启动 sessionId 无关) |
573
594
 
574
- **effortDefault**:模型没有该档时自动就近降级并弹提示;优先级 settings 用户层 > cordis `effort` >
575
- 上次 `/effort`(effort.json)> 模型默认。
595
+ **effortDefault**:模型没有该档时自动就近降级并弹提示;优先级 settings 用户层 > 上次 `/effort`
596
+ (effort.json,即上次实际运行的档位)> cordis `effort`(部署默认值)> 模型默认。
576
597
 
577
598
  **scrollGutter**:scrollbar 轨道可直接拖;`Shift`/`Alt`/`Ctrl`+拖动仍是文字选择。
578
599
 
@@ -618,10 +639,10 @@ dsh 意外退出时,安全模式给出**只读**的环境诊断、profile 插
618
639
 
619
640
  | 项 | 命令 | 说明 |
620
641
  |---|---|---|
621
- | 模型 | `/model` | 选择器;**切换 = fork 会话续聊**(历史保留、仅换路由);持久化 `~/.dsh-tui/model.json`,重启与 `/new` 沿用。从没选过的话,用内置默认模型(当前为 `deepseek-flash`) |
622
- | 推理强度 | `/effort` | 滑杆(←/→ 实时)或 `/effort <id>`;`/effort status` 看当前;新会话默认档在 /settings → 默认推理强度 |
642
+ | 模型 | `/model` | 选择器;**同会话切换模型**(保留 session ID 和历史,仅换后续请求路由);持久化 `~/.dsh-tui/model.json`,重启与 `/new` 沿用(恢复的会话沿用其最后一次请求的路由)——它**优先于** cordis.yml/profile 里写的 `provider`/`model`(后者只是首次启动的部署默认值)。从没选过的话,用配置值,再没有才用 Harness 默认(当前为 `deepseek-flash`) |
643
+ | 推理强度 | `/effort` | 滑杆(←/→ 实时)或 `/effort <id>`;`/effort status` 看当前;持久化 `~/.dsh-tui/effort.json` 并被下一次启动沿用(优先于 cordis.yml 的 `effort`),新会话默认档在 /settings → 默认推理强度 |
623
644
  | Agent 预设 | `/preset` | `standard` / `ptc`(旧 0.1.1 名 `code`)/ `minimal` / `cordis` / **梁神模式 `liangshen`**;**已开始会话不可切换** |
624
- | 主题 | `/theme` | `auto`(OSC 11 跟随终端背景)/ `light` / `dark` / `dark-ansi`;`/theme <名>` 直接切;`/theme status` 看解析结果 |
645
+ | 主题 | `/theme` | `auto`(OSC 11 跟随终端背景)/ `light` / `dark` / `dark-ansi` / `pink-day` / `pink-night` / `pink-ansi`;`/theme <名>` 直接切;`/theme status` 看解析结果 |
625
646
  | 自定义主题 | 手动 | `~/.dsh-tui/themes/<名>.json`,`{base, colors}` 格式,选中即热切换;命名为 `auto` 会被内置遮蔽 |
626
647
  | 语言 | `/lang` | `en` / `zh` 热切换;优先级 `DSH_TUI_LANG` > profile 配置(旧版 settings.yaml 用户层 > cordis.yml)> 持久化 |
627
648
  | 状态行动画 | `/activity` | 选择器或 `/activity frames <名>`;默认 `moon8`,`random` 随机 |
@@ -667,7 +688,7 @@ dsh 意外退出时,安全模式给出**只读**的环境诊断、profile 插
667
688
  12. 会话管理界面(`/resume`、`/home`、`/agentview`、`/bg` 或输入框行首 `⌸`):
668
689
  打字筛选、`★` 固定、`Ctrl+X` 停后台会话;切换只是**停放**。
669
690
  13. 回合运行中 `/compact`、`/model`、`/restart` 会被拒绝——先 `Ctrl+C` 或等回合结束。
670
- 14. `/model` 切换 = fork 续聊(历史保留),持久化后重启与 `/new` 沿用。
691
+ 14. `/model` 在同一会话内切换后续请求的模型(ID 和历史保留);选择保存为新会话默认,恢复的会话沿用其最后一次请求的路由。
671
692
 
672
693
  **问手册**
673
694