@jingyi0605/codingns4dsh 0.2.1-rc.5 → 0.2.1-rc.7

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 (174) hide show
  1. package/README.en.md +4 -4
  2. package/README.md +5 -5
  3. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.d.ts +1 -1
  4. package/data/build/dist/bootstrap/dsh-peer-host-preboot-shim.js +1 -1
  5. package/data/build/dist/client/bundle.js +1550 -148
  6. package/data/build/dist/client/bundle.js.map +1 -1
  7. package/data/build/dist/client/cli-slots.js +2 -2
  8. package/data/build/dist/client/cli-slots.js.map +1 -1
  9. package/data/build/dist/client/client.delegate-command.js +3 -2
  10. package/data/build/dist/client/client.delegate-command.js.map +1 -1
  11. package/data/build/dist/client/client.magpie-model-tag.js +24 -8
  12. package/data/build/dist/client/client.magpie-model-tag.js.map +1 -1
  13. package/data/build/dist/client/client.native-workspace-store.js +26 -15
  14. package/data/build/dist/client/client.native-workspace-store.js.map +1 -1
  15. package/data/build/dist/client/client.session-translation.js +25 -0
  16. package/data/build/dist/client/client.session-translation.js.map +1 -1
  17. package/data/build/dist/client/client.transport.js +224 -0
  18. package/data/build/dist/client/client.transport.js.map +1 -1
  19. package/data/build/dist/client/delegate-command.js +2 -1
  20. package/data/build/dist/client/delegate-command.js.map +1 -1
  21. package/data/build/dist/client/desktop-assistant.js +224 -0
  22. package/data/build/dist/client/features/index.d.ts +2 -1
  23. package/data/build/dist/client/features/index.d.ts.map +1 -1
  24. package/data/build/dist/client/features/index.js +3 -1
  25. package/data/build/dist/client/features/index.js.map +1 -1
  26. package/data/build/dist/client/features/magpie-management-page.d.ts +7 -3
  27. package/data/build/dist/client/features/magpie-management-page.d.ts.map +1 -1
  28. package/data/build/dist/client/features/magpie-management-page.js +142 -8
  29. package/data/build/dist/client/features/magpie-management-page.js.map +1 -1
  30. package/data/build/dist/client/features/workspace-mcp.d.ts +3 -0
  31. package/data/build/dist/client/features/workspace-mcp.d.ts.map +1 -0
  32. package/data/build/dist/client/features/workspace-mcp.js +320 -0
  33. package/data/build/dist/client/features/workspace-mcp.js.map +1 -0
  34. package/data/build/dist/client/locale.d.ts.map +1 -1
  35. package/data/build/dist/client/locale.js +180 -0
  36. package/data/build/dist/client/locale.js.map +1 -1
  37. package/data/build/dist/client/locales/magpie.d.ts.map +1 -1
  38. package/data/build/dist/client/locales/magpie.js +12 -0
  39. package/data/build/dist/client/locales/magpie.js.map +1 -1
  40. package/data/build/dist/client/locales/panels.d.ts.map +1 -1
  41. package/data/build/dist/client/locales/panels.js +18 -0
  42. package/data/build/dist/client/locales/panels.js.map +1 -1
  43. package/data/build/dist/client/locales/usage.d.ts.map +1 -1
  44. package/data/build/dist/client/locales/usage.js +14 -0
  45. package/data/build/dist/client/locales/usage.js.map +1 -1
  46. package/data/build/dist/client/magpie-model-tag.d.ts +4 -2
  47. package/data/build/dist/client/magpie-model-tag.d.ts.map +1 -1
  48. package/data/build/dist/client/magpie-model-tag.js +25 -8
  49. package/data/build/dist/client/magpie-model-tag.js.map +1 -1
  50. package/data/build/dist/client/native-model-translation-menu.d.ts +1 -0
  51. package/data/build/dist/client/native-model-translation-menu.d.ts.map +1 -1
  52. package/data/build/dist/client/native-model-translation-menu.js +2 -2
  53. package/data/build/dist/client/native-model-translation-menu.js.map +1 -1
  54. package/data/build/dist/client/session-translation-chat.d.ts.map +1 -1
  55. package/data/build/dist/client/session-translation-chat.js +6 -2
  56. package/data/build/dist/client/session-translation-chat.js.map +1 -1
  57. package/data/build/dist/client/settings-section.d.ts.map +1 -1
  58. package/data/build/dist/client/settings-section.js +6 -3
  59. package/data/build/dist/client/settings-section.js.map +1 -1
  60. package/data/build/dist/client/subscription-slot.d.ts.map +1 -1
  61. package/data/build/dist/client/subscription-slot.js +104 -11
  62. package/data/build/dist/client/subscription-slot.js.map +1 -1
  63. package/data/build/dist/dsh-capabilities/host/workspace-approval-adapter.d.ts +18 -0
  64. package/data/build/dist/dsh-capabilities/host/workspace-approval-adapter.d.ts.map +1 -0
  65. package/data/build/dist/dsh-capabilities/host/workspace-approval-adapter.js +172 -0
  66. package/data/build/dist/dsh-capabilities/host/workspace-approval-adapter.js.map +1 -0
  67. package/data/build/dist/dsh-capabilities/host/workspace-pending-questions-adapter.d.ts +28 -0
  68. package/data/build/dist/dsh-capabilities/host/workspace-pending-questions-adapter.d.ts.map +1 -0
  69. package/data/build/dist/dsh-capabilities/host/workspace-pending-questions-adapter.js +103 -0
  70. package/data/build/dist/dsh-capabilities/host/workspace-pending-questions-adapter.js.map +1 -0
  71. package/data/build/dist/dsh-capabilities/host/workspace-session-control-adapter.d.ts +26 -0
  72. package/data/build/dist/dsh-capabilities/host/workspace-session-control-adapter.d.ts.map +1 -0
  73. package/data/build/dist/dsh-capabilities/host/workspace-session-control-adapter.js +86 -0
  74. package/data/build/dist/dsh-capabilities/host/workspace-session-control-adapter.js.map +1 -0
  75. package/data/build/dist/dsh-capabilities/matrix.d.ts.map +1 -1
  76. package/data/build/dist/dsh-capabilities/matrix.js +17 -14
  77. package/data/build/dist/dsh-capabilities/matrix.js.map +1 -1
  78. package/data/build/dist/dsh-capabilities/routes.d.ts.map +1 -1
  79. package/data/build/dist/dsh-capabilities/routes.js +19 -10
  80. package/data/build/dist/dsh-capabilities/routes.js.map +1 -1
  81. package/data/build/dist/dsh-capabilities/types.d.ts +1 -1
  82. package/data/build/dist/dsh-capabilities/types.d.ts.map +1 -1
  83. package/data/build/dist/dsh-capabilities/types.js.map +1 -1
  84. package/data/build/dist/host/cli-adapters/claude-model-options.d.ts.map +1 -1
  85. package/data/build/dist/host/cli-adapters/claude-model-options.js +13 -2
  86. package/data/build/dist/host/cli-adapters/claude-model-options.js.map +1 -1
  87. package/data/build/dist/host/cli-adapters/dsh-message-projector.d.ts.map +1 -1
  88. package/data/build/dist/host/cli-adapters/dsh-message-projector.js +6 -2
  89. package/data/build/dist/host/cli-adapters/dsh-message-projector.js.map +1 -1
  90. package/data/build/dist/host/cli-adapters/feature.d.ts.map +1 -1
  91. package/data/build/dist/host/cli-adapters/feature.js +12 -4
  92. package/data/build/dist/host/cli-adapters/feature.js.map +1 -1
  93. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts +13 -2
  94. package/data/build/dist/host/cli-adapters/magpie-usage.d.ts.map +1 -1
  95. package/data/build/dist/host/cli-adapters/magpie-usage.js +186 -14
  96. package/data/build/dist/host/cli-adapters/magpie-usage.js.map +1 -1
  97. package/data/build/dist/host/dsh-runtime-version.d.ts.map +1 -1
  98. package/data/build/dist/host/dsh-runtime-version.js +4 -1
  99. package/data/build/dist/host/dsh-runtime-version.js.map +1 -1
  100. package/data/build/dist/host/features/index.d.ts +1 -0
  101. package/data/build/dist/host/features/index.d.ts.map +1 -1
  102. package/data/build/dist/host/features/index.js +3 -0
  103. package/data/build/dist/host/features/index.js.map +1 -1
  104. package/data/build/dist/host/features/workspace-mcp.d.ts +9 -0
  105. package/data/build/dist/host/features/workspace-mcp.d.ts.map +1 -0
  106. package/data/build/dist/host/features/workspace-mcp.js +197 -0
  107. package/data/build/dist/host/features/workspace-mcp.js.map +1 -0
  108. package/data/build/dist/host/index.d.ts.map +1 -1
  109. package/data/build/dist/host/index.js +6 -2
  110. package/data/build/dist/host/index.js.map +1 -1
  111. package/data/build/dist/host/native-session-bridge.d.ts +2 -0
  112. package/data/build/dist/host/native-session-bridge.d.ts.map +1 -1
  113. package/data/build/dist/host/native-session-bridge.js +30 -0
  114. package/data/build/dist/host/native-session-bridge.js.map +1 -1
  115. package/data/build/dist/host/rpc.d.ts +4 -1
  116. package/data/build/dist/host/rpc.d.ts.map +1 -1
  117. package/data/build/dist/host/rpc.js +57 -9
  118. package/data/build/dist/host/rpc.js.map +1 -1
  119. package/data/build/dist/host/session-handle-eviction.d.ts +4 -2
  120. package/data/build/dist/host/session-handle-eviction.d.ts.map +1 -1
  121. package/data/build/dist/host/session-handle-eviction.js +10 -9
  122. package/data/build/dist/host/session-handle-eviction.js.map +1 -1
  123. package/data/build/dist/host/terminal/terminal-process-service.d.ts +22 -0
  124. package/data/build/dist/host/terminal/terminal-process-service.d.ts.map +1 -1
  125. package/data/build/dist/host/terminal/terminal-process-service.js +102 -0
  126. package/data/build/dist/host/terminal/terminal-process-service.js.map +1 -1
  127. package/data/build/dist/host/terminal/terminal-service.d.ts +5 -1
  128. package/data/build/dist/host/terminal/terminal-service.d.ts.map +1 -1
  129. package/data/build/dist/host/terminal/terminal-service.js +32 -0
  130. package/data/build/dist/host/terminal/terminal-service.js.map +1 -1
  131. package/data/build/dist/host/workspace-mcp/api-key-store.d.ts +16 -0
  132. package/data/build/dist/host/workspace-mcp/api-key-store.d.ts.map +1 -0
  133. package/data/build/dist/host/workspace-mcp/api-key-store.js +65 -0
  134. package/data/build/dist/host/workspace-mcp/api-key-store.js.map +1 -0
  135. package/data/build/dist/host/workspace-mcp/tools.d.ts +54 -0
  136. package/data/build/dist/host/workspace-mcp/tools.d.ts.map +1 -0
  137. package/data/build/dist/host/workspace-mcp/tools.js +800 -0
  138. package/data/build/dist/host/workspace-mcp/tools.js.map +1 -0
  139. package/data/build/dist/host/workspace-mcp/transport.d.ts +35 -0
  140. package/data/build/dist/host/workspace-mcp/transport.d.ts.map +1 -0
  141. package/data/build/dist/host/workspace-mcp/transport.js +575 -0
  142. package/data/build/dist/host/workspace-mcp/transport.js.map +1 -0
  143. package/data/build/dist/shared/contracts/cli-adapter.d.ts +2 -0
  144. package/data/build/dist/shared/contracts/cli-adapter.d.ts.map +1 -1
  145. package/data/build/dist/shared/contracts/errors.d.ts +2 -2
  146. package/data/build/dist/shared/contracts/errors.d.ts.map +1 -1
  147. package/data/build/dist/shared/contracts/errors.js +1 -1
  148. package/data/build/dist/shared/contracts/errors.js.map +1 -1
  149. package/data/build/dist/shared/contracts/magpie-management.d.ts +15 -1
  150. package/data/build/dist/shared/contracts/magpie-management.d.ts.map +1 -1
  151. package/data/build/dist/shared/contracts/session-translation.d.ts +4 -0
  152. package/data/build/dist/shared/contracts/session-translation.d.ts.map +1 -1
  153. package/data/build/dist/shared/contracts/session-translation.js +21 -0
  154. package/data/build/dist/shared/contracts/session-translation.js.map +1 -1
  155. package/data/build/dist/shared/contracts/subscription.d.ts +7 -0
  156. package/data/build/dist/shared/contracts/subscription.d.ts.map +1 -1
  157. package/data/build/dist/shared/contracts/subscription.js.map +1 -1
  158. package/data/build/dist/shared/contracts/terminal.d.ts +2 -0
  159. package/data/build/dist/shared/contracts/terminal.d.ts.map +1 -1
  160. package/data/build/dist/shared/contracts/version.d.ts +7 -7
  161. package/data/build/dist/shared/contracts/version.d.ts.map +1 -1
  162. package/data/build/dist/shared/contracts/version.js +11 -17
  163. package/data/build/dist/shared/contracts/version.js.map +1 -1
  164. package/data/build/dist/shared/index.d.ts +1 -1
  165. package/data/build/dist/shared/index.d.ts.map +1 -1
  166. package/data/build/dist/shared/index.js +1 -1
  167. package/data/build/dist/shared/index.js.map +1 -1
  168. package/package.json +3 -3
  169. package/profile/README.md +6 -6
  170. package/profile/package.json +3 -3
  171. package/profile/scripts/check-dsh-install.mjs +14 -1
  172. package/profile/version.json +2 -2
  173. package/scripts/check-dsh-install.mjs +14 -1
  174. package/version.json +2 -2
