@deepseek-harness-tui/dsh-tui 0.15.0 → 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 (301) hide show
  1. package/README.md +92 -5
  2. package/guide/dsh-tui-guide/codex-backend.en.md +13 -3
  3. package/guide/dsh-tui-guide/codex-backend.md +9 -2
  4. package/guide/dsh-tui-guide/configuration.en.md +39 -2
  5. package/guide/dsh-tui-guide/configuration.md +34 -2
  6. package/guide/dsh-tui-guide/getting-started.en.md +15 -0
  7. package/guide/dsh-tui-guide/getting-started.md +15 -0
  8. package/guide/dsh-tui-guide/interaction.en.md +8 -1
  9. package/guide/dsh-tui-guide/interaction.md +8 -1
  10. package/guide/dsh-tui-guide/plugins.en.md +66 -5
  11. package/guide/dsh-tui-guide/plugins.md +37 -3
  12. package/guide/dsh-tui-guide/user-guide.en.md +3 -2
  13. package/guide/dsh-tui-guide/user-guide.md +3 -2
  14. package/lib/settings.json +1 -1
  15. package/lib/types/adapter/channel/projection.d.ts.map +1 -1
  16. package/lib/types/adapter/channel/projection.js +1 -0
  17. package/lib/types/adapter/channel/ui-policy.d.ts +1 -1
  18. package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -1
  19. package/lib/types/adapter/channel/ui-policy.js +1 -0
  20. package/lib/types/adapter/ports/channel-catalog.d.ts +5 -1
  21. package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -1
  22. package/lib/types/adapter/ports/channel-settings.d.ts +5 -3
  23. package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -1
  24. package/lib/types/adapter/ports/channel-ui.d.ts +7 -1
  25. package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -1
  26. package/lib/types/adapter/ports/channel-view.d.ts +47 -0
  27. package/lib/types/adapter/ports/channel-view.d.ts.map +1 -1
  28. package/lib/types/adapter/ports/channel.d.ts +2 -0
  29. package/lib/types/adapter/ports/channel.d.ts.map +1 -1
  30. package/lib/types/agent/events.d.ts +3 -2
  31. package/lib/types/agent/events.d.ts.map +1 -1
  32. package/lib/types/backends/codex/contract.d.ts +3 -0
  33. package/lib/types/backends/codex/contract.d.ts.map +1 -1
  34. package/lib/types/backends/codex/contract.js +3 -0
  35. package/lib/types/backends/codex/session/async-questions.d.ts +17 -0
  36. package/lib/types/backends/codex/session/async-questions.d.ts.map +1 -0
  37. package/lib/types/backends/codex/session/async-questions.js +89 -0
  38. package/lib/types/backends/codex/session/session.d.ts.map +1 -1
  39. package/lib/types/backends/codex/session/session.js +35 -9
  40. package/lib/types/backends/codex/text.d.ts +3 -3
  41. package/lib/types/backends/codex/text.js +1 -1
  42. package/lib/types/backends/codex/translate/items.d.ts.map +1 -1
  43. package/lib/types/backends/codex/translate/items.js +3 -1
  44. package/lib/types/backends/codex/translate/question-reply.d.ts +11 -0
  45. package/lib/types/backends/codex/translate/question-reply.d.ts.map +1 -0
  46. package/lib/types/backends/codex/translate/question-reply.js +53 -0
  47. package/lib/types/channel/projection.d.ts.map +1 -1
  48. package/lib/types/channel/projection.js +10 -0
  49. package/lib/types/commands.d.ts +10 -0
  50. package/lib/types/commands.d.ts.map +1 -1
  51. package/lib/types/commands.js +11 -2
  52. package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
  53. package/lib/types/components/CommandSuggestions.js +4 -1
  54. package/lib/types/components/LogoV2.d.ts +4 -1
  55. package/lib/types/components/LogoV2.d.ts.map +1 -1
  56. package/lib/types/components/LogoV2.js +5 -3
  57. package/lib/types/components/MessageList.d.ts.map +1 -1
  58. package/lib/types/components/MessageList.js +95 -14
  59. package/lib/types/components/PermissionsPicker.d.ts +10 -1
  60. package/lib/types/components/PermissionsPicker.d.ts.map +1 -1
  61. package/lib/types/components/PermissionsPicker.js +24 -16
  62. package/lib/types/components/PluginInstallPane.d.ts +21 -0
  63. package/lib/types/components/PluginInstallPane.d.ts.map +1 -0
  64. package/lib/types/components/PluginInstallPane.js +84 -0
  65. package/lib/types/components/PluginManagePane.d.ts +21 -0
  66. package/lib/types/components/PluginManagePane.d.ts.map +1 -0
  67. package/lib/types/components/PluginManagePane.js +69 -0
  68. package/lib/types/components/PromptInput.d.ts.map +1 -1
  69. package/lib/types/components/PromptInput.js +7 -3
  70. package/lib/types/components/SubagentCard.d.ts +13 -1
  71. package/lib/types/components/SubagentCard.d.ts.map +1 -1
  72. package/lib/types/components/SubagentCard.js +27 -12
  73. package/lib/types/components/SubagentDashboard.d.ts +8 -1
  74. package/lib/types/components/SubagentDashboard.d.ts.map +1 -1
  75. package/lib/types/components/SubagentDashboard.js +58 -16
  76. package/lib/types/components/launchpadLayout.d.ts +14 -1
  77. package/lib/types/components/launchpadLayout.d.ts.map +1 -1
  78. package/lib/types/components/launchpadLayout.js +36 -17
  79. package/lib/types/components/messages/TeamMessageBubble.d.ts +20 -0
  80. package/lib/types/components/messages/TeamMessageBubble.d.ts.map +1 -0
  81. package/lib/types/components/messages/TeamMessageBubble.js +15 -0
  82. package/lib/types/components/sidePanel/PanelHost.d.ts.map +1 -1
  83. package/lib/types/components/sidePanel/PanelHost.js +5 -1
  84. package/lib/types/components/sidePanel/PanelStore.d.ts +8 -0
  85. package/lib/types/components/sidePanel/PanelStore.d.ts.map +1 -1
  86. package/lib/types/components/sidePanel/PanelStore.js +11 -0
  87. package/lib/types/components/sidePanel/SidePanelColumn.d.ts.map +1 -1
  88. package/lib/types/components/sidePanel/SidePanelColumn.js +13 -1
  89. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts +7 -0
  90. package/lib/types/components/sidePanel/SidePanelRuntimeContext.d.ts.map +1 -1
  91. package/lib/types/components/sidePanel/SidePanelRuntimeContext.js +4 -0
  92. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts +3 -0
  93. package/lib/types/components/sidePanel/btw/BtwComposer.d.ts.map +1 -1
  94. package/lib/types/components/sidePanel/btw/BtwComposer.js +20 -8
  95. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts +2 -1
  96. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.d.ts.map +1 -1
  97. package/lib/types/components/sidePanel/btw/BtwPanelAdapter.js +104 -13
  98. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts +6 -2
  99. package/lib/types/components/sidePanel/btw/BtwThreadScene.d.ts.map +1 -1
  100. package/lib/types/components/sidePanel/btw/BtwThreadScene.js +61 -15
  101. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts +14 -4
  102. package/lib/types/components/sidePanel/btw/BtwThreadView.d.ts.map +1 -1
  103. package/lib/types/components/sidePanel/btw/BtwThreadView.js +90 -5
  104. package/lib/types/components/sidePanel/btw/threads.d.ts +18 -0
  105. package/lib/types/components/sidePanel/btw/threads.d.ts.map +1 -1
  106. package/lib/types/components/sidePanel/btw/threads.js +51 -0
  107. package/lib/types/components/sidePanel/builtinPanels.d.ts.map +1 -1
  108. package/lib/types/components/sidePanel/builtinPanels.js +5 -1
  109. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts +5 -1
  110. package/lib/types/components/sidePanel/companion/SplashMascot.d.ts.map +1 -1
  111. package/lib/types/components/sidePanel/companion/SplashMascot.js +19 -4
  112. package/lib/types/components/sidePanel/companion/skins.d.ts +8 -0
  113. package/lib/types/components/sidePanel/companion/skins.d.ts.map +1 -1
  114. package/lib/types/components/sidePanel/companion/skins.js +57 -12
  115. package/lib/types/components/sidePanel/types.d.ts +6 -0
  116. package/lib/types/components/sidePanel/types.d.ts.map +1 -1
  117. package/lib/types/components/splashArtRows.d.ts +29 -0
  118. package/lib/types/components/splashArtRows.d.ts.map +1 -0
  119. package/lib/types/components/splashArtRows.js +31 -0
  120. package/lib/types/components/teamRoster.d.ts +70 -0
  121. package/lib/types/components/teamRoster.d.ts.map +1 -0
  122. package/lib/types/components/teamRoster.js +78 -0
  123. package/lib/types/dsh-adapter/admission-loader.d.ts +82 -0
  124. package/lib/types/dsh-adapter/admission-loader.d.ts.map +1 -1
  125. package/lib/types/dsh-adapter/admission-loader.js +73 -28
  126. package/lib/types/dsh-adapter/agent-view.d.ts.map +1 -1
  127. package/lib/types/dsh-adapter/agent-view.js +3 -1
  128. package/lib/types/dsh-adapter/approvals.d.ts +7 -0
  129. package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
  130. package/lib/types/dsh-adapter/approvals.js +45 -1
  131. package/lib/types/dsh-adapter/backend/translate.d.ts.map +1 -1
  132. package/lib/types/dsh-adapter/backend/translate.js +68 -8
  133. package/lib/types/dsh-adapter/backend-assembly.d.ts +31 -0
  134. package/lib/types/dsh-adapter/backend-assembly.d.ts.map +1 -0
  135. package/lib/types/dsh-adapter/backend-assembly.js +225 -0
  136. package/lib/types/dsh-adapter/backend-contribution.d.ts +36 -0
  137. package/lib/types/dsh-adapter/backend-contribution.d.ts.map +1 -1
  138. package/lib/types/dsh-adapter/backend-contribution.js +41 -0
  139. package/lib/types/dsh-adapter/backend-registry.d.ts.map +1 -1
  140. package/lib/types/dsh-adapter/backend-registry.js +22 -3
  141. package/lib/types/dsh-adapter/backends.d.ts.map +1 -1
  142. package/lib/types/dsh-adapter/backends.js +4 -5
  143. package/lib/types/dsh-adapter/bundled-presets.d.ts.map +1 -1
  144. package/lib/types/dsh-adapter/bundled-presets.js +60 -3
  145. package/lib/types/dsh-adapter/channel/binding-events.d.ts +1 -0
  146. package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -1
  147. package/lib/types/dsh-adapter/channel/binding-events.js +1 -0
  148. package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -1
  149. package/lib/types/dsh-adapter/channel/command-completions.js +64 -7
  150. package/lib/types/dsh-adapter/channel/compaction.d.ts +7 -2
  151. package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -1
  152. package/lib/types/dsh-adapter/channel/compaction.js +100 -26
  153. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts +3 -0
  154. package/lib/types/dsh-adapter/channel/core/binding-feed.d.ts.map +1 -1
  155. package/lib/types/dsh-adapter/channel/core/binding-feed.js +2 -1
  156. package/lib/types/dsh-adapter/channel/core/compose.d.ts.map +1 -1
  157. package/lib/types/dsh-adapter/channel/core/compose.js +12 -0
  158. package/lib/types/dsh-adapter/channel/extensions.d.ts.map +1 -1
  159. package/lib/types/dsh-adapter/channel/extensions.js +68 -8
  160. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +6 -0
  161. package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -1
  162. package/lib/types/dsh-adapter/channel/mode-permission-actions.js +104 -12
  163. package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -1
  164. package/lib/types/dsh-adapter/channel/model-actions.js +8 -1
  165. package/lib/types/dsh-adapter/channel/permissions.d.ts.map +1 -1
  166. package/lib/types/dsh-adapter/channel/permissions.js +4 -1
  167. package/lib/types/dsh-adapter/channel/projection-helpers.d.ts.map +1 -1
  168. package/lib/types/dsh-adapter/channel/projection-helpers.js +2 -0
  169. package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -1
  170. package/lib/types/dsh-adapter/channel/session-metadata.js +4 -3
  171. package/lib/types/dsh-adapter/channel/session-reset.js +2 -2
  172. package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -1
  173. package/lib/types/dsh-adapter/channel/session-resume.js +7 -0
  174. package/lib/types/dsh-adapter/channel/settings-host.d.ts +3 -0
  175. package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -1
  176. package/lib/types/dsh-adapter/channel/settings-host.js +135 -5
  177. package/lib/types/dsh-adapter/channel/state.d.ts +6 -0
  178. package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -1
  179. package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -1
  180. package/lib/types/dsh-adapter/channel/subagent-projection.js +18 -6
  181. package/lib/types/dsh-adapter/channel/transcript.d.ts +7 -0
  182. package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -1
  183. package/lib/types/dsh-adapter/channel/transcript.js +19 -2
  184. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts +55 -0
  185. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.d.ts.map +1 -0
  186. package/lib/types/dsh-adapter/compat/agent-team-0.2.0.js +96 -0
  187. package/lib/types/dsh-adapter/contract.d.ts +4 -4
  188. package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
  189. package/lib/types/dsh-adapter/contract.js +5 -5
  190. package/lib/types/dsh-adapter/effect-ledger.d.ts +7 -0
  191. package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -1
  192. package/lib/types/dsh-adapter/effect-ledger.js +8 -1
  193. package/lib/types/dsh-adapter/entry-slot.d.ts +3 -1
  194. package/lib/types/dsh-adapter/entry-slot.d.ts.map +1 -1
  195. package/lib/types/dsh-adapter/entry-slot.js +2 -2
  196. package/lib/types/dsh-adapter/fresh-agent.d.ts.map +1 -1
  197. package/lib/types/dsh-adapter/fresh-agent.js +6 -1
  198. package/lib/types/dsh-adapter/host-access.d.ts.map +1 -1
  199. package/lib/types/dsh-adapter/host-access.js +95 -0
  200. package/lib/types/dsh-adapter/host-contract.d.ts +1 -1
  201. package/lib/types/dsh-adapter/host-contract.d.ts.map +1 -1
  202. package/lib/types/dsh-adapter/host-contract.js +3 -2
  203. package/lib/types/dsh-adapter/host-dsh.d.ts +8 -2
  204. package/lib/types/dsh-adapter/host-dsh.d.ts.map +1 -1
  205. package/lib/types/dsh-adapter/host-dsh.js +45 -30
  206. package/lib/types/dsh-adapter/host-entry.js +35 -10
  207. package/lib/types/dsh-adapter/index.d.ts +9 -10
  208. package/lib/types/dsh-adapter/index.d.ts.map +1 -1
  209. package/lib/types/dsh-adapter/index.js +8 -6
  210. package/lib/types/dsh-adapter/invariant.d.ts +7 -2
  211. package/lib/types/dsh-adapter/invariant.d.ts.map +1 -1
  212. package/lib/types/dsh-adapter/invariant.js +6 -3
  213. package/lib/types/dsh-adapter/migrate/index.js +2 -2
  214. package/lib/types/dsh-adapter/panels.d.ts.map +1 -1
  215. package/lib/types/dsh-adapter/panels.js +6 -0
  216. package/lib/types/dsh-adapter/plugin-declaration.d.ts +99 -1
  217. package/lib/types/dsh-adapter/plugin-declaration.d.ts.map +1 -1
  218. package/lib/types/dsh-adapter/plugin-declaration.js +132 -2
  219. package/lib/types/dsh-adapter/plugin-feed.d.ts +94 -0
  220. package/lib/types/dsh-adapter/plugin-feed.d.ts.map +1 -0
  221. package/lib/types/dsh-adapter/plugin-feed.js +135 -0
  222. package/lib/types/dsh-adapter/plugin-guard.d.ts +115 -0
  223. package/lib/types/dsh-adapter/plugin-guard.d.ts.map +1 -0
  224. package/lib/types/dsh-adapter/plugin-guard.js +108 -0
  225. package/lib/types/dsh-adapter/plugin-install.d.ts +160 -0
  226. package/lib/types/dsh-adapter/plugin-install.d.ts.map +1 -0
  227. package/lib/types/dsh-adapter/plugin-install.js +545 -0
  228. package/lib/types/dsh-adapter/plugin-manage.d.ts +178 -0
  229. package/lib/types/dsh-adapter/plugin-manage.d.ts.map +1 -0
  230. package/lib/types/dsh-adapter/plugin-manage.js +468 -0
  231. package/lib/types/dsh-adapter/plugin-manager.d.ts +78 -2
  232. package/lib/types/dsh-adapter/plugin-manager.d.ts.map +1 -1
  233. package/lib/types/dsh-adapter/plugin-manager.js +32 -0
  234. package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
  235. package/lib/types/dsh-adapter/plugin.js +49 -2
  236. package/lib/types/dsh-adapter/plugins-info.d.ts +87 -1
  237. package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
  238. package/lib/types/dsh-adapter/plugins-info.js +131 -26
  239. package/lib/types/dsh-adapter/process-exit.d.ts +1 -1
  240. package/lib/types/dsh-adapter/process-exit.d.ts.map +1 -1
  241. package/lib/types/dsh-adapter/process-exit.js +1 -1
  242. package/lib/types/dsh-adapter/session-projection-store.d.ts +66 -0
  243. package/lib/types/dsh-adapter/session-projection-store.d.ts.map +1 -0
  244. package/lib/types/dsh-adapter/session-projection-store.js +149 -0
  245. package/lib/types/dsh-adapter/settingsEditor.js +2 -2
  246. package/lib/types/dsh-adapter/sideQuestion.d.ts +21 -0
  247. package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -1
  248. package/lib/types/dsh-adapter/sideQuestion.js +53 -0
  249. package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
  250. package/lib/types/dsh-adapter/subagents.js +2 -1
  251. package/lib/types/dsh-adapter/team-mode.d.ts +74 -0
  252. package/lib/types/dsh-adapter/team-mode.d.ts.map +1 -0
  253. package/lib/types/dsh-adapter/team-mode.js +188 -0
  254. package/lib/types/dsh-adapter/team-roster.d.ts +67 -0
  255. package/lib/types/dsh-adapter/team-roster.d.ts.map +1 -0
  256. package/lib/types/dsh-adapter/team-roster.js +136 -0
  257. package/lib/types/dsh-adapter/team-tools.d.ts +58 -0
  258. package/lib/types/dsh-adapter/team-tools.d.ts.map +1 -0
  259. package/lib/types/dsh-adapter/team-tools.js +208 -0
  260. package/lib/types/dsh-adapter/types.d.ts +1 -1
  261. package/lib/types/dsh-adapter/types.d.ts.map +1 -1
  262. package/lib/types/i18n.d.ts +607 -16
  263. package/lib/types/i18n.d.ts.map +1 -1
  264. package/lib/types/i18n.js +295 -9
  265. package/lib/types/ink/components/ScrollBox.d.ts +9 -0
  266. package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
  267. package/lib/types/ink/components/ScrollBox.js +23 -0
  268. package/lib/types/ink/dom.d.ts.map +1 -1
  269. package/lib/types/kernelPrefs.d.ts +1 -1
  270. package/lib/types/kernelPrefs.d.ts.map +1 -1
  271. package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
  272. package/lib/types/native-ts/yoga-layout/index.js +8 -1
  273. package/lib/types/permissionPresetLabels.d.ts +25 -0
  274. package/lib/types/permissionPresetLabels.d.ts.map +1 -0
  275. package/lib/types/permissionPresetLabels.js +33 -0
  276. package/lib/types/preset-patch.d.ts +22 -0
  277. package/lib/types/preset-patch.d.ts.map +1 -0
  278. package/lib/types/preset-patch.js +14 -0
  279. package/lib/types/screens/Chat.d.ts +33 -1
  280. package/lib/types/screens/Chat.d.ts.map +1 -1
  281. package/lib/types/screens/Chat.js +301 -9
  282. package/lib/types/screens/Launchpad.d.ts +7 -1
  283. package/lib/types/screens/Launchpad.d.ts.map +1 -1
  284. package/lib/types/screens/Launchpad.js +19 -4
  285. package/lib/types/screens/Settings.d.ts.map +1 -1
  286. package/lib/types/screens/Settings.js +1 -0
  287. package/lib/types/screens/chat/usePluginWriteFlow.d.ts +68 -0
  288. package/lib/types/screens/chat/usePluginWriteFlow.d.ts.map +1 -0
  289. package/lib/types/screens/chat/usePluginWriteFlow.js +92 -0
  290. package/lib/types/screens/chatOverlay.d.ts +19 -1
  291. package/lib/types/screens/chatOverlay.d.ts.map +1 -1
  292. package/lib/types/sessionModes.d.ts +5 -3
  293. package/lib/types/sessionModes.d.ts.map +1 -1
  294. package/lib/types/sessionModes.js +9 -3
  295. package/lib/types/tips.js +2 -2
  296. package/lib/types/utils/paths.d.ts +11 -0
  297. package/lib/types/utils/paths.d.ts.map +1 -1
  298. package/lib/types/utils/paths.js +13 -0
  299. package/package.json +126 -120
  300. package/tui-profile/feed/README.md +63 -0
  301. package/tui-profile/feed/first-party.json +10 -0
@@ -302,6 +302,10 @@ declare const dict: {
302
302
  readonly zh: "未找到引用: {{paths}}";
303
303
  readonly en: "References not found: {{paths}}";
304
304
  };
305
+ readonly 'team-message-label': {
306
+ readonly zh: "团队消息";
307
+ readonly en: "team message";
308
+ };
305
309
  readonly 'selection-attached': {
306
310
  readonly zh: "已选中 {{lines}} 行 · {{path}}";
307
311
  readonly en: {
@@ -2188,6 +2192,58 @@ declare const dict: {
2188
2192
  readonly zh: "不受限读写,无需审批";
2189
2193
  readonly en: "Unrestricted access, no approvals";
2190
2194
  };
2195
+ readonly 'permission-preset-auto': {
2196
+ readonly zh: "自动授权审查";
2197
+ readonly en: "Auto review";
2198
+ };
2199
+ readonly 'permission-preset-auto-desc': {
2200
+ readonly zh: "模型在每次工具调用前审查授权;无文件沙箱,仅当前会话";
2201
+ readonly en: "The model reviews every tool call before it runs; no file sandbox, this session only";
2202
+ };
2203
+ readonly 'permission-preset-exp-tag': {
2204
+ readonly zh: "EXP";
2205
+ readonly en: "EXP";
2206
+ };
2207
+ readonly 'permission-auto-confirm-title': {
2208
+ readonly zh: "启用自动授权审查(实验性)?";
2209
+ readonly en: "Enable Auto review (experimental)?";
2210
+ };
2211
+ readonly 'permission-auto-confirm-session': {
2212
+ readonly zh: "仅对当前会话生效,不会成为新会话的默认";
2213
+ readonly en: "Applies to this session only; never becomes the default for new sessions";
2214
+ };
2215
+ readonly 'permission-auto-confirm-sandbox': {
2216
+ readonly zh: "无文件沙箱:放行的调用拥有完全访问权限";
2217
+ readonly en: "No file sandbox: allowed calls run with full access";
2218
+ };
2219
+ readonly 'permission-auto-confirm-cost': {
2220
+ readonly zh: "每次工具调用都会额外发起一次模型审查请求";
2221
+ readonly en: "Every tool call costs one extra model review request";
2222
+ };
2223
+ readonly 'permission-auto-confirm-risk': {
2224
+ readonly zh: "审查放行的调用(含你已明确授权的中风险操作)直接执行;被拒的调用(含高风险)转为审批由你决定,子代理中直接拒绝;审查失败即不执行";
2225
+ readonly en: "Calls the review allows (including medium-risk ones you explicitly authorized) run without asking; denied calls, high-risk included, come to you as an approval, or are denied outright in subagents; a failed review never runs";
2226
+ };
2227
+ readonly 'permission-auto-confirm-actions': {
2228
+ readonly zh: "**Enter** 启用 · Esc 返回";
2229
+ readonly en: "**Enter** to enable · Esc to go back";
2230
+ };
2231
+ readonly 'permission-auto-confirm-enable': {
2232
+ readonly zh: "启用";
2233
+ readonly en: "Enable";
2234
+ };
2235
+ readonly 'permission-auto-confirm-back': {
2236
+ readonly zh: "返回";
2237
+ readonly en: "Go back";
2238
+ };
2239
+ readonly 'permission-auto-unavailable': {
2240
+ readonly zh: "自动授权审查已不可用";
2241
+ readonly en: "Auto review is no longer available";
2242
+ };
2243
+ readonly 'tool-error-auto-review-denied': {
2244
+ readonly zh: "自动授权审查拒绝,未执行";
2245
+ readonly en: "Auto review denied; not executed";
2246
+ };
2191
2247
  readonly 'plan-picker-title': {
2192
2248
  readonly zh: "计划模式";
2193
2249
  readonly en: "Plan mode";
@@ -2381,13 +2437,25 @@ declare const dict: {
2381
2437
  readonly en: "Type a follow-up… (Enter send · Esc back to chat · Tab list)";
2382
2438
  };
2383
2439
  readonly 'btw-input-placeholder': {
2384
- readonly zh: "点击或 Enter 提问";
2385
- readonly en: "Click or press Enter to ask";
2440
+ readonly zh: "Enter 提问";
2441
+ readonly en: "Enter to ask";
2386
2442
  };
2387
2443
  readonly 'btw-input-hint-edit': {
2388
2444
  readonly zh: "Enter 发送 · Esc";
2389
2445
  readonly en: "Enter send · Esc";
2390
2446
  };
2447
+ readonly 'btw-list-hint': {
2448
+ readonly zh: "↑/↓ 选择 · s 送聊天 · c 复制";
2449
+ readonly en: "↑/↓ select · s to chat · c copy";
2450
+ };
2451
+ readonly 'btw-list-hint-attached': {
2452
+ readonly zh: "↑/↓ 选择 · s 撤回 · c 复制";
2453
+ readonly en: "↑/↓ select · s unsend · c copy";
2454
+ };
2455
+ readonly 'btw-hint-edit-back': {
2456
+ readonly zh: "↑ 选择";
2457
+ readonly en: "↑ select";
2458
+ };
2391
2459
  readonly 'btw-empty-lines': {
2392
2460
  readonly zh: "旁路问答不打断主线:答案只留在这里,不进主聊天与会话记录。";
2393
2461
  readonly en: "Side questions never derail the main line: answers stay here, out of the main chat and session log.";
@@ -2421,8 +2489,8 @@ declare const dict: {
2421
2489
  readonly en: "Side thread";
2422
2490
  };
2423
2491
  readonly 'btw-scene-hints': {
2424
- readonly zh: "Enter 追问 · ↑/↓ 滚动 · n 新话题 · s 送聊天 · c 复制 · Esc 返回";
2425
- readonly en: "Enter ask · ↑/↓ scroll · n new · s to chat · c copy · Esc back";
2492
+ readonly zh: "Enter 追问 · ↑/↓ 选择 · n 新话题 · s 送聊天 · c 复制 · Esc 返回";
2493
+ readonly en: "Enter ask · ↑/↓ select · n new · s to chat · c copy · Esc back";
2426
2494
  };
2427
2495
  readonly 'btw-panel-unavailable': {
2428
2496
  readonly zh: "btw 面板未启用(/settings → dsh-tui.sidePanel.panels)";
@@ -3071,6 +3139,26 @@ declare const dict: {
3071
3139
  readonly zh: "子代理";
3072
3140
  readonly en: "Task";
3073
3141
  };
3142
+ readonly 'tool-name-team-message': {
3143
+ readonly zh: "团队消息";
3144
+ readonly en: "Message";
3145
+ };
3146
+ readonly 'tool-name-team-roster': {
3147
+ readonly zh: "团队成员";
3148
+ readonly en: "Team";
3149
+ };
3150
+ readonly 'tool-name-team-wait': {
3151
+ readonly zh: "等待团队";
3152
+ readonly en: "Wait";
3153
+ };
3154
+ readonly 'tool-name-team-interrupt': {
3155
+ readonly zh: "中断成员";
3156
+ readonly en: "Interrupt";
3157
+ };
3158
+ readonly 'tool-name-team-task': {
3159
+ readonly zh: "任务板";
3160
+ readonly en: "Tasks";
3161
+ };
3074
3162
  readonly 'tool-name-web_search': {
3075
3163
  readonly zh: "联网搜索";
3076
3164
  readonly en: "WebSearch";
@@ -3210,6 +3298,14 @@ declare const dict: {
3210
3298
  readonly zh: "显示当前选择";
3211
3299
  readonly en: "Show the current choice";
3212
3300
  };
3301
+ readonly 'sugg-team-on-desc': {
3302
+ readonly zh: "开启 Agent Teams(启用团队 bundle)";
3303
+ readonly en: "Switch Agent Teams on (enable the team bundle)";
3304
+ };
3305
+ readonly 'sugg-team-off-desc': {
3306
+ readonly zh: "关闭 Agent Teams(停用团队 bundle)";
3307
+ readonly en: "Switch Agent Teams off (disable the team bundle)";
3308
+ };
3213
3309
  readonly 'sugg-lang-zh-desc': {
3214
3310
  readonly zh: "切换界面语言到中文";
3215
3311
  readonly en: "Switch the UI language to Chinese";
@@ -3582,6 +3678,10 @@ declare const dict: {
3582
3678
  readonly zh: "凭据 {{ref}} 由宿主保留,写入被拒绝:第三方设置区块不能覆盖宿主共享凭据";
3583
3679
  readonly en: "Credential {{ref}} is reserved by the host; write rejected: third-party settings sections cannot overwrite host-shared credentials";
3584
3680
  };
3681
+ readonly 'settings-web-key-changed': {
3682
+ readonly zh: "网页搜索设置已变化,请重新打开设置后输入密钥";
3683
+ readonly en: "Web search settings changed. Reopen settings and enter the key again.";
3684
+ };
3585
3685
  readonly 'settings-panels-unclaimed': {
3586
3686
  readonly zh: "暂无面板使用此 id:先保留,等插件注册后生效";
3587
3687
  readonly en: "No panel uses this id yet; kept until a plugin registers it";
@@ -3978,10 +4078,6 @@ declare const dict: {
3978
4078
  readonly zh: "等待插件期间会话已切换,该条输入已丢弃";
3979
4079
  readonly en: "Session switched while a plugin decided — the input was dropped";
3980
4080
  };
3981
- readonly 'ext-compact-stale': {
3982
- readonly zh: "等待插件期间会话已切换,压缩已取消";
3983
- readonly en: "Session switched while a plugin decided — compaction abandoned";
3984
- };
3985
4081
  readonly 'ext-shortcut-failed': {
3986
4082
  readonly zh: "插件快捷键 {{combo}} 执行失败";
3987
4083
  readonly en: "Plugin shortcut {{combo}} failed";
@@ -4034,8 +4130,8 @@ declare const dict: {
4034
4130
  readonly en: "Effect ledger ({{file}}), last 5 records:";
4035
4131
  };
4036
4132
  readonly 'plugins-unknown-subcommand': {
4037
- readonly zh: "未知子命令:{{sub}}(支持:list / check <路径> / info <spec> / registries)";
4038
- readonly en: "Unknown subcommand: {{sub}} (supported: list / check <path> / info <spec> / registries)";
4133
+ readonly zh: "未知子命令:{{sub}}(支持:list / install <spec> / remove <bundle> / disable <名称|id> / enable <名称|id> / check <路径> / info <spec> / registries)";
4134
+ readonly en: "Unknown subcommand: {{sub}} (supported: list / install <spec> / remove <bundle> / disable <name|id> / enable <name|id> / check <path> / info <spec> / registries)";
4039
4135
  };
4040
4136
  readonly 'plugins-check-usage': {
4041
4137
  readonly zh: "用法:/plugin check <dsh-plugin.json 路径>";
@@ -4082,8 +4178,12 @@ declare const dict: {
4082
4178
  readonly en: "No live Host Descriptor is available; only static manifest validation was performed, no protocol support declaration/negotiation.";
4083
4179
  };
4084
4180
  readonly 'plugins-service-unavailable': {
4085
- readonly zh: "当前内核没有 profile 插件服务(ctx.pluginManager):bundle/行列表不可用。装/卸/启用请从命令行运行 `dsh plugin --profile dsh-tui …`,或以 `dsh --profile dsh-tui` 启动本应用。";
4086
- readonly en: "This kernel provides no profile plugin service (ctx.pluginManager): the bundle/row list is unavailable. Install, remove, or enable from the CLI with `dsh plugin --profile dsh-tui …`, or start this app through `dsh --profile dsh-tui`.";
4181
+ readonly zh: "当前内核没有 profile 插件服务(ctx.pluginManager):bundle / 行列表与生命周期动作都不可用。";
4182
+ readonly en: "This kernel provides no profile plugin service (ctx.pluginManager): the bundle/row list and the lifecycle actions are unavailable.";
4183
+ };
4184
+ readonly 'plugins-service-unavailable-route': {
4185
+ readonly zh: "装 / 卸走命令行:`dsh plugin --profile dsh-tui add|remove …`;启用 / 关闭没有命令行动词,请以 `dsh --profile dsh-tui` 启动本应用后在 /plugin 里操作。";
4186
+ readonly en: "Install and remove go through the CLI: `dsh plugin --profile dsh-tui add|remove …`. Enable and disable have no CLI verb — start this app with `dsh --profile dsh-tui` and use /plugin.";
4087
4187
  };
4088
4188
  readonly 'plugins-service-error': {
4089
4189
  readonly zh: "插件服务调用失败:{{err}}(上面的诊断部分照常显示。重试一次;仍失败请用 `dsh plugin --profile dsh-tui` 查看 CLI 侧的报错。)";
@@ -4098,8 +4198,8 @@ declare const dict: {
4098
4198
  readonly en: "No extra plugins in this profile: only the installation-supplied bundles and dsh-tui itself. Run /plugin list again after installing one.";
4099
4199
  };
4100
4200
  readonly 'plugins-list-hint': {
4101
- readonly zh: "详情:/plugin info <名字>;安装源:/plugin registries;完整诊断:无参 /plugin。";
4102
- readonly en: "Details: /plugin info <name>; registries: /plugin registries; full diagnostics: bare /plugin.";
4201
+ readonly zh: "详情:/plugin info <名字>;卸载:/plugin remove <名字>;启用 / 关闭:/plugin enable|disable <名字|行 id>;安装源:/plugin registries;完整诊断:无参 /plugin。";
4202
+ readonly en: "Details: /plugin info <name>; remove: /plugin remove <name>; enable or disable: /plugin enable|disable <name|row id>; registries: /plugin registries; full diagnostics: bare /plugin.";
4103
4203
  };
4104
4204
  readonly 'plugins-bundles-header': {
4105
4205
  readonly zh: "已装 bundle(数据来自 profile 插件服务):";
@@ -4217,6 +4317,314 @@ declare const dict: {
4217
4317
  readonly zh: "(无)";
4218
4318
  readonly en: "(none)";
4219
4319
  };
4320
+ readonly 'plugins-install-busy': {
4321
+ readonly zh: "回合正在运行,先结束它(或 /new)再装插件:安装会改动 profile 并触发应用/热重载";
4322
+ readonly en: "A turn is running; finish it (or /new) before installing: an install changes the profile and applies or hot-reloads plugins";
4323
+ };
4324
+ readonly 'plugins-install-inspect': {
4325
+ readonly zh: "将要安装:{{spec}}({{kind}} · {{bundle}})";
4326
+ readonly en: "About to install: {{spec}} ({{kind}} · {{bundle}})";
4327
+ };
4328
+ readonly 'plugins-install-trusted': {
4329
+ readonly zh: "嫡系(feed 命中):{{name}}@{{version}} —— 跳过装包信任确认;仍记 effect ledger,仍在 /plugin 列表可见";
4330
+ readonly en: "First-party (feed hit): {{name}}@{{version}} — skipping the package trust confirmation; the effect ledger and the /plugin list are unaffected";
4331
+ };
4332
+ readonly 'plugins-install-attempt': {
4333
+ readonly zh: "正在询问第 {{index}}/{{total}} 个安装源:{{registry}}";
4334
+ readonly en: "Asking registry {{index}}/{{total}}: {{registry}}";
4335
+ };
4336
+ readonly 'plugins-install-installing': {
4337
+ readonly zh: "正在安装…";
4338
+ readonly en: "Installing…";
4339
+ };
4340
+ readonly 'plugins-install-cancelling': {
4341
+ readonly zh: "正在取消…";
4342
+ readonly en: "Cancelling…";
4343
+ };
4344
+ readonly 'plugins-install-applying': {
4345
+ readonly zh: "正在应用…";
4346
+ readonly en: "Applying…";
4347
+ };
4348
+ readonly 'plugins-install-log-line-omitted': {
4349
+ readonly zh: "已省略超长日志行(每行上限 {{bytes}} 字节)。";
4350
+ readonly en: "An oversized log line was omitted (limit: {{bytes}} bytes per line).";
4351
+ };
4352
+ readonly 'plugins-install-build-blocked': {
4353
+ readonly zh: "安装被构建脚本拦住:有 {{count}} 个脚本待批准(批准后才会重试安装)";
4354
+ readonly en: "Blocked by build scripts: {{count}} awaiting approval (the install retries only after approval)";
4355
+ };
4356
+ readonly 'plugins-install-build-approved': {
4357
+ readonly zh: "已批准 {{count}} 个构建脚本(写入 profile 的 allowBuilds),正在重试安装";
4358
+ readonly en: "Approved {{count}} build scripts (written to the profile allowBuilds); retrying the install";
4359
+ };
4360
+ readonly 'plugins-install-incompatible': {
4361
+ readonly zh: "版本不兼容:{{packages}}(当前 DSH {{runtime}})";
4362
+ readonly en: "Incompatible version: {{packages}} (running DSH {{runtime}})";
4363
+ };
4364
+ readonly 'plugins-install-exempted': {
4365
+ readonly zh: "已为 {{count}} 个包登记精确版本豁免(accept-risk)";
4366
+ readonly en: "Recorded an exact-version exemption for {{count}} package(s) (accept-risk)";
4367
+ };
4368
+ readonly 'plugins-install-exemptions-unreadable': {
4369
+ readonly zh: "读不到当前的版本豁免清单:{{reason}}(面板按\"没有豁免\"继续)";
4370
+ readonly en: "Could not read the current version exemptions: {{reason}} (the pane continues as if there were none)";
4371
+ };
4372
+ readonly 'plugins-install-done': {
4373
+ readonly zh: "已安装 {{bundle}}:{{state}}";
4374
+ readonly en: "Installed {{bundle}}: {{state}}";
4375
+ };
4376
+ readonly 'plugins-install-state-applied': {
4377
+ readonly zh: "已应用";
4378
+ readonly en: "applied";
4379
+ };
4380
+ readonly 'plugins-install-state-restart': {
4381
+ readonly zh: "需要重启";
4382
+ readonly en: "restart required";
4383
+ };
4384
+ readonly 'plugins-install-state-overridden': {
4385
+ readonly zh: "被覆盖(HMR 生效中)";
4386
+ readonly en: "overridden (HMR is live)";
4387
+ };
4388
+ readonly 'plugins-install-restart-hint': {
4389
+ readonly zh: "重启本应用后它才会作为后端 / 贡献生效。";
4390
+ readonly en: "Restart this app for it to take effect as a backend / contribution.";
4391
+ };
4392
+ readonly 'plugins-install-failed': {
4393
+ readonly zh: "安装失败:{{reason}}";
4394
+ readonly en: "Install failed: {{reason}}";
4395
+ };
4396
+ readonly 'plugins-install-manual': {
4397
+ readonly zh: "手工命令:dsh plugin --profile {{profile}} add {{spec}}";
4398
+ readonly en: "Manual command: dsh plugin --profile {{profile}} add {{spec}}";
4399
+ };
4400
+ readonly 'plugins-install-rescue': {
4401
+ readonly zh: "反复失败时用救援 profile:dsh-tui safe --rescue";
4402
+ readonly en: "If it keeps failing, use the rescue profile: dsh-tui safe --rescue";
4403
+ };
4404
+ readonly 'plugins-install-cancelled': {
4405
+ readonly zh: "已取消安装(profile 已回滚)";
4406
+ readonly en: "Install cancelled (the profile was rolled back)";
4407
+ };
4408
+ readonly 'plugins-install-cancel-too-late': {
4409
+ readonly zh: "已进入应用阶段,无法取消";
4410
+ readonly en: "Already applying; it cannot be cancelled";
4411
+ };
4412
+ readonly 'plugins-install-cancel-not-running': {
4413
+ readonly zh: "没有在跑的安装(可能已经结束)";
4414
+ readonly en: "No installation is running (it may have finished)";
4415
+ };
4416
+ readonly 'plugins-install-cancel-failed': {
4417
+ readonly zh: "取消失败:{{reason}}";
4418
+ readonly en: "Cancel failed: {{reason}}";
4419
+ };
4420
+ readonly 'plugins-install-drift': {
4421
+ readonly zh: "注意:profile 里的 {{name}} 现在是 {{found}},本进程运行的是 {{running}};对齐它:dsh plugin --profile {{profile}} add {{name}}@{{running}}";
4422
+ readonly en: "Heads up: {{name}} in the profile is now {{found}} while this process runs {{running}}; realign it: dsh plugin --profile {{profile}} add {{name}}@{{running}}";
4423
+ };
4424
+ readonly 'plugins-install-usage': {
4425
+ readonly zh: "用法:/plugin install <包名[@版本] | 路径 | git URL>";
4426
+ readonly en: "Usage: /plugin install <package[@version] | path | git url>";
4427
+ };
4428
+ readonly 'plugins-install-pane-title': {
4429
+ readonly zh: "安装插件";
4430
+ readonly en: "Install plugin";
4431
+ };
4432
+ readonly 'plugins-install-configure': {
4433
+ readonly zh: "要安装:{{spec}} · {{kind}} · bundle={{bundle}}";
4434
+ readonly en: "To install: {{spec}} · {{kind}} · bundle={{bundle}}";
4435
+ };
4436
+ readonly 'plugins-install-unidentified': {
4437
+ readonly zh: "(服务未给出包名)";
4438
+ readonly en: "(the service named no package)";
4439
+ };
4440
+ readonly 'plugins-install-trust-third-party': {
4441
+ readonly zh: "信任确认:插件与本应用同进程运行 —— 进程内全信任、无沙箱;装上后不会自动更新;它的行为受声明的 grants 约束(授权是行为约束,不是安全隔离)。";
4442
+ readonly en: "Trust: the plugin runs in-process with this app — full trust, no sandbox; it will not auto-update; its behaviour is bounded by the grants it declares (grants are behavioural constraints, not a security boundary).";
4443
+ };
4444
+ readonly 'plugins-install-notice-declared': {
4445
+ readonly zh: "声明可判定:该包的 dsh-plugin.json 已通过本 profile 的准入判定。";
4446
+ readonly en: "Declaration readable: the package-root dsh-plugin.json passes this profile’s admission.";
4447
+ };
4448
+ readonly 'plugins-install-notice-undeclared': {
4449
+ readonly zh: "提醒:该包没有声明 TUI 贡献(包根缺少 dsh-plugin.json);装上后不会作为后端/贡献出现,并会在 /plugin 列表里带常驻标签。";
4450
+ readonly en: "Heads up: this package declares no TUI contribution (no package-root dsh-plugin.json); it will not appear as a backend/contribution, and /plugin will tag it.";
4451
+ };
4452
+ readonly 'plugins-install-notice-invalid': {
4453
+ readonly zh: "提醒:该包的声明本 profile 无法通过({{err}});装上后不会作为后端/贡献出现。";
4454
+ readonly en: "Heads up: this profile cannot accept the package’s declaration ({{err}}); it will not appear as a backend/contribution.";
4455
+ };
4456
+ readonly 'plugins-install-notice-unjudged': {
4457
+ readonly zh: "提醒:注册表里的包在装上之前无法判定是否声明了 TUI 贡献;若未声明,它不会作为后端/贡献出现,并会在 /plugin 列表里带常驻标签。";
4458
+ readonly en: "Heads up: a registry package’s declaration cannot be read before it lands; if it declares none, it will not appear as a backend/contribution and /plugin will tag it.";
4459
+ };
4460
+ readonly 'plugins-install-builds-title': {
4461
+ readonly zh: "以下构建脚本需要批准(写进 profile 的 allowBuilds):";
4462
+ readonly en: "These build scripts need approval (written to the profile allowBuilds):";
4463
+ };
4464
+ readonly 'plugins-install-incompatible-title': {
4465
+ readonly zh: "版本不兼容的包:";
4466
+ readonly en: "Incompatible packages:";
4467
+ };
4468
+ readonly 'plugins-install-exemptions-title': {
4469
+ readonly zh: "已登记的精确版本豁免:";
4470
+ readonly en: "Exact-version exemptions recorded:";
4471
+ };
4472
+ readonly 'plugins-install-key-confirm': {
4473
+ readonly zh: "⏎ 安装 · esc 取消";
4474
+ readonly en: "⏎ install · esc cancel";
4475
+ };
4476
+ readonly 'plugins-install-key-builds': {
4477
+ readonly zh: "⏎ 允许这些脚本并重试 · esc 取消";
4478
+ readonly en: "⏎ allow these scripts and retry · esc cancel";
4479
+ };
4480
+ readonly 'plugins-install-key-incompatible': {
4481
+ readonly zh: "⏎ 接受风险并重试 · esc 取消";
4482
+ readonly en: "⏎ accept the risk and retry · esc cancel";
4483
+ };
4484
+ readonly 'plugins-install-key-cancel': {
4485
+ readonly zh: "esc 取消安装";
4486
+ readonly en: "esc cancel the install";
4487
+ };
4488
+ readonly 'plugins-manage-busy': {
4489
+ readonly zh: "有回合正在运行:先结束它或 /new,再执行这个动作(不改动 profile)。";
4490
+ readonly en: "A turn is running: finish it or /new before this action (the profile is left alone).";
4491
+ };
4492
+ readonly 'plugins-manage-unknown': {
4493
+ readonly zh: "找不到目标:{{target}}(可寻址的:{{names}})";
4494
+ readonly en: "No such target: {{target}} (addressable: {{names}})";
4495
+ };
4496
+ readonly 'plugins-manage-ambiguous': {
4497
+ readonly zh: "{{target}} 匹配多行,请改用具体行 id:{{ids}}(profile 没有改动)。";
4498
+ readonly en: "{{target}} matches multiple rows. Use a specific row id: {{ids}} (the profile was not changed).";
4499
+ };
4500
+ readonly 'plugins-manage-refused-service-locked': {
4501
+ readonly zh: "拒绝:插件服务锁定了 {{target}}({{reason}})——两个方向都不是本应用能改的。";
4502
+ readonly en: "Refused: the plugin service has {{target}} locked ({{reason}}); neither direction is this app's to take.";
4503
+ };
4504
+ readonly 'plugins-manage-refused-app-bundle': {
4505
+ readonly zh: "拒绝:{{target}} 就是本应用自己(门禁 2)——关了它,界面当场消失。";
4506
+ readonly en: "Refused: {{target}} is this application itself (gate 2); switching it off takes the interface down with it.";
4507
+ };
4508
+ readonly 'plugins-manage-refused-host-bundle': {
4509
+ readonly zh: "拒绝:{{target}} 是本应用赖以运行的宿主层(门禁 2)——它提供本应用离不开的服务。";
4510
+ readonly en: "Refused: {{target}} is the host layer this application runs on (gate 2); it provides services the interface needs.";
4511
+ };
4512
+ readonly 'plugins-manage-refused-not-removable': {
4513
+ readonly zh: "拒绝:{{target}} 不是本 profile 装的(安装自带),不可卸载。";
4514
+ readonly en: "Refused: {{target}} was not installed by this profile (the dsh installation supplies it), so it cannot be removed.";
4515
+ };
4516
+ readonly 'plugins-manage-refused-row-not-removable': {
4517
+ readonly zh: "拒绝:{{target}} 是一行 patch,不能单独卸载——它随所属 bundle 走。";
4518
+ readonly en: "Refused: {{target}} is a patch row and cannot be removed on its own; it goes with its bundle.";
4519
+ };
4520
+ readonly 'plugins-manage-refused-app-row': {
4521
+ readonly zh: "拒绝:{{target}} 提供本应用的界面(门禁 2)——关掉它,界面当场消失。";
4522
+ readonly en: "Refused: {{target}} provides this application's interface (gate 2); switching it off takes the interface down with it.";
4523
+ };
4524
+ readonly 'plugins-manage-unchanged': {
4525
+ readonly zh: "{{target}} 已经是这个状态,profile 没有改动。";
4526
+ readonly en: "{{target}} is already in that state; the profile was not changed.";
4527
+ };
4528
+ readonly 'plugins-manage-removed': {
4529
+ readonly zh: "已卸载 {{target}}:{{state}}";
4530
+ readonly en: "Removed {{target}}: {{state}}";
4531
+ };
4532
+ readonly 'plugins-manage-enabled': {
4533
+ readonly zh: "已启用 {{target}}:{{state}}";
4534
+ readonly en: "Enabled {{target}}: {{state}}";
4535
+ };
4536
+ readonly 'plugins-manage-disabled': {
4537
+ readonly zh: "已关闭 {{target}}:{{state}}";
4538
+ readonly en: "Disabled {{target}}: {{state}}";
4539
+ };
4540
+ readonly 'plugins-manage-failed': {
4541
+ readonly zh: "操作失败:{{reason}}";
4542
+ readonly en: "The action failed: {{reason}}";
4543
+ };
4544
+ readonly 'plugins-manage-incompatible': {
4545
+ readonly zh: "版本不兼容:{{packages}}——要强行启用,先接受风险:dsh plugin --profile {{profile}} allow-version <包@版本> <当前版本> --accept-risk";
4546
+ readonly en: "Incompatible version: {{packages}} — to force it, accept the risk first: dsh plugin --profile {{profile}} allow-version <package@version> <running version> --accept-risk";
4547
+ };
4548
+ readonly 'plugins-manage-manual-remove': {
4549
+ readonly zh: "手工命令:dsh plugin --profile {{profile}} remove {{target}}";
4550
+ readonly en: "Manual command: dsh plugin --profile {{profile}} remove {{target}}";
4551
+ };
4552
+ readonly 'plugins-manage-manual-profile': {
4553
+ readonly zh: "启用 / 关闭没有命令行动词(profile 的依赖与 cordis.patch.yml 是服务写自己的文件):请用 `dsh --profile {{profile}}` 启动本应用,在 /plugin 里操作;命令行只有 add / remove。";
4554
+ readonly en: "Enable and disable have no CLI verb (the profile's dependencies and cordis.patch.yml are files the service writes for itself): start this app with `dsh --profile {{profile}}` and use /plugin; the CLI has add and remove only.";
4555
+ };
4556
+ readonly 'plugins-manage-residue': {
4557
+ readonly zh: "用户数据仍在:{{paths}} —— 不再需要时可手动删除。";
4558
+ readonly en: "Your own data is still there: {{paths}} — delete it by hand when you no longer need it.";
4559
+ };
4560
+ readonly 'plugins-manage-residue-footprint': {
4561
+ readonly zh: "{{id}} 仍在授权文件 / 效果台账 / 存储目录里留有足迹";
4562
+ readonly en: "{{id}} still has a footprint in the grants file, the effect ledger or the storage directory";
4563
+ };
4564
+ readonly 'plugins-manage-residue-unjudged': {
4565
+ readonly zh: "读不到 {{target}} 的包内声明,无法判断它是否留下了用户数据(不猜)。";
4566
+ readonly en: "The declaration inside {{target}} could not be read, so what data it left behind cannot be judged (nothing is guessed).";
4567
+ };
4568
+ readonly 'plugins-manage-usage': {
4569
+ readonly zh: "用法:/plugin {{sub}} <bundle 名 | 行 id>";
4570
+ readonly en: "Usage: /plugin {{sub}} <bundle name | row id>";
4571
+ };
4572
+ readonly 'plugins-manage-pane-title': {
4573
+ readonly zh: "插件生命周期";
4574
+ readonly en: "Plugin lifecycle";
4575
+ };
4576
+ readonly 'plugins-manage-action-remove': {
4577
+ readonly zh: "卸载";
4578
+ readonly en: "remove";
4579
+ };
4580
+ readonly 'plugins-manage-action-enable': {
4581
+ readonly zh: "启用";
4582
+ readonly en: "enable";
4583
+ };
4584
+ readonly 'plugins-manage-action-disable': {
4585
+ readonly zh: "关闭";
4586
+ readonly en: "disable";
4587
+ };
4588
+ readonly 'plugins-manage-configure': {
4589
+ readonly zh: "要{{action}}:{{target}}";
4590
+ readonly en: "About to {{action}}: {{target}}";
4591
+ };
4592
+ readonly 'plugins-manage-working': {
4593
+ readonly zh: "正在写入 profile…";
4594
+ readonly en: "Writing the profile…";
4595
+ };
4596
+ readonly 'plugins-manage-remove-facts': {
4597
+ readonly zh: "这是破坏性操作:它会改 profile 的 package.json 与 lockfile(服务失败时回滚),并移除它的 {{rows}} 行 / {{overrides}} 项覆盖;它留下的你自己的数据不会被删(有残留会另行提示)。";
4598
+ readonly en: "This is destructive: it changes the profile's package.json and lockfile (rolled back if the service fails) and drops its {{rows}} rows / {{overrides}} overrides. Your own data is not deleted (any residue is reported separately).";
4599
+ };
4600
+ readonly 'plugins-manage-trust-facts': {
4601
+ readonly zh: "无法验证已装代码的安装来源:启用后它就在本进程内运行、不自动更新、没有沙箱。它声明的权限见 /plugin 的授权矩阵。";
4602
+ readonly en: "The installed code's source cannot be verified: once enabled it runs inside this process, with no auto-update and no sandbox. Its declared permissions are in the /plugin grant matrix.";
4603
+ };
4604
+ readonly 'plugins-manage-host-row-facts': {
4605
+ readonly zh: "这一行属于宿主层(dsh-base):关掉它会卸载本应用注入的服务,本应用可能重启或退出。";
4606
+ readonly en: "This row belongs to the host layer (dsh-base): switching it off unloads services this application injects, and the app may restart or exit.";
4607
+ };
4608
+ readonly 'plugins-manage-team-active-facts': {
4609
+ readonly zh: "本会话有 {{members}} 个 teammate 正在运行或准备中。";
4610
+ readonly en: "{{members}} teammate(s) in this session are running or being created.";
4611
+ };
4612
+ readonly 'plugins-manage-team-unseen-facts': {
4613
+ readonly zh: "团队里有 {{members}} 个 teammate 可能正在运行:从 teammate 会话里看不到它们的运行状态。";
4614
+ readonly en: "{{members}} teammate(s) of this team may be running: their runs are not visible from a teammate session.";
4615
+ };
4616
+ readonly 'plugins-manage-team-active-stop': {
4617
+ readonly zh: "关闭团队会停止它们:团队服务卸载时释放仍在运行的 teammate。团队消息与任务板停止,团队记录留在会话里。";
4618
+ readonly en: "Switching the team off stops them: the team service releases the teammates still running as it unloads. Team messages and the task board stop; the team record stays in the session.";
4619
+ };
4620
+ readonly 'plugins-manage-key-confirm': {
4621
+ readonly zh: "⏎ 执行 · esc 关闭";
4622
+ readonly en: "⏎ do it · esc close";
4623
+ };
4624
+ readonly 'plugins-manage-key-busy': {
4625
+ readonly zh: "写入中 · esc 只关面板,操作会继续(这三个动作没有取消面)";
4626
+ readonly en: "writing · esc only closes the pane, the action goes on (these three have no cancellation)";
4627
+ };
4220
4628
  readonly 'doctor-plugin-generation': {
4221
4629
  readonly zh: "插件运行时 generation:{{id}}";
4222
4630
  readonly en: "Plugin runtime generation: {{id}}";
@@ -4725,6 +5133,146 @@ declare const dict: {
4725
5133
  readonly zh: "让主代理发起 Task 后,子代理会出现在这里";
4726
5134
  readonly en: "Subagents appear here once the main agent starts Task delegations";
4727
5135
  };
5136
+ readonly 'team-dashboard-title': {
5137
+ readonly zh: " 代理团队 ";
5138
+ readonly en: " Agent Team ";
5139
+ };
5140
+ readonly 'team-status-provisioning': {
5141
+ readonly zh: "准备中";
5142
+ readonly en: "provisioning";
5143
+ };
5144
+ readonly 'team-status-running': {
5145
+ readonly zh: "运行中";
5146
+ readonly en: "running";
5147
+ };
5148
+ readonly 'team-status-idle': {
5149
+ readonly zh: "空闲";
5150
+ readonly en: "idle";
5151
+ };
5152
+ readonly 'team-status-active': {
5153
+ readonly zh: "活跃";
5154
+ readonly en: "active";
5155
+ };
5156
+ readonly 'team-status-failed': {
5157
+ readonly zh: "失败";
5158
+ readonly en: "failed";
5159
+ };
5160
+ readonly 'team-members-title': {
5161
+ readonly zh: "成员";
5162
+ readonly en: "Members";
5163
+ };
5164
+ readonly 'team-lead-row': {
5165
+ readonly zh: "lead · 当前会话";
5166
+ readonly en: "lead · this session";
5167
+ };
5168
+ readonly 'team-lead-row-peer': {
5169
+ readonly zh: "lead";
5170
+ readonly en: "lead";
5171
+ };
5172
+ readonly 'team-self-mark': {
5173
+ readonly zh: "当前会话";
5174
+ readonly en: "this session";
5175
+ };
5176
+ readonly 'team-others-title': {
5177
+ readonly zh: "其他子代理";
5178
+ readonly en: "Other subagents";
5179
+ };
5180
+ readonly 'team-tasks-title': {
5181
+ readonly zh: "任务板 · {{completed}}/{{total}}";
5182
+ readonly en: "Tasks · {{completed}}/{{total}}";
5183
+ };
5184
+ readonly 'team-tasks-empty': {
5185
+ readonly zh: "暂无任务";
5186
+ readonly en: "No tasks";
5187
+ };
5188
+ readonly 'team-tasks-count': {
5189
+ readonly zh: "任务 {{completed}}/{{total}}";
5190
+ readonly en: "tasks {{completed}}/{{total}}";
5191
+ };
5192
+ readonly 'team-last-run-failed': {
5193
+ readonly zh: "上一轮失败 {{error}}";
5194
+ readonly en: "last run failed {{error}}";
5195
+ };
5196
+ readonly 'team-task-blocked': {
5197
+ readonly zh: "阻塞";
5198
+ readonly en: "blocked";
5199
+ };
5200
+ readonly 'team-failure': {
5201
+ readonly zh: "团队记录被拒:{{failure}}";
5202
+ readonly en: "Team record rejected: {{failure}}";
5203
+ };
5204
+ readonly 'team-cmd-unavailable': {
5205
+ readonly zh: "当前内核没有 Agent Teams。";
5206
+ readonly en: "The current kernel has no Agent Teams.";
5207
+ };
5208
+ readonly 'team-cmd-usage': {
5209
+ readonly zh: "未知子命令「{{sub}}」。用法:/team [status] | on | off";
5210
+ readonly en: "Unknown subcommand \"{{sub}}\". Usage: /team [status] | on | off";
5211
+ };
5212
+ readonly 'team-cmd-no-manager': {
5213
+ readonly zh: "本次启动没有 profile 插件服务,无法在会话内切换。改用:dsh plugin --profile {{profile}} add {{bundle}}(关闭用 remove),然后重启。";
5214
+ readonly en: "This launch has no profile plugin service, so the team cannot be switched here. Use dsh plugin --profile {{profile}} add {{bundle}} (remove to switch off), then restart.";
5215
+ };
5216
+ readonly 'team-cmd-bundle': {
5217
+ readonly zh: "团队 bundle:{{state}}";
5218
+ readonly en: "Team bundle: {{state}}";
5219
+ };
5220
+ readonly 'team-cmd-on': {
5221
+ readonly zh: "已开启";
5222
+ readonly en: "on";
5223
+ };
5224
+ readonly 'team-cmd-off': {
5225
+ readonly zh: "已关闭";
5226
+ readonly en: "off";
5227
+ };
5228
+ readonly 'team-cmd-already-on': {
5229
+ readonly zh: "团队 bundle 已开启,无需改动。";
5230
+ readonly en: "The team bundle is already on; nothing to change.";
5231
+ };
5232
+ readonly 'team-cmd-not-installed': {
5233
+ readonly zh: "团队 bundle 未安装。在这里安装:/plugin install {{bundle}}(装完即开启);或在终端:dsh plugin --profile {{profile}} add {{bundle}}";
5234
+ readonly en: "The team bundle is not installed. Install it here with /plugin install {{bundle}} (it is switched on once installed), or in a terminal with dsh plugin --profile {{profile}} add {{bundle}}";
5235
+ };
5236
+ readonly 'team-cmd-kernel-unsupported': {
5237
+ readonly zh: "运行中的 DSH {{version}} 没有本应用能读取的团队 bundle:先把 DSH 换成 {{lines}} 之一,再安装同版本的团队 bundle。";
5238
+ readonly en: "The running DSH {{version}} has no team bundle this app can read: switch DSH to one of {{lines}} first, then install the team bundle of that same version.";
5239
+ };
5240
+ readonly 'team-cmd-off-not-installed': {
5241
+ readonly zh: "团队 bundle 未安装,团队本就是关闭的,无需改动。";
5242
+ readonly en: "The team bundle is not installed, so the team is already off; nothing to change.";
5243
+ };
5244
+ readonly 'team-cmd-service': {
5245
+ readonly zh: "团队服务:{{state}}";
5246
+ readonly en: "Team service: {{state}}";
5247
+ };
5248
+ readonly 'team-cmd-running': {
5249
+ readonly zh: "运行中";
5250
+ readonly en: "running";
5251
+ };
5252
+ readonly 'team-cmd-stopped': {
5253
+ readonly zh: "未运行";
5254
+ readonly en: "not running";
5255
+ };
5256
+ readonly 'team-cmd-pending-on': {
5257
+ readonly zh: "profile 已开启团队,但服务没有运行:重启后生效,或服务激活失败(见日志)。";
5258
+ readonly en: "The profile has the team on but the service is not running: it applies after a restart, or the service failed to activate (see the log).";
5259
+ };
5260
+ readonly 'team-cmd-pending-off': {
5261
+ readonly zh: "profile 已关闭团队,但服务仍在运行:重启后生效。";
5262
+ readonly en: "The profile has the team off but the service is still running: it applies after a restart.";
5263
+ };
5264
+ readonly 'team-cmd-no-members': {
5265
+ readonly zh: "本会话没有 teammate。";
5266
+ readonly en: "No teammates in this session.";
5267
+ };
5268
+ readonly 'team-cmd-members': {
5269
+ readonly zh: "本会话 teammate:{{total}} 个,其中 {{active}} 个运行中或准备中。";
5270
+ readonly en: "Teammates in this session: {{total}}, {{active}} running or provisioning.";
5271
+ };
5272
+ readonly 'team-cmd-members-unseen': {
5273
+ readonly zh: "本会话 teammate:{{total}} 个,其中 {{active}} 个运行中或准备中,{{unseen}} 个可能在运行(从 teammate 会话里看不到)。";
5274
+ readonly en: "Teammates in this session: {{total}}, {{active}} running or provisioning, {{unseen}} may be running (not visible from a teammate).";
5275
+ };
4728
5276
  readonly 'agent-view-title': {
4729
5277
  readonly zh: "子代理转录";
4730
5278
  readonly en: "Agent transcript";
@@ -6051,6 +6599,9 @@ declare const dict: {
6051
6599
  readonly 'cmd-desc-agents': {
6052
6600
  readonly zh: "查看本会话的子代理";
6053
6601
  };
6602
+ readonly 'cmd-desc-team': {
6603
+ readonly zh: "团队模式:查看状态,或 on / off 开关(启停 Agent Teams bundle)";
6604
+ };
6054
6605
  readonly 'cmd-desc-jobs': {
6055
6606
  readonly zh: "查看本会话的后台任务";
6056
6607
  };
@@ -6399,13 +6950,25 @@ declare const dict: {
6399
6950
  readonly zh: "已附加到输入框:{{title}}(Esc 可撤)";
6400
6951
  readonly en: "Attached to the composer: {{title}} (Esc to remove)";
6401
6952
  };
6953
+ readonly 'panel-context-detached': {
6954
+ readonly zh: "已从输入框撤回,不再附加到主聊天";
6955
+ readonly en: "Removed from the composer";
6956
+ };
6402
6957
  readonly 'companion-send-title': {
6403
6958
  readonly zh: "伙伴状态";
6404
6959
  readonly en: "Companion status";
6405
6960
  };
6406
6961
  readonly 'panel-hint-focused': {
6407
- readonly zh: "Esc 聊天 · ←/→ 切换 · z 缩放 · +/- 调宽";
6408
- readonly en: "Esc chat · ←/→ panels · z zoom · +/- width";
6962
+ readonly zh: "Esc 聊天 · ←/→ 切换";
6963
+ readonly en: "Esc chat · ←/→ panels";
6964
+ };
6965
+ readonly 'panel-hint-send-to-chat': {
6966
+ readonly zh: "s 送聊天";
6967
+ readonly en: "s to chat";
6968
+ };
6969
+ readonly 'panel-hint-zoom-width': {
6970
+ readonly zh: "z 缩放 · +/- 调宽";
6971
+ readonly en: "z zoom · +/- width";
6409
6972
  };
6410
6973
  readonly 'panel-hint-unfocused': {
6411
6974
  readonly zh: "Ctrl+B 聚焦侧栏";
@@ -6475,6 +7038,34 @@ declare const dict: {
6475
7038
  readonly zh: "校验清单,不安装";
6476
7039
  readonly en: "Validate a manifest without installing it";
6477
7040
  };
7041
+ readonly 'sugg-plugin-install-desc': {
7042
+ readonly zh: "把这个插件装进当前 profile";
7043
+ readonly en: "Install a plugin bundle into this profile";
7044
+ };
7045
+ readonly 'sugg-plugin-remove-desc': {
7046
+ readonly zh: "把这个插件从 profile 卸载";
7047
+ readonly en: "Uninstall a plugin bundle from this profile";
7048
+ };
7049
+ readonly 'sugg-plugin-enable-desc': {
7050
+ readonly zh: "重新启用一个 bundle 或行";
7051
+ readonly en: "Switch a plugin bundle or row back on";
7052
+ };
7053
+ readonly 'sugg-plugin-disable-desc': {
7054
+ readonly zh: "关闭一个 bundle 或行";
7055
+ readonly en: "Switch a plugin bundle or row off";
7056
+ };
7057
+ readonly 'sugg-plugin-spec-path-desc': {
7058
+ readonly zh: "示例:本地目录或仓库路径";
7059
+ readonly en: "Example: a local directory";
7060
+ };
7061
+ readonly 'sugg-plugin-spec-git-desc': {
7062
+ readonly zh: "示例:git 仓库 URL";
7063
+ readonly en: "Example: a git URL";
7064
+ };
7065
+ readonly 'sugg-plugin-spec-package-desc': {
7066
+ readonly zh: "示例:registry 包名(@版本 可钉死)";
7067
+ readonly en: "Example: a registry package, @version pins it";
7068
+ };
6478
7069
  readonly 'panel-unavailable-hint': {
6479
7070
  readonly zh: "侧栏需要全屏且内容区 ≥93 列;该面板没有整屏形态";
6480
7071
  readonly en: "Sidebar needs fullscreen and ≥93 content columns; this panel has no fullscreen form";