@@ -1288,6 +1288,15 @@ window.__ModuleLoader__.load({
1288
1288
  "translation.statusTranslating": "Translating…",
1289
1289
  "translation.progressHelp": "Preparing and translating your message. The translation result will be available when this finishes.",
1290
1290
  "translation.statusFailed": "Translation failed; original kept",
1291
+ "translation.failure.timeout": "The translation request timed out.",
1292
+ "translation.failure.cancelled": "The translation request was cancelled.",
1293
+ "translation.failure.rate-limit": "The translation provider rate limit was reached.",
1294
+ "translation.failure.network": "A network error interrupted the translation request.",
1295
+ "translation.failure.unavailable": "The translation provider was temporarily unavailable.",
1296
+ "translation.failure.invalid-response": "The translation response failed format, language, completion, or protected-text validation.",
1297
+ "translation.failure.configuration": "The translation model or provider configuration was rejected or unavailable.",
1298
+ "translation.failure.provider": "The translation provider or runtime reported an unclassified error.",
1299
+ "translation.failure.unknown": "No failure details were saved for this translation.",
1291
1300
  "translation.retry": "Retry translation",
1292
1301
  "translation.sendDirectly": "Send directly",
1293
1302
  "translation.cancelSending": "Cancel sending",
@@ -1389,6 +1398,15 @@ window.__ModuleLoader__.load({
1389
1398
  "translation.statusTranslating": "正在翻译…",
1390
1399
  "translation.progressHelp": "正在准备并翻译消息,完成后可查看翻译结果。",
1391
1400
  "translation.statusFailed": "翻译失败,已保留原文",
1401
+ "translation.failure.timeout": "翻译请求超时。",
1402
+ "translation.failure.cancelled": "翻译请求已取消。",
1403
+ "translation.failure.rate-limit": "翻译服务商的请求频率已达上限。",
1404
+ "translation.failure.network": "网络错误中断了翻译请求。",
1405
+ "translation.failure.unavailable": "翻译服务商暂时不可用。",
1406
+ "translation.failure.invalid-response": "翻译结果未通过格式、语言、完整性或受保护文本校验。",
1407
+ "translation.failure.configuration": "翻译模型或服务商配置被拒绝或不可用。",
1408
+ "translation.failure.provider": "翻译服务商或运行时返回了未分类错误。",
1409
+ "translation.failure.unknown": "此翻译未保存失败详情。",
1392
1410
  "translation.retry": "重试翻译",
1393
1411
  "translation.sendDirectly": "直接发送",
1394
1412
  "translation.cancelSending": "取消发送",
@@ -1986,6 +2004,13 @@ window.__ModuleLoader__.load({
1986
2004
  "usage.magpieTotalTokens": "Input + output",
1987
2005
  "usage.magpieCost": "Estimated cost",
1988
2006
  "usage.magpieCacheHitRate": "Cache hit rate",
2007
+ "usage.magpieAccountPolicies": "Codex account controls",
2008
+ "usage.magpieResetCountLabel": "Reset cards",
2009
+ "usage.magpieResetCount": "{count} reset cards",
2010
+ "usage.magpieResetWhenWeek": "Auto-use a reset when the weekly window is exhausted",
2011
+ "usage.magpieResetBeforeExpiry": "Auto-use a reset before it expires",
2012
+ "usage.magpieUseCredits": "Use credits after quota is exhausted",
2013
+ "usage.magpieUseReset": "Use one reset card",
1989
2014
  "usage.magpieUpdated": "Updated {time}",
1990
2015
  "usage.magpieAgent": "Agent: {agent}",
1991
2016
  "usage.magpieSessionNoUsage": "No matching session usage today.",
@@ -2192,6 +2217,13 @@ window.__ModuleLoader__.load({
2192
2217
  "usage.magpieTotalTokens": "输入 + 输出",
2193
2218
  "usage.magpieCost": "预估费用",
2194
2219
  "usage.magpieCacheHitRate": "缓存命中率",
2220
+ "usage.magpieAccountPolicies": "Codex 账号控制",
2221
+ "usage.magpieResetCountLabel": "重置卡",
2222
+ "usage.magpieResetCount": "{count} 张重置卡",
2223
+ "usage.magpieResetWhenWeek": "周额度用尽时自动使用重置卡",
2224
+ "usage.magpieResetBeforeExpiry": "重置卡到期前自动使用",
2225
+ "usage.magpieUseCredits": "额度用尽后使用点数",
2226
+ "usage.magpieUseReset": "使用一张重置卡",
2195
2227
  "usage.magpieUpdated": "更新于 {time}",
2196
2228
  "usage.magpieAgent": "Agent:{agent}",
2197
2229
  "usage.magpieSessionNoUsage": "今天还没有找到此会话的用量。",
@@ -3500,6 +3532,12 @@ window.__ModuleLoader__.load({
3500
3532
  "magpie.hostRequestFailed": "The Host request failed. Check the Host connection and retry.",
3501
3533
  "magpie.usageUnavailable": "Usage data could not be read. Other sections may still be available.",
3502
3534
  "magpie.quotaUnavailable": "Subscription data could not be read.",
3535
+ "magpie.codexControlsUnavailable": "Codex account identity was not reported; account controls are unavailable.",
3536
+ "magpie.codexPolicyFailed": "Could not update the Codex account setting. Refresh and try again.",
3537
+ "magpie.codexPolicyUnavailable": "Codex policy settings are unavailable.",
3538
+ "magpie.codexResetFailed": "Could not use a reset card. Refresh and try again.",
3539
+ "magpie.resetDialogAccount": "Account: {account}",
3540
+ "magpie.resetDialogBody": "This uses one reset card from the {count} available and immediately restores the current quota window. This cannot be undone. Continue?",
3503
3541
  "magpie.historyUnavailable": "Quota history could not be read.",
3504
3542
  "magpie.noUsage": "No usage was reported for this period.",
3505
3543
  "magpie.noSessions": "No sessions were reported for this period.",
@@ -3850,6 +3888,12 @@ window.__ModuleLoader__.load({
3850
3888
  "magpie.hostRequestFailed": "Host 请求失败。请检查 Host 连接后重试。",
3851
3889
  "magpie.usageUnavailable": "无法读取用量数据;其他区块仍可能可用。",
3852
3890
  "magpie.quotaUnavailable": "无法读取订阅数据。",
3891
+ "magpie.codexControlsUnavailable": "未报告 Codex 账号身份,无法显示账号控制项。",
3892
+ "magpie.codexPolicyFailed": "无法更新 Codex 账号设置,请刷新后重试。",
3893
+ "magpie.codexPolicyUnavailable": "暂时无法读取 Codex 使用规则。",
3894
+ "magpie.codexResetFailed": "无法使用重置卡,请刷新后重试。",
3895
+ "magpie.resetDialogAccount": "账号:{account}",
3896
+ "magpie.resetDialogBody": "将使用当前 {count} 张重置卡中的 1 张,并立即恢复当前额度窗口。此操作不可撤销,确定继续吗?",
3853
3897
  "magpie.historyUnavailable": "无法读取额度历史。",
3854
3898
  "magpie.noUsage": "此周期没有用量记录。",
3855
3899
  "magpie.noSessions": "此周期没有会话记录。",
@@ -4225,6 +4269,8 @@ window.__ModuleLoader__.load({
4225
4269
  "settings.subtitle": "Configure modules without changing DSH global settings.",
4226
4270
  "settings.version": "Codingns4DSH v{version}",
4227
4271
  "settings.compatibility": "Compatible with DSH {range}",
4272
+ "settings.testedDshVersion": "Tested with DSH {version}",
4273
+ "settings.untestedDshWarning": "DSH {version} is newer than the latest tested version ({tested}). Compatibility has not been verified; plugin installation and operation remain enabled.",
4228
4274
  "settings.toggle": "{label} toggle",
4229
4275
  "settings.legacyFallback": "This DSH version uses compatibility mode; multi-tab and shell-selection extensions are unavailable.",
4230
4276
  "settings.versionBlocked": "This module is unavailable on DSH {version}; it requires DSH {minimum} or newer.",
@@ -4249,6 +4295,94 @@ window.__ModuleLoader__.load({
4249
4295
  "feature.cliAdapters.description": "View installed external Agents, versions, command paths, available models, and enable them independently. External Agent context panels keep only the occupancy percentage and totals.",
4250
4296
  "feature.workspaceSession.label": "Workspace session enhancement",
4251
4297
  "feature.workspaceSession.description": "Show Agent logos, archived-session entries, workspace hiding controls, subscription or usage information, local quick sessions, and an optional remembered conversation/right-sidebar width ratio.",
4298
+ "feature.workspaceMcp.label": "Workspace MCP server",
4299
+ "feature.workspaceMcp.description": "Expose managed workspace tools to local MCP clients through an authenticated Host listener.",
4300
+ "workspaceMcp.setupTitle": "MCP access key",
4301
+ "workspaceMcp.setupInstruction": "Generate a key to save it on the Host and enable the local MCP listener.",
4302
+ "workspaceMcp.generateKey": "Generate key and enable",
4303
+ "workspaceMcp.rotateKey": "Rotate key",
4304
+ "workspaceMcp.generating": "Generating…",
4305
+ "workspaceMcp.generatedKey": "Generated Workspace MCP API key",
4306
+ "workspaceMcp.keyGenerated": "Workspace MCP key generated and module enabled.",
4307
+ "workspaceMcp.copyKey": "Copy key",
4308
+ "workspaceMcp.keyCopied": "Workspace MCP key copied.",
4309
+ "workspaceMcp.copyFailed": "Could not copy the key. Select and copy it manually.",
4310
+ "workspaceMcp.keyShownOnce": "This key is shown only now. Copy it into your MCP client before closing or refreshing this panel.",
4311
+ "workspaceMcp.capabilityDescription": "MCP capability description",
4312
+ "workspaceMcp.capabilityTitle": "Supported MCP capabilities",
4313
+ "workspaceMcp.capabilitySubtitle": "The list below describes the fixed Workspace MCP tool catalog and its access boundaries.",
4314
+ "workspaceMcp.capabilityName": "Name",
4315
+ "workspaceMcp.capabilityPermission": "Permission",
4316
+ "workspaceMcp.capabilityDescriptionField": "Description",
4317
+ "workspaceMcp.capabilityParameters": "Invocation parameters",
4318
+ "workspaceMcp.capabilityRemarks": "Remarks",
4319
+ "workspaceMcp.closeCapabilities": "Close",
4320
+ "workspaceMcp.installPromptTitle": "Install the Agent Skill",
4321
+ "workspaceMcp.installPromptHint": "Copy this prompt to your Agent. It will install the root SKILL.md into that Agent’s personal skills directory.",
4322
+ "workspaceMcp.copyInstallPrompt": "Copy install prompt",
4323
+ "workspaceMcp.installPromptCopied": "Agent Skill installation prompt copied.",
4324
+ "workspaceMcp.installPromptText": "Fetch https://github.com/jingyi0605/Codingns4DSH/blob/main/SKILL.md and install it into your personal Agent Skills directory using your documented Skill installation method.",
4325
+ "workspaceMcp.capability.workspaceList.permission": "Read managed workspace metadata",
4326
+ "workspaceMcp.capability.workspaceList.description": "Lists managed workspaces available to the local Host.",
4327
+ "workspaceMcp.capability.workspaceList.parameters": "{}",
4328
+ "workspaceMcp.capability.workspaceList.remarks": "Returns names and active session counts; filesystem roots are never exposed.",
4329
+ "workspaceMcp.capability.sessionList.permission": "Read bounded session metadata",
4330
+ "workspaceMcp.capability.sessionList.description": "Lists sessions belonging to managed workspaces.",
4331
+ "workspaceMcp.capability.sessionList.parameters": "{ workspaceId?, limit?, offset? }",
4332
+ "workspaceMcp.capability.sessionList.remarks": "Results are paginated and contain metadata only, without full conversation history.",
4333
+ "workspaceMcp.capability.sessionCreate.permission": "Create a managed session and optionally queue a prompt",
4334
+ "workspaceMcp.capability.sessionCreate.description": "Creates a native DSH session and can select an installed adapter/model.",
4335
+ "workspaceMcp.capability.sessionCreate.parameters": "{ workspaceId, adapterId?, modelId?, prompt? }",
4336
+ "workspaceMcp.capability.sessionCreate.remarks": "External adapter sessions require an initial prompt; uncertain outcomes include the created session ID.",
4337
+ "workspaceMcp.capability.sessionContinue.permission": "Queue a message in an existing session",
4338
+ "workspaceMcp.capability.sessionContinue.description": "Continues one exact managed session without replacing its identity.",
4339
+ "workspaceMcp.capability.sessionContinue.parameters": "{ sessionId, message }",
4340
+ "workspaceMcp.capability.sessionContinue.remarks": "The session is revalidated immediately before prompt admission.",
4341
+ "workspaceMcp.capability.sessionQuestions.permission": "Read unresolved native questions",
4342
+ "workspaceMcp.capability.sessionQuestions.description": "Lists questions currently awaiting an answer in a managed session.",
4343
+ "workspaceMcp.capability.sessionQuestions.parameters": "{ sessionId }",
4344
+ "workspaceMcp.capability.sessionQuestions.remarks": "Question content and options are bounded; archived or unrelated sessions are rejected.",
4345
+ "workspaceMcp.capability.sessionAnswer.permission": "Answer one unresolved native question",
4346
+ "workspaceMcp.capability.sessionAnswer.description": "Submits validated answers through the native DSH question mechanism.",
4347
+ "workspaceMcp.capability.sessionAnswer.parameters": "{ sessionId, callId, answer }",
4348
+ "workspaceMcp.capability.sessionAnswer.remarks": "The call ID must come from the current question list and answers are checked against its options.",
4349
+ "workspaceMcp.capability.sessionRequestPermission.permission": "Request human approval",
4350
+ "workspaceMcp.capability.sessionRequestPermission.description": "Asks the native DSH approval UI to decide an operation.",
4351
+ "workspaceMcp.capability.sessionRequestPermission.parameters": "{ sessionId, toolName, reason, callId? }",
4352
+ "workspaceMcp.capability.sessionRequestPermission.remarks": "Requires an active DSH turn; the MCP client cannot approve its own request.",
4353
+ "workspaceMcp.capability.sessionPermissionStatus.permission": "Read an owned approval outcome",
4354
+ "workspaceMcp.capability.sessionPermissionStatus.description": "Reads the status of an approval request created by this MCP feature.",
4355
+ "workspaceMcp.capability.sessionPermissionStatus.parameters": "{ sessionId, requestId }",
4356
+ "workspaceMcp.capability.sessionPermissionStatus.remarks": "Only DSH-issued request IDs retained by the live feature are queryable.",
4357
+ "workspaceMcp.capability.terminalList.permission": "Read live terminal metadata",
4358
+ "workspaceMcp.capability.terminalList.description": "Lists terminal instances attached to one managed session.",
4359
+ "workspaceMcp.capability.terminalList.parameters": "{ workspaceId, sessionId }",
4360
+ "workspaceMcp.capability.terminalList.remarks": "Only live terminals in the specified workspace/session scope are returned.",
4361
+ "workspaceMcp.capability.terminalRead.permission": "Read terminal output",
4362
+ "workspaceMcp.capability.terminalRead.description": "Returns a bounded output snapshot from one live terminal.",
4363
+ "workspaceMcp.capability.terminalRead.parameters": "{ workspaceId, sessionId, terminalId, limitBytes? }",
4364
+ "workspaceMcp.capability.terminalRead.remarks": "Output is limited to 64 KiB and is never read from an unrelated terminal.",
4365
+ "workspaceMcp.capability.terminalWrite.permission": "Write terminal input",
4366
+ "workspaceMcp.capability.terminalWrite.description": "Writes bounded text to one existing live terminal process.",
4367
+ "workspaceMcp.capability.terminalWrite.parameters": "{ workspaceId, sessionId, terminalId, data }",
4368
+ "workspaceMcp.capability.terminalWrite.remarks": "Input is limited to 16 KiB, rejects NUL bytes, and cannot create arbitrary processes.",
4369
+ "workspaceMcp.statusTitle": "Host status",
4370
+ "workspaceMcp.loading": "Reading Workspace MCP status…",
4371
+ "workspaceMcp.statusFailed": "Unable to read Workspace MCP status from the Host.",
4372
+ "workspaceMcp.apiKeyStatus": "API key: {status}",
4373
+ "workspaceMcp.enabledStatus": "Module: {status}",
4374
+ "workspaceMcp.listeningStatus": "Listener: {status}",
4375
+ "workspaceMcp.configured": "configured",
4376
+ "workspaceMcp.notConfigured": "not configured",
4377
+ "workspaceMcp.on": "on",
4378
+ "workspaceMcp.off": "off",
4379
+ "workspaceMcp.url": "Endpoint",
4380
+ "workspaceMcp.refresh": "Refresh status",
4381
+ "workspaceMcp.reason.keyMissing": "Generate a Workspace MCP API key to start the listener.",
4382
+ "workspaceMcp.reason.keyStoreFailed": "The Host could not access the Workspace MCP key file.",
4383
+ "workspaceMcp.reason.disabled": "The Workspace MCP module is disabled.",
4384
+ "workspaceMcp.reason.listenFailed": "The local MCP listener could not start.",
4385
+ "workspaceMcp.reason.other": "The Host reported an additional status reason.",
4252
4386
  "feature.assistant.label": "Global smart assistant (Testing)",
4253
4387
  "feature.assistant.description": "Summarize progress across selected workspaces and route voice or text instructions to an explicit target session. After enabling this module, fully quit and restart DSH Desktop.",
4254
4388
  "voice.globalAssistant": "Global voice assistant (Testing)",
@@ -4683,6 +4817,8 @@ window.__ModuleLoader__.load({
4683
4817
  "settings.subtitle": "按模块配置 Codingns4DSH 功能,不影响 DSH 的全局设置。",
4684
4818
  "settings.version": "Codingns4DSH v{version}",
4685
4819
  "settings.compatibility": "兼容 DSH {range}",
4820
+ "settings.testedDshVersion": "已验证 DSH {version}",
4821
+ "settings.untestedDshWarning": "当前 DSH {version} 高于插件最新已验证版本({tested}),兼容性尚未验证;不影响插件安装和运行。",
4686
4822
  "settings.toggle": "{label}开关",
4687
4823
  "settings.legacyFallback": "当前 DSH 版本使用兼容模式;多 Tab 和 Shell 选择扩展不可用。",
4688
4824
  "settings.versionBlocked": "当前 DSH {version} 不支持此模块;需要 DSH {minimum} 或更高版本。",
@@ -4707,6 +4843,94 @@ window.__ModuleLoader__.load({
4707
4843
  "feature.cliAdapters.description": "管理外部 Agent",
4708
4844
  "feature.workspaceSession.label": "工作区会话增强",
4709
4845
  "feature.workspaceSession.description": "增强工作区会话体验",
4846
+ "feature.workspaceMcp.label": "工作区 MCP 服务",
4847
+ "feature.workspaceMcp.description": "通过 Host 本机认证监听器向 MCP 客户端提供受管理工作区工具。",
4848
+ "workspaceMcp.setupTitle": "MCP 访问密钥",
4849
+ "workspaceMcp.setupInstruction": "生成密钥后会保存在 Host 并自动启用本机 MCP 监听器。",
4850
+ "workspaceMcp.generateKey": "生成密钥并启用",
4851
+ "workspaceMcp.rotateKey": "轮换密钥",
4852
+ "workspaceMcp.generating": "正在生成…",
4853
+ "workspaceMcp.generatedKey": "生成的 Workspace MCP API Key",
4854
+ "workspaceMcp.keyGenerated": "Workspace MCP 密钥已生成,模块已启用。",
4855
+ "workspaceMcp.copyKey": "复制密钥",
4856
+ "workspaceMcp.keyCopied": "Workspace MCP 密钥已复制。",
4857
+ "workspaceMcp.copyFailed": "无法复制密钥,请手动选择并复制。",
4858
+ "workspaceMcp.keyShownOnce": "密钥仅在此时显示。关闭或刷新面板前,请先复制到 MCP 客户端。",
4859
+ "workspaceMcp.capabilityDescription": "MCP 能力说明",
4860
+ "workspaceMcp.capabilityTitle": "支持的 MCP 能力",
4861
+ "workspaceMcp.capabilitySubtitle": "以下列表说明 Workspace MCP 的固定工具目录及其访问边界。",
4862
+ "workspaceMcp.capabilityName": "名称",
4863
+ "workspaceMcp.capabilityPermission": "权限",
4864
+ "workspaceMcp.capabilityDescriptionField": "描述",
4865
+ "workspaceMcp.capabilityParameters": "调用参数",
4866
+ "workspaceMcp.capabilityRemarks": "备注",
4867
+ "workspaceMcp.closeCapabilities": "关闭",
4868
+ "workspaceMcp.installPromptTitle": "安装 Agent Skill",
4869
+ "workspaceMcp.installPromptHint": "复制此提示词并发送给 Agent,它会将仓库根目录的 SKILL.md 安装到该 Agent 的个人 Skills 目录。",
4870
+ "workspaceMcp.copyInstallPrompt": "复制安装提示词",
4871
+ "workspaceMcp.installPromptCopied": "Agent Skill 安装提示词已复制。",
4872
+ "workspaceMcp.installPromptText": "获取 https://github.com/jingyi0605/Codingns4DSH/blob/main/SKILL.md,并使用你已记录的 Skill 安装方式,将其安装到你自己的 Agent 个人 Skills 目录。",
4873
+ "workspaceMcp.capability.workspaceList.permission": "读取受管理工作区元数据",
4874
+ "workspaceMcp.capability.workspaceList.description": "列出当前 Host 可管理的工作区。",
4875
+ "workspaceMcp.capability.workspaceList.parameters": "{}",
4876
+ "workspaceMcp.capability.workspaceList.remarks": "只返回名称和活动会话数,不暴露文件系统根目录。",
4877
+ "workspaceMcp.capability.sessionList.permission": "读取有界会话元数据",
4878
+ "workspaceMcp.capability.sessionList.description": "列出受管理工作区中的会话。",
4879
+ "workspaceMcp.capability.sessionList.parameters": "{ workspaceId?, limit?, offset? }",
4880
+ "workspaceMcp.capability.sessionList.remarks": "结果支持分页,只返回元数据,不返回完整对话历史。",
4881
+ "workspaceMcp.capability.sessionCreate.permission": "创建受管理会话并可排队发送初始提示",
4882
+ "workspaceMcp.capability.sessionCreate.description": "创建原生 DSH 会话,并可选择已安装的适配器和模型。",
4883
+ "workspaceMcp.capability.sessionCreate.parameters": "{ workspaceId, adapterId?, modelId?, prompt? }",
4884
+ "workspaceMcp.capability.sessionCreate.remarks": "外部适配器会话必须提供初始提示;不确定结果会返回已创建的会话 ID。",
4885
+ "workspaceMcp.capability.sessionContinue.permission": "向已有会话排队发送消息",
4886
+ "workspaceMcp.capability.sessionContinue.description": "继续指定的受管理会话,不替换其身份。",
4887
+ "workspaceMcp.capability.sessionContinue.parameters": "{ sessionId, message }",
4888
+ "workspaceMcp.capability.sessionContinue.remarks": "消息接纳前会重新校验会话归属和可用性。",
4889
+ "workspaceMcp.capability.sessionQuestions.permission": "读取未解决的原生问题",
4890
+ "workspaceMcp.capability.sessionQuestions.description": "列出受管理会话中等待回答的问题。",
4891
+ "workspaceMcp.capability.sessionQuestions.parameters": "{ sessionId }",
4892
+ "workspaceMcp.capability.sessionQuestions.remarks": "问题内容和选项有大小限制;归档或无关会话会被拒绝。",
4893
+ "workspaceMcp.capability.sessionAnswer.permission": "回答一个未解决的原生问题",
4894
+ "workspaceMcp.capability.sessionAnswer.description": "通过 DSH 原生问题机制提交经过校验的答案。",
4895
+ "workspaceMcp.capability.sessionAnswer.parameters": "{ sessionId, callId, answer }",
4896
+ "workspaceMcp.capability.sessionAnswer.remarks": "callId 必须来自当前问题列表,答案会按原生选项校验。",
4897
+ "workspaceMcp.capability.sessionRequestPermission.permission": "请求人工审批",
4898
+ "workspaceMcp.capability.sessionRequestPermission.description": "通过 DSH 原生审批界面请求对某项操作作出决定。",
4899
+ "workspaceMcp.capability.sessionRequestPermission.parameters": "{ sessionId, toolName, reason, callId? }",
4900
+ "workspaceMcp.capability.sessionRequestPermission.remarks": "必须存在活动 DSH 回合;MCP 客户端不能批准自己的请求。",
4901
+ "workspaceMcp.capability.sessionPermissionStatus.permission": "读取已拥有的审批结果",
4902
+ "workspaceMcp.capability.sessionPermissionStatus.description": "读取当前 MCP 模块创建的审批请求状态。",
4903
+ "workspaceMcp.capability.sessionPermissionStatus.parameters": "{ sessionId, requestId }",
4904
+ "workspaceMcp.capability.sessionPermissionStatus.remarks": "只能查询当前模块保留的 DSH 原生请求 ID。",
4905
+ "workspaceMcp.capability.terminalList.permission": "读取活动终端元数据",
4906
+ "workspaceMcp.capability.terminalList.description": "列出一个受管理会话附属的终端实例。",
4907
+ "workspaceMcp.capability.terminalList.parameters": "{ workspaceId, sessionId }",
4908
+ "workspaceMcp.capability.terminalList.remarks": "只返回指定工作区和会话范围内的活动终端。",
4909
+ "workspaceMcp.capability.terminalRead.permission": "读取终端输出",
4910
+ "workspaceMcp.capability.terminalRead.description": "读取一个活动终端的有界输出快照。",
4911
+ "workspaceMcp.capability.terminalRead.parameters": "{ workspaceId, sessionId, terminalId, limitBytes? }",
4912
+ "workspaceMcp.capability.terminalRead.remarks": "输出上限为 64 KiB,不会读取其他终端。",
4913
+ "workspaceMcp.capability.terminalWrite.permission": "写入终端输入",
4914
+ "workspaceMcp.capability.terminalWrite.description": "向一个已有的活动终端进程写入有界文本。",
4915
+ "workspaceMcp.capability.terminalWrite.parameters": "{ workspaceId, sessionId, terminalId, data }",
4916
+ "workspaceMcp.capability.terminalWrite.remarks": "输入上限为 16 KiB,拒绝 NUL 字节,不能创建任意进程。",
4917
+ "workspaceMcp.statusTitle": "Host 状态",
4918
+ "workspaceMcp.loading": "正在读取工作区 MCP 状态…",
4919
+ "workspaceMcp.statusFailed": "无法从 Host 读取工作区 MCP 状态。",
4920
+ "workspaceMcp.apiKeyStatus": "API Key:{status}",
4921
+ "workspaceMcp.enabledStatus": "模块:{status}",
4922
+ "workspaceMcp.listeningStatus": "监听器:{status}",
4923
+ "workspaceMcp.configured": "已配置",
4924
+ "workspaceMcp.notConfigured": "未配置",
4925
+ "workspaceMcp.on": "已开启",
4926
+ "workspaceMcp.off": "已关闭",
4927
+ "workspaceMcp.url": "端点",
4928
+ "workspaceMcp.refresh": "刷新状态",
4929
+ "workspaceMcp.reason.keyMissing": "请生成 Workspace MCP API Key 以启动监听器。",
4930
+ "workspaceMcp.reason.keyStoreFailed": "Host 无法访问 Workspace MCP 密钥文件。",
4931
+ "workspaceMcp.reason.disabled": "工作区 MCP 模块已关闭。",
4932
+ "workspaceMcp.reason.listenFailed": "本机 MCP 监听器无法启动。",
4933
+ "workspaceMcp.reason.other": "Host 返回了其他状态原因。",
4710
4934
  "feature.assistant.label": "全局智能助理(测试中)",
4711
4935
  "feature.assistant.description": "汇总受管工作区进展,并把语音或文字指令派发到明确的目标会话。启用该模块后,请彻底重启 DSH Desktop。",
4712
4936
  "voice.globalAssistant": "全局语音助理(测试中)",