@eddyskywalker/dsh-chatgpt-subscription 0.34.0 → 0.35.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 (134) hide show
  1. package/CHANGELOG.md +51 -110
  2. package/lib/client.js +781 -2041
  3. package/lib/client.js.map +1 -1
  4. package/lib/index.js +3104 -9297
  5. package/lib/types/client/CodexSubscriptionSection.d.ts.map +1 -1
  6. package/lib/types/client/ProviderHubSection.d.ts.map +1 -1
  7. package/lib/types/client/antigravity/locales.d.ts +2 -5
  8. package/lib/types/client/antigravity/locales.d.ts.map +1 -1
  9. package/lib/types/client/claude/locales.d.ts +2 -5
  10. package/lib/types/client/claude/locales.d.ts.map +1 -1
  11. package/lib/types/client/claude/styles.d.ts +2 -2
  12. package/lib/types/client/cline-pass/locales.d.ts +0 -6
  13. package/lib/types/client/cline-pass/locales.d.ts.map +1 -1
  14. package/lib/types/client/command-code/locales.d.ts +2 -5
  15. package/lib/types/client/command-code/locales.d.ts.map +1 -1
  16. package/lib/types/client/common/AccountPoolSection.d.ts +3 -2
  17. package/lib/types/client/common/AccountPoolSection.d.ts.map +1 -1
  18. package/lib/types/client/common/account-pool-labels.d.ts +0 -2
  19. package/lib/types/client/common/account-pool-labels.d.ts.map +1 -1
  20. package/lib/types/client/common/format.d.ts +2 -2
  21. package/lib/types/client/common/styles.d.ts.map +1 -1
  22. package/lib/types/client/glm-coding-plan/GlmCodingPlanSection.d.ts +1 -1
  23. package/lib/types/client/glm-coding-plan/locales.d.ts +2 -5
  24. package/lib/types/client/glm-coding-plan/locales.d.ts.map +1 -1
  25. package/lib/types/client/glm-coding-plan/styles.d.ts +3 -2
  26. package/lib/types/client/glm-coding-plan/styles.d.ts.map +1 -1
  27. package/lib/types/client/glm-coding-plan/useGlmCodingPlanSection.d.ts.map +1 -1
  28. package/lib/types/client/hub/UpdateCheck.d.ts +9 -0
  29. package/lib/types/client/hub/UpdateCheck.d.ts.map +1 -0
  30. package/lib/types/client/hub/brand-icons.d.ts +1 -1
  31. package/lib/types/client/hub/brand-icons.d.ts.map +1 -1
  32. package/lib/types/client/hub/brand-svg.d.ts +0 -4
  33. package/lib/types/client/hub/brand-svg.d.ts.map +1 -1
  34. package/lib/types/client/hub/hub-styles.d.ts.map +1 -1
  35. package/lib/types/client/hub/providers.d.ts.map +1 -1
  36. package/lib/types/client/index.d.ts +0 -2
  37. package/lib/types/client/index.d.ts.map +1 -1
  38. package/lib/types/client/kimi-code/locales.d.ts +2 -5
  39. package/lib/types/client/kimi-code/locales.d.ts.map +1 -1
  40. package/lib/types/client/locales.d.ts +39 -3
  41. package/lib/types/client/locales.d.ts.map +1 -1
  42. package/lib/types/client/minimax-code/locales.d.ts +2 -5
  43. package/lib/types/client/minimax-code/locales.d.ts.map +1 -1
  44. package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts +2 -2
  45. package/lib/types/client/minimax-code/useMinimaxCodeSection.d.ts.map +1 -1
  46. package/lib/types/client/ollama/locales.d.ts +0 -6
  47. package/lib/types/client/ollama/locales.d.ts.map +1 -1
  48. package/lib/types/client/opendesign/locales.d.ts +0 -6
  49. package/lib/types/client/opendesign/locales.d.ts.map +1 -1
  50. package/lib/types/client/qoder/QoderSection.d.ts +1 -1
  51. package/lib/types/client/qoder/locales.d.ts +1 -3
  52. package/lib/types/client/qoder/locales.d.ts.map +1 -1
  53. package/lib/types/client/qoder/useQoderSection.d.ts.map +1 -1
  54. package/lib/types/client/step-code/StepCodeComposerQuota.d.ts +2 -2
  55. package/lib/types/client/step-code/StepCodeSection.d.ts +1 -1
  56. package/lib/types/client/step-code/locales.d.ts +2 -5
  57. package/lib/types/client/step-code/locales.d.ts.map +1 -1
  58. package/lib/types/client/step-code/styles.d.ts +1 -1
  59. package/lib/types/client/step-code/useStepCodeSection.d.ts.map +1 -1
  60. package/lib/types/host/claude/account-pool.d.ts +2 -2
  61. package/lib/types/host/claude/account-pool.d.ts.map +1 -1
  62. package/lib/types/host/claude/routes.d.ts +1 -1
  63. package/lib/types/host/common/capabilities.d.ts.map +1 -1
  64. package/lib/types/host/common/credential-read-cache.d.ts +2 -3
  65. package/lib/types/host/common/credential-read-cache.d.ts.map +1 -1
  66. package/lib/types/host/common/model-request-control.d.ts +1 -1
  67. package/lib/types/host/common/model-request-control.d.ts.map +1 -1
  68. package/lib/types/host/common/request-diagnostics.d.ts +2 -2
  69. package/lib/types/host/common/request-diagnostics.d.ts.map +1 -1
  70. package/lib/types/host/glm-coding-plan/mapper-openai.d.ts +1 -1
  71. package/lib/types/host/glm-coding-plan/model-catalog.d.ts +4 -4
  72. package/lib/types/host/minimax-code/account-pool.d.ts +6 -7
  73. package/lib/types/host/minimax-code/account-pool.d.ts.map +1 -1
  74. package/lib/types/host/minimax-code/checkin.d.ts +7 -8
  75. package/lib/types/host/minimax-code/checkin.d.ts.map +1 -1
  76. package/lib/types/host/minimax-code/routes.d.ts +1 -1
  77. package/lib/types/host/step-code/adapter.d.ts +1 -1
  78. package/lib/types/host/step-code/client.d.ts +1 -1
  79. package/lib/types/host/step-code/mapper.d.ts +3 -3
  80. package/lib/types/host/step-code/oauth.d.ts +1 -1
  81. package/lib/types/host/update-check.d.ts +118 -0
  82. package/lib/types/host/update-check.d.ts.map +1 -0
  83. package/lib/types/index.d.ts +0 -6
  84. package/lib/types/index.d.ts.map +1 -1
  85. package/lib/types/shared/account-pool-contracts.d.ts +0 -24
  86. package/lib/types/shared/account-pool-contracts.d.ts.map +1 -1
  87. package/lib/types/shared/hub-contracts.d.ts +1 -1
  88. package/lib/types/shared/hub-contracts.d.ts.map +1 -1
  89. package/lib/types/shared/minimax-code-contracts.d.ts +2 -2
  90. package/lib/types/shared/update-contracts.d.ts +124 -0
  91. package/lib/types/shared/update-contracts.d.ts.map +1 -0
  92. package/package.json +1 -1
  93. package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts +0 -22
  94. package/lib/types/client/workbuddy/WorkBuddyComposerQuota.d.ts.map +0 -1
  95. package/lib/types/client/workbuddy/WorkBuddySection.d.ts +0 -50
  96. package/lib/types/client/workbuddy/WorkBuddySection.d.ts.map +0 -1
  97. package/lib/types/client/workbuddy/locales.d.ts +0 -635
  98. package/lib/types/client/workbuddy/locales.d.ts.map +0 -1
  99. package/lib/types/client/workbuddy/styles.d.ts +0 -15
  100. package/lib/types/client/workbuddy/styles.d.ts.map +0 -1
  101. package/lib/types/client/workbuddy/useWorkBuddySection.d.ts +0 -149
  102. package/lib/types/client/workbuddy/useWorkBuddySection.d.ts.map +0 -1
  103. package/lib/types/host/workbuddy/account-pool.d.ts +0 -235
  104. package/lib/types/host/workbuddy/account-pool.d.ts.map +0 -1
  105. package/lib/types/host/workbuddy/adapter.d.ts +0 -129
  106. package/lib/types/host/workbuddy/adapter.d.ts.map +0 -1
  107. package/lib/types/host/workbuddy/atrest.d.ts +0 -98
  108. package/lib/types/host/workbuddy/atrest.d.ts.map +0 -1
  109. package/lib/types/host/workbuddy/checkin.d.ts +0 -150
  110. package/lib/types/host/workbuddy/checkin.d.ts.map +0 -1
  111. package/lib/types/host/workbuddy/client.d.ts +0 -169
  112. package/lib/types/host/workbuddy/client.d.ts.map +0 -1
  113. package/lib/types/host/workbuddy/dsml.d.ts +0 -55
  114. package/lib/types/host/workbuddy/dsml.d.ts.map +0 -1
  115. package/lib/types/host/workbuddy/guardrails.d.ts +0 -111
  116. package/lib/types/host/workbuddy/guardrails.d.ts.map +0 -1
  117. package/lib/types/host/workbuddy/identity.d.ts +0 -71
  118. package/lib/types/host/workbuddy/identity.d.ts.map +0 -1
  119. package/lib/types/host/workbuddy/mapper.d.ts +0 -131
  120. package/lib/types/host/workbuddy/mapper.d.ts.map +0 -1
  121. package/lib/types/host/workbuddy/model-catalog.d.ts +0 -217
  122. package/lib/types/host/workbuddy/model-catalog.d.ts.map +0 -1
  123. package/lib/types/host/workbuddy/oauth.d.ts +0 -47
  124. package/lib/types/host/workbuddy/oauth.d.ts.map +0 -1
  125. package/lib/types/host/workbuddy/outbound-identity.d.ts +0 -66
  126. package/lib/types/host/workbuddy/outbound-identity.d.ts.map +0 -1
  127. package/lib/types/host/workbuddy/routes.d.ts +0 -56
  128. package/lib/types/host/workbuddy/routes.d.ts.map +0 -1
  129. package/lib/types/host/workbuddy/token-store.d.ts +0 -360
  130. package/lib/types/host/workbuddy/token-store.d.ts.map +0 -1
  131. package/lib/types/host/workbuddy/types.d.ts +0 -161
  132. package/lib/types/host/workbuddy/types.d.ts.map +0 -1
  133. package/lib/types/shared/workbuddy-contracts.d.ts +0 -353
  134. package/lib/types/shared/workbuddy-contracts.d.ts.map +0 -1
@@ -1,635 +0,0 @@
1
- export declare const NS_WORKBUDDY = "dsh-workbuddy";
2
- export declare const zh: {
3
- readonly title: "WorkBuddy";
4
- readonly pageDesc: "复用本机 CodeBuddy 桌面端登录态,管理 WorkBuddy(CodeBuddy 订阅)模型、上下文窗口与额度。";
5
- readonly account: "账号";
6
- readonly noAccounts: "暂无账号。点击右上角「添加账号」完成浏览器授权,或登录 CodeBuddy 桌面端后重新扫描;桌面账号只能从本插件隐藏,绝不删除 CodeBuddy 的原凭据。";
7
- readonly signedOut: "未找到凭据";
8
- readonly nickname: "昵称";
9
- readonly uin: "UIN";
10
- readonly region: "区域";
11
- readonly regionCn: "国区";
12
- readonly regionIntl: "国际区";
13
- readonly accountType: "账号类型";
14
- readonly routeUnreachable: "无法读取 WorkBuddy 设置路由";
15
- readonly routeUnreachableHint: "浏览器里加载的插件版本可能比 Host 进程里运行的新(客户端资源是现读磁盘的,Host 只在启动时加载)。请重启 DSH,让两端来自同一份构建。";
16
- readonly rescan: "重新扫描";
17
- readonly rescanning: "扫描中...";
18
- readonly accounts: "账号管理";
19
- readonly modelCooldown: "模型限流";
20
- readonly addCnAccount: "添加国区账号";
21
- readonly addIntlAccount: "添加国际区账号";
22
- readonly authorizing: "授权中…";
23
- readonly loginWaiting: "请在新打开的浏览器页面完成登录与授权。";
24
- readonly loginFailed: "账号授权失败";
25
- readonly hiddenAccount: "已隐藏";
26
- readonly hideAccount: "从插件隐藏";
27
- readonly restoreAccount: "恢复显示";
28
- readonly deleteAccount: "删除账号";
29
- readonly deleteConfirm: "确定删除这个插件托管的账号吗?加密存储中的登录凭据会被移除。";
30
- readonly connection: "连接";
31
- readonly testConnection: "测试连接";
32
- readonly testingConnection: "测试中...";
33
- readonly latency: "延迟";
34
- readonly routeOwned: "模型路由由本插件提供";
35
- readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
36
- readonly modelsSection: "模型";
37
- readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;未勾选或关闭上方开关可在列表中隐藏该供应商。目录与上下文窗口来自订阅网关的模型目录,并按账号所在区域过滤——跨区调用会被上游拒绝。";
38
- readonly refreshCatalog: "刷新模型目录";
39
- readonly refreshingCatalog: "刷新中...";
40
- readonly selectAll: "全选";
41
- readonly unselectAll: "全不选";
42
- readonly imageSupport: "图片";
43
- readonly textOnly: "纯文本";
44
- readonly creditMultiplier: "倍率";
45
- readonly creditMultiplierRegion: "{value}({region})";
46
- readonly creditMultiplierPair: "{first} / {second}";
47
- readonly regionBadge: "区域";
48
- readonly unavailableHere: "当前区域不可用";
49
- readonly enhanced: "增强功能";
50
- readonly defaultReasoningEffort: "默认思考深度";
51
- readonly defaultReasoningEffortHint: "控制支持推理的模型在未单独指定时的思考强度。";
52
- readonly defaultEffortAuto: "使用模型默认值";
53
- readonly effortUnsupported: "当前模型不支持";
54
- readonly noReasoningModels: "当前账号的模型都没有声明可用的思考档位,因此没有可选的默认档位。";
55
- readonly defaultEffortKept: "已保存的档位不被当前任何模型支持,已保留但不会生效。";
56
- readonly contextWindowSection: "模型上下文窗口";
57
- readonly contextWindowHint: "默认值来自订阅网关的模型目录(每个模型的真实上下文上限);可覆盖为自定义容量,该值用于 DSH 的压缩与溢出判断,可输入 1M、512K、200K 等容量。";
58
- readonly contextWindowReset: "恢复默认";
59
- readonly contextWindowResetAll: "全部恢复默认";
60
- readonly contextWindowResetAllConfirm: "确定把已改过的模型上下文窗口全部恢复为默认值吗?";
61
- readonly contextWindowNoneEnabled: "还没有勾选任何模型。在上方勾选后,这里会出现该模型的上下文窗口设置。";
62
- readonly save: "保存";
63
- readonly saved: "已保存";
64
- readonly saving: "保存中...";
65
- readonly quotaSection: "用量与配额";
66
- readonly quotaDesc: "数据来自订阅的计费接口,页面可见时最多每 60 秒刷新一次。";
67
- readonly refreshQuota: "刷新用量";
68
- readonly refreshingQuota: "刷新中...";
69
- readonly quotaEmpty: "暂无配额数据,点击「刷新用量」重试。";
70
- readonly quotaPackage: "套餐";
71
- readonly quotaRemaining: "剩余额度";
72
- readonly quotaCycle: "本周期已用";
73
- readonly quotaReset: "重置时间";
74
- readonly updatedAt: "更新时间:{time}";
75
- readonly loading: "加载中...";
76
- readonly credits: "credits";
77
- readonly composerLabel: "额度";
78
- readonly dailyCheckin: "每日签到";
79
- readonly checkinHint: "仅国区账号参与;DSH 启动时自动签到一次,运行期间每 10 分钟补检,进程关闭的当天不会签到。";
80
- readonly checkinAuto: "自动签到";
81
- readonly checkinToday: "今日已签 {done}/{total}";
82
- readonly checkinSkipped: "{count} 个无签到活动";
83
- readonly checkinFailed: "{count} 个失败";
84
- readonly checkinLastRun: "上次运行:{time}";
85
- readonly checkinNever: "尚未运行";
86
- readonly checkinNow: "立即签到";
87
- readonly checkinRunning: "签到中…";
88
- readonly outboundSection: "出站身份";
89
- readonly outboundHint: "决定请求以哪种客户端身份发出。cli 是本线路一直使用、实测可用的身份;auto 会按账号稳定分配一种(同一账号永不漂移)。换身份不会增加额度——额度按账号 × 模型的 24 小时窗口计算。";
90
- readonly outboundAuto: "自动(按账号分配)";
91
- readonly outboundCli: "CLI(默认,实测可用)";
92
- readonly outboundWorkbuddy: "WorkBuddy 桌面端";
93
- readonly outboundVscode: "VSCode 插件";
94
- readonly atRestSection: "桌面凭据解密";
95
- readonly atRestHint: "桌面客户端自 2026-09-24 起把 token 存成 $wbEncrypted 加密信封。粘贴一次密钥即可读取这些账号;密钥只写入系统加密存储(DPAPI / Keychain / Secret Service),不落明文、不进日志。";
96
- readonly atRestPlaceholder: "64 位 hex 保护密钥,或 44 字符 base64 的 atRestSecretKey";
97
- readonly atRestSave: "保存密钥";
98
- readonly atRestClear: "清除密钥";
99
- readonly atRestSaved: "已保存密钥";
100
- readonly atRestSealed: "检测到 {count} 个加密凭据,未保存密钥前无法使用。";
101
- readonly guardrailsSection: "本地额度护栏";
102
- readonly guardrailsHint: "在撞上游 429 之前先停手:剩余积分低于阈值、账号当日 token 达额、或单个模型当日 token 达额时,请求会切到池里其他账号。三项都填 0 = 关闭,计数按本地 0 点重置。";
103
- readonly guardrailsReserve: "保留积分";
104
- readonly guardrailsDaily: "账号日 token";
105
- readonly guardrailsModelDaily: "模型日 token";
106
- };
107
- export declare const en: {
108
- readonly title: "WorkBuddy";
109
- readonly pageDesc: "Reuse the local CodeBuddy desktop sign-in to manage WorkBuddy (CodeBuddy subscription) models, context windows, and quota.";
110
- readonly account: "Account";
111
- readonly noAccounts: "No accounts yet. Use “Add account” above to authorize, or sign in with the CodeBuddy desktop client and rescan; desktop accounts can only be hidden here, never removed from CodeBuddy.";
112
- readonly signedOut: "No credential found";
113
- readonly nickname: "Nickname";
114
- readonly uin: "UIN";
115
- readonly region: "Region";
116
- readonly regionCn: "China";
117
- readonly regionIntl: "International";
118
- readonly accountType: "Account type";
119
- readonly routeUnreachable: "The WorkBuddy settings route could not be read";
120
- readonly routeUnreachableHint: "The plugin loaded in the browser may be newer than the one running in the Host: client assets are read from disk on demand, while the Host loads them only at startup. Restart DSH so both halves come from the same build.";
121
- readonly rescan: "Rescan";
122
- readonly rescanning: "Scanning...";
123
- readonly accounts: "Account Management";
124
- readonly modelCooldown: "Model rate limit";
125
- readonly addCnAccount: "Add China account";
126
- readonly addIntlAccount: "Add international account";
127
- readonly authorizing: "Authorizing…";
128
- readonly loginWaiting: "Complete sign-in and authorization in the newly opened browser page.";
129
- readonly loginFailed: "Account authorization failed";
130
- readonly hiddenAccount: "Hidden";
131
- readonly hideAccount: "Hide from plugin";
132
- readonly restoreAccount: "Restore";
133
- readonly deleteAccount: "Delete account";
134
- readonly deleteConfirm: "Delete this plugin-managed account? Its encrypted credential will be removed.";
135
- readonly connection: "Connection";
136
- readonly testConnection: "Test connection";
137
- readonly testingConnection: "Testing...";
138
- readonly latency: "Latency";
139
- readonly routeOwned: "This plugin serves the model route";
140
- readonly routeConflict: "Another provider already owns the model route: {detail}. Remove the duplicate provider configuration in DSH settings and reload.";
141
- readonly modelsSection: "Models";
142
- readonly modelsHint: "Checked models appear in the DSH conversation model list. The catalog and its context windows come from the subscription gateway and are filtered by the account’s region — the upstream rejects a model asked of the wrong region.";
143
- readonly refreshCatalog: "Refresh catalog";
144
- readonly refreshingCatalog: "Refreshing...";
145
- readonly selectAll: "Select all";
146
- readonly unselectAll: "Deselect all";
147
- readonly imageSupport: "Images";
148
- readonly textOnly: "Text only";
149
- readonly creditMultiplier: "Multiplier";
150
- readonly creditMultiplierRegion: "{value} ({region})";
151
- readonly creditMultiplierPair: "{first} / {second}";
152
- readonly regionBadge: "Regions";
153
- readonly unavailableHere: "Unavailable in this region";
154
- readonly enhanced: "Enhanced features";
155
- readonly defaultReasoningEffort: "Default reasoning effort";
156
- readonly defaultReasoningEffortHint: "Reasoning effort for models that support it when the conversation does not specify one.";
157
- readonly defaultEffortAuto: "Use the model default";
158
- readonly effortUnsupported: "unsupported by the current models";
159
- readonly noReasoningModels: "None of this account’s models declare a reasoning level, so there is no default to choose.";
160
- readonly defaultEffortKept: "The saved level is not supported by any current model; it is kept but has no effect.";
161
- readonly contextWindowSection: "Model context window";
162
- readonly contextWindowHint: "Defaults come from the subscription gateway’s own catalog (each model’s real context cap); override one with the capacity DSH should use for compaction and overflow decisions (e.g., 1M, 512K, 200K).";
163
- readonly contextWindowReset: "Restore default";
164
- readonly contextWindowResetAll: "Restore all defaults";
165
- readonly contextWindowResetAllConfirm: "Restore every changed model context window to its default?";
166
- readonly contextWindowNoneEnabled: "No model is checked yet. Check one above and its context window setting appears here.";
167
- readonly save: "Save";
168
- readonly saved: "Saved";
169
- readonly saving: "Saving...";
170
- readonly quotaSection: "Usage & quota";
171
- readonly quotaDesc: "Read from the subscription billing endpoint; refreshes at most once every 60 seconds while visible.";
172
- readonly refreshQuota: "Refresh quota";
173
- readonly refreshingQuota: "Refreshing...";
174
- readonly quotaEmpty: "No quota data yet — use “Refresh quota” to retry.";
175
- readonly quotaPackage: "Package";
176
- readonly quotaRemaining: "Remaining credits";
177
- readonly quotaCycle: "Used this cycle";
178
- readonly quotaReset: "Resets";
179
- readonly updatedAt: "Updated at: {time}";
180
- readonly loading: "Loading...";
181
- readonly credits: "credits";
182
- readonly composerLabel: "Quota";
183
- readonly dailyCheckin: "Daily check-in";
184
- readonly checkinHint: "CN-region accounts only. The host signs in once at startup and re-checks every 10 minutes while running; a day the process never runs is not signed.";
185
- readonly checkinAuto: "Auto check-in";
186
- readonly checkinToday: "Checked in today {done}/{total}";
187
- readonly checkinSkipped: "{count} with no activity";
188
- readonly checkinFailed: "{count} failed";
189
- readonly checkinLastRun: "Last run: {time}";
190
- readonly checkinNever: "Never run";
191
- readonly checkinNow: "Check in now";
192
- readonly checkinRunning: "Checking in…";
193
- readonly outboundSection: "Outbound identity";
194
- readonly outboundHint: "Which client identity requests present. cli is what this route has always sent and was measured working; auto assigns one product per account and never drifts. Switching identity does not create allowance — quota is metered per account × model over a 24h window.";
195
- readonly outboundAuto: "Auto (per account)";
196
- readonly outboundCli: "CLI (default, measured working)";
197
- readonly outboundWorkbuddy: "WorkBuddy desktop";
198
- readonly outboundVscode: "VSCode extension";
199
- readonly atRestSection: "Desktop credential decryption";
200
- readonly atRestHint: "Since 2026-09-24 the desktop client seals its tokens as $wbEncrypted envelopes. Paste the key once to read those accounts; it is stored only in the platform credential store, never in plaintext and never logged.";
201
- readonly atRestPlaceholder: "64-character hex protector key, or the 44-character base64 atRestSecretKey";
202
- readonly atRestSave: "Save key";
203
- readonly atRestClear: "Clear key";
204
- readonly atRestSaved: "Key saved";
205
- readonly atRestSealed: "{count} sealed credentials found; they stay unreadable until a key is saved.";
206
- readonly guardrailsSection: "Local quota guardrails";
207
- readonly guardrailsHint: "Stop before the upstream 429: below a credit floor, at the account daily token cap, or at a per-model daily token cap, the request moves to another account in the pool. 0 disables a rail; counters reset at local midnight.";
208
- readonly guardrailsReserve: "Reserve credits";
209
- readonly guardrailsDaily: "Account daily tokens";
210
- readonly guardrailsModelDaily: "Model daily tokens";
211
- };
212
- export declare const dictionaries: {
213
- zh: {
214
- readonly title: "WorkBuddy";
215
- readonly pageDesc: "复用本机 CodeBuddy 桌面端登录态,管理 WorkBuddy(CodeBuddy 订阅)模型、上下文窗口与额度。";
216
- readonly account: "账号";
217
- readonly noAccounts: "暂无账号。点击右上角「添加账号」完成浏览器授权,或登录 CodeBuddy 桌面端后重新扫描;桌面账号只能从本插件隐藏,绝不删除 CodeBuddy 的原凭据。";
218
- readonly signedOut: "未找到凭据";
219
- readonly nickname: "昵称";
220
- readonly uin: "UIN";
221
- readonly region: "区域";
222
- readonly regionCn: "国区";
223
- readonly regionIntl: "国际区";
224
- readonly accountType: "账号类型";
225
- readonly routeUnreachable: "无法读取 WorkBuddy 设置路由";
226
- readonly routeUnreachableHint: "浏览器里加载的插件版本可能比 Host 进程里运行的新(客户端资源是现读磁盘的,Host 只在启动时加载)。请重启 DSH,让两端来自同一份构建。";
227
- readonly rescan: "重新扫描";
228
- readonly rescanning: "扫描中...";
229
- readonly accounts: "账号管理";
230
- readonly modelCooldown: "模型限流";
231
- readonly addCnAccount: "添加国区账号";
232
- readonly addIntlAccount: "添加国际区账号";
233
- readonly authorizing: "授权中…";
234
- readonly loginWaiting: "请在新打开的浏览器页面完成登录与授权。";
235
- readonly loginFailed: "账号授权失败";
236
- readonly hiddenAccount: "已隐藏";
237
- readonly hideAccount: "从插件隐藏";
238
- readonly restoreAccount: "恢复显示";
239
- readonly deleteAccount: "删除账号";
240
- readonly deleteConfirm: "确定删除这个插件托管的账号吗?加密存储中的登录凭据会被移除。";
241
- readonly connection: "连接";
242
- readonly testConnection: "测试连接";
243
- readonly testingConnection: "测试中...";
244
- readonly latency: "延迟";
245
- readonly routeOwned: "模型路由由本插件提供";
246
- readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
247
- readonly modelsSection: "模型";
248
- readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;未勾选或关闭上方开关可在列表中隐藏该供应商。目录与上下文窗口来自订阅网关的模型目录,并按账号所在区域过滤——跨区调用会被上游拒绝。";
249
- readonly refreshCatalog: "刷新模型目录";
250
- readonly refreshingCatalog: "刷新中...";
251
- readonly selectAll: "全选";
252
- readonly unselectAll: "全不选";
253
- readonly imageSupport: "图片";
254
- readonly textOnly: "纯文本";
255
- readonly creditMultiplier: "倍率";
256
- readonly creditMultiplierRegion: "{value}({region})";
257
- readonly creditMultiplierPair: "{first} / {second}";
258
- readonly regionBadge: "区域";
259
- readonly unavailableHere: "当前区域不可用";
260
- readonly enhanced: "增强功能";
261
- readonly defaultReasoningEffort: "默认思考深度";
262
- readonly defaultReasoningEffortHint: "控制支持推理的模型在未单独指定时的思考强度。";
263
- readonly defaultEffortAuto: "使用模型默认值";
264
- readonly effortUnsupported: "当前模型不支持";
265
- readonly noReasoningModels: "当前账号的模型都没有声明可用的思考档位,因此没有可选的默认档位。";
266
- readonly defaultEffortKept: "已保存的档位不被当前任何模型支持,已保留但不会生效。";
267
- readonly contextWindowSection: "模型上下文窗口";
268
- readonly contextWindowHint: "默认值来自订阅网关的模型目录(每个模型的真实上下文上限);可覆盖为自定义容量,该值用于 DSH 的压缩与溢出判断,可输入 1M、512K、200K 等容量。";
269
- readonly contextWindowReset: "恢复默认";
270
- readonly contextWindowResetAll: "全部恢复默认";
271
- readonly contextWindowResetAllConfirm: "确定把已改过的模型上下文窗口全部恢复为默认值吗?";
272
- readonly contextWindowNoneEnabled: "还没有勾选任何模型。在上方勾选后,这里会出现该模型的上下文窗口设置。";
273
- readonly save: "保存";
274
- readonly saved: "已保存";
275
- readonly saving: "保存中...";
276
- readonly quotaSection: "用量与配额";
277
- readonly quotaDesc: "数据来自订阅的计费接口,页面可见时最多每 60 秒刷新一次。";
278
- readonly refreshQuota: "刷新用量";
279
- readonly refreshingQuota: "刷新中...";
280
- readonly quotaEmpty: "暂无配额数据,点击「刷新用量」重试。";
281
- readonly quotaPackage: "套餐";
282
- readonly quotaRemaining: "剩余额度";
283
- readonly quotaCycle: "本周期已用";
284
- readonly quotaReset: "重置时间";
285
- readonly updatedAt: "更新时间:{time}";
286
- readonly loading: "加载中...";
287
- readonly credits: "credits";
288
- readonly composerLabel: "额度";
289
- readonly dailyCheckin: "每日签到";
290
- readonly checkinHint: "仅国区账号参与;DSH 启动时自动签到一次,运行期间每 10 分钟补检,进程关闭的当天不会签到。";
291
- readonly checkinAuto: "自动签到";
292
- readonly checkinToday: "今日已签 {done}/{total}";
293
- readonly checkinSkipped: "{count} 个无签到活动";
294
- readonly checkinFailed: "{count} 个失败";
295
- readonly checkinLastRun: "上次运行:{time}";
296
- readonly checkinNever: "尚未运行";
297
- readonly checkinNow: "立即签到";
298
- readonly checkinRunning: "签到中…";
299
- readonly outboundSection: "出站身份";
300
- readonly outboundHint: "决定请求以哪种客户端身份发出。cli 是本线路一直使用、实测可用的身份;auto 会按账号稳定分配一种(同一账号永不漂移)。换身份不会增加额度——额度按账号 × 模型的 24 小时窗口计算。";
301
- readonly outboundAuto: "自动(按账号分配)";
302
- readonly outboundCli: "CLI(默认,实测可用)";
303
- readonly outboundWorkbuddy: "WorkBuddy 桌面端";
304
- readonly outboundVscode: "VSCode 插件";
305
- readonly atRestSection: "桌面凭据解密";
306
- readonly atRestHint: "桌面客户端自 2026-09-24 起把 token 存成 $wbEncrypted 加密信封。粘贴一次密钥即可读取这些账号;密钥只写入系统加密存储(DPAPI / Keychain / Secret Service),不落明文、不进日志。";
307
- readonly atRestPlaceholder: "64 位 hex 保护密钥,或 44 字符 base64 的 atRestSecretKey";
308
- readonly atRestSave: "保存密钥";
309
- readonly atRestClear: "清除密钥";
310
- readonly atRestSaved: "已保存密钥";
311
- readonly atRestSealed: "检测到 {count} 个加密凭据,未保存密钥前无法使用。";
312
- readonly guardrailsSection: "本地额度护栏";
313
- readonly guardrailsHint: "在撞上游 429 之前先停手:剩余积分低于阈值、账号当日 token 达额、或单个模型当日 token 达额时,请求会切到池里其他账号。三项都填 0 = 关闭,计数按本地 0 点重置。";
314
- readonly guardrailsReserve: "保留积分";
315
- readonly guardrailsDaily: "账号日 token";
316
- readonly guardrailsModelDaily: "模型日 token";
317
- };
318
- 'zh-CN': {
319
- readonly title: "WorkBuddy";
320
- readonly pageDesc: "复用本机 CodeBuddy 桌面端登录态,管理 WorkBuddy(CodeBuddy 订阅)模型、上下文窗口与额度。";
321
- readonly account: "账号";
322
- readonly noAccounts: "暂无账号。点击右上角「添加账号」完成浏览器授权,或登录 CodeBuddy 桌面端后重新扫描;桌面账号只能从本插件隐藏,绝不删除 CodeBuddy 的原凭据。";
323
- readonly signedOut: "未找到凭据";
324
- readonly nickname: "昵称";
325
- readonly uin: "UIN";
326
- readonly region: "区域";
327
- readonly regionCn: "国区";
328
- readonly regionIntl: "国际区";
329
- readonly accountType: "账号类型";
330
- readonly routeUnreachable: "无法读取 WorkBuddy 设置路由";
331
- readonly routeUnreachableHint: "浏览器里加载的插件版本可能比 Host 进程里运行的新(客户端资源是现读磁盘的,Host 只在启动时加载)。请重启 DSH,让两端来自同一份构建。";
332
- readonly rescan: "重新扫描";
333
- readonly rescanning: "扫描中...";
334
- readonly accounts: "账号管理";
335
- readonly modelCooldown: "模型限流";
336
- readonly addCnAccount: "添加国区账号";
337
- readonly addIntlAccount: "添加国际区账号";
338
- readonly authorizing: "授权中…";
339
- readonly loginWaiting: "请在新打开的浏览器页面完成登录与授权。";
340
- readonly loginFailed: "账号授权失败";
341
- readonly hiddenAccount: "已隐藏";
342
- readonly hideAccount: "从插件隐藏";
343
- readonly restoreAccount: "恢复显示";
344
- readonly deleteAccount: "删除账号";
345
- readonly deleteConfirm: "确定删除这个插件托管的账号吗?加密存储中的登录凭据会被移除。";
346
- readonly connection: "连接";
347
- readonly testConnection: "测试连接";
348
- readonly testingConnection: "测试中...";
349
- readonly latency: "延迟";
350
- readonly routeOwned: "模型路由由本插件提供";
351
- readonly routeConflict: "模型路由已被其他 Provider 占用:{detail}。请在 DSH 设置中移除重复的 Provider 配置后重试。";
352
- readonly modelsSection: "模型";
353
- readonly modelsHint: "勾选后模型才会出现在对话页的模型选择列表中;未勾选或关闭上方开关可在列表中隐藏该供应商。目录与上下文窗口来自订阅网关的模型目录,并按账号所在区域过滤——跨区调用会被上游拒绝。";
354
- readonly refreshCatalog: "刷新模型目录";
355
- readonly refreshingCatalog: "刷新中...";
356
- readonly selectAll: "全选";
357
- readonly unselectAll: "全不选";
358
- readonly imageSupport: "图片";
359
- readonly textOnly: "纯文本";
360
- readonly creditMultiplier: "倍率";
361
- readonly creditMultiplierRegion: "{value}({region})";
362
- readonly creditMultiplierPair: "{first} / {second}";
363
- readonly regionBadge: "区域";
364
- readonly unavailableHere: "当前区域不可用";
365
- readonly enhanced: "增强功能";
366
- readonly defaultReasoningEffort: "默认思考深度";
367
- readonly defaultReasoningEffortHint: "控制支持推理的模型在未单独指定时的思考强度。";
368
- readonly defaultEffortAuto: "使用模型默认值";
369
- readonly effortUnsupported: "当前模型不支持";
370
- readonly noReasoningModels: "当前账号的模型都没有声明可用的思考档位,因此没有可选的默认档位。";
371
- readonly defaultEffortKept: "已保存的档位不被当前任何模型支持,已保留但不会生效。";
372
- readonly contextWindowSection: "模型上下文窗口";
373
- readonly contextWindowHint: "默认值来自订阅网关的模型目录(每个模型的真实上下文上限);可覆盖为自定义容量,该值用于 DSH 的压缩与溢出判断,可输入 1M、512K、200K 等容量。";
374
- readonly contextWindowReset: "恢复默认";
375
- readonly contextWindowResetAll: "全部恢复默认";
376
- readonly contextWindowResetAllConfirm: "确定把已改过的模型上下文窗口全部恢复为默认值吗?";
377
- readonly contextWindowNoneEnabled: "还没有勾选任何模型。在上方勾选后,这里会出现该模型的上下文窗口设置。";
378
- readonly save: "保存";
379
- readonly saved: "已保存";
380
- readonly saving: "保存中...";
381
- readonly quotaSection: "用量与配额";
382
- readonly quotaDesc: "数据来自订阅的计费接口,页面可见时最多每 60 秒刷新一次。";
383
- readonly refreshQuota: "刷新用量";
384
- readonly refreshingQuota: "刷新中...";
385
- readonly quotaEmpty: "暂无配额数据,点击「刷新用量」重试。";
386
- readonly quotaPackage: "套餐";
387
- readonly quotaRemaining: "剩余额度";
388
- readonly quotaCycle: "本周期已用";
389
- readonly quotaReset: "重置时间";
390
- readonly updatedAt: "更新时间:{time}";
391
- readonly loading: "加载中...";
392
- readonly credits: "credits";
393
- readonly composerLabel: "额度";
394
- readonly dailyCheckin: "每日签到";
395
- readonly checkinHint: "仅国区账号参与;DSH 启动时自动签到一次,运行期间每 10 分钟补检,进程关闭的当天不会签到。";
396
- readonly checkinAuto: "自动签到";
397
- readonly checkinToday: "今日已签 {done}/{total}";
398
- readonly checkinSkipped: "{count} 个无签到活动";
399
- readonly checkinFailed: "{count} 个失败";
400
- readonly checkinLastRun: "上次运行:{time}";
401
- readonly checkinNever: "尚未运行";
402
- readonly checkinNow: "立即签到";
403
- readonly checkinRunning: "签到中…";
404
- readonly outboundSection: "出站身份";
405
- readonly outboundHint: "决定请求以哪种客户端身份发出。cli 是本线路一直使用、实测可用的身份;auto 会按账号稳定分配一种(同一账号永不漂移)。换身份不会增加额度——额度按账号 × 模型的 24 小时窗口计算。";
406
- readonly outboundAuto: "自动(按账号分配)";
407
- readonly outboundCli: "CLI(默认,实测可用)";
408
- readonly outboundWorkbuddy: "WorkBuddy 桌面端";
409
- readonly outboundVscode: "VSCode 插件";
410
- readonly atRestSection: "桌面凭据解密";
411
- readonly atRestHint: "桌面客户端自 2026-09-24 起把 token 存成 $wbEncrypted 加密信封。粘贴一次密钥即可读取这些账号;密钥只写入系统加密存储(DPAPI / Keychain / Secret Service),不落明文、不进日志。";
412
- readonly atRestPlaceholder: "64 位 hex 保护密钥,或 44 字符 base64 的 atRestSecretKey";
413
- readonly atRestSave: "保存密钥";
414
- readonly atRestClear: "清除密钥";
415
- readonly atRestSaved: "已保存密钥";
416
- readonly atRestSealed: "检测到 {count} 个加密凭据,未保存密钥前无法使用。";
417
- readonly guardrailsSection: "本地额度护栏";
418
- readonly guardrailsHint: "在撞上游 429 之前先停手:剩余积分低于阈值、账号当日 token 达额、或单个模型当日 token 达额时,请求会切到池里其他账号。三项都填 0 = 关闭,计数按本地 0 点重置。";
419
- readonly guardrailsReserve: "保留积分";
420
- readonly guardrailsDaily: "账号日 token";
421
- readonly guardrailsModelDaily: "模型日 token";
422
- };
423
- en: {
424
- readonly title: "WorkBuddy";
425
- readonly pageDesc: "Reuse the local CodeBuddy desktop sign-in to manage WorkBuddy (CodeBuddy subscription) models, context windows, and quota.";
426
- readonly account: "Account";
427
- readonly noAccounts: "No accounts yet. Use “Add account” above to authorize, or sign in with the CodeBuddy desktop client and rescan; desktop accounts can only be hidden here, never removed from CodeBuddy.";
428
- readonly signedOut: "No credential found";
429
- readonly nickname: "Nickname";
430
- readonly uin: "UIN";
431
- readonly region: "Region";
432
- readonly regionCn: "China";
433
- readonly regionIntl: "International";
434
- readonly accountType: "Account type";
435
- readonly routeUnreachable: "The WorkBuddy settings route could not be read";
436
- readonly routeUnreachableHint: "The plugin loaded in the browser may be newer than the one running in the Host: client assets are read from disk on demand, while the Host loads them only at startup. Restart DSH so both halves come from the same build.";
437
- readonly rescan: "Rescan";
438
- readonly rescanning: "Scanning...";
439
- readonly accounts: "Account Management";
440
- readonly modelCooldown: "Model rate limit";
441
- readonly addCnAccount: "Add China account";
442
- readonly addIntlAccount: "Add international account";
443
- readonly authorizing: "Authorizing…";
444
- readonly loginWaiting: "Complete sign-in and authorization in the newly opened browser page.";
445
- readonly loginFailed: "Account authorization failed";
446
- readonly hiddenAccount: "Hidden";
447
- readonly hideAccount: "Hide from plugin";
448
- readonly restoreAccount: "Restore";
449
- readonly deleteAccount: "Delete account";
450
- readonly deleteConfirm: "Delete this plugin-managed account? Its encrypted credential will be removed.";
451
- readonly connection: "Connection";
452
- readonly testConnection: "Test connection";
453
- readonly testingConnection: "Testing...";
454
- readonly latency: "Latency";
455
- readonly routeOwned: "This plugin serves the model route";
456
- readonly routeConflict: "Another provider already owns the model route: {detail}. Remove the duplicate provider configuration in DSH settings and reload.";
457
- readonly modelsSection: "Models";
458
- readonly modelsHint: "Checked models appear in the DSH conversation model list. The catalog and its context windows come from the subscription gateway and are filtered by the account’s region — the upstream rejects a model asked of the wrong region.";
459
- readonly refreshCatalog: "Refresh catalog";
460
- readonly refreshingCatalog: "Refreshing...";
461
- readonly selectAll: "Select all";
462
- readonly unselectAll: "Deselect all";
463
- readonly imageSupport: "Images";
464
- readonly textOnly: "Text only";
465
- readonly creditMultiplier: "Multiplier";
466
- readonly creditMultiplierRegion: "{value} ({region})";
467
- readonly creditMultiplierPair: "{first} / {second}";
468
- readonly regionBadge: "Regions";
469
- readonly unavailableHere: "Unavailable in this region";
470
- readonly enhanced: "Enhanced features";
471
- readonly defaultReasoningEffort: "Default reasoning effort";
472
- readonly defaultReasoningEffortHint: "Reasoning effort for models that support it when the conversation does not specify one.";
473
- readonly defaultEffortAuto: "Use the model default";
474
- readonly effortUnsupported: "unsupported by the current models";
475
- readonly noReasoningModels: "None of this account’s models declare a reasoning level, so there is no default to choose.";
476
- readonly defaultEffortKept: "The saved level is not supported by any current model; it is kept but has no effect.";
477
- readonly contextWindowSection: "Model context window";
478
- readonly contextWindowHint: "Defaults come from the subscription gateway’s own catalog (each model’s real context cap); override one with the capacity DSH should use for compaction and overflow decisions (e.g., 1M, 512K, 200K).";
479
- readonly contextWindowReset: "Restore default";
480
- readonly contextWindowResetAll: "Restore all defaults";
481
- readonly contextWindowResetAllConfirm: "Restore every changed model context window to its default?";
482
- readonly contextWindowNoneEnabled: "No model is checked yet. Check one above and its context window setting appears here.";
483
- readonly save: "Save";
484
- readonly saved: "Saved";
485
- readonly saving: "Saving...";
486
- readonly quotaSection: "Usage & quota";
487
- readonly quotaDesc: "Read from the subscription billing endpoint; refreshes at most once every 60 seconds while visible.";
488
- readonly refreshQuota: "Refresh quota";
489
- readonly refreshingQuota: "Refreshing...";
490
- readonly quotaEmpty: "No quota data yet — use “Refresh quota” to retry.";
491
- readonly quotaPackage: "Package";
492
- readonly quotaRemaining: "Remaining credits";
493
- readonly quotaCycle: "Used this cycle";
494
- readonly quotaReset: "Resets";
495
- readonly updatedAt: "Updated at: {time}";
496
- readonly loading: "Loading...";
497
- readonly credits: "credits";
498
- readonly composerLabel: "Quota";
499
- readonly dailyCheckin: "Daily check-in";
500
- readonly checkinHint: "CN-region accounts only. The host signs in once at startup and re-checks every 10 minutes while running; a day the process never runs is not signed.";
501
- readonly checkinAuto: "Auto check-in";
502
- readonly checkinToday: "Checked in today {done}/{total}";
503
- readonly checkinSkipped: "{count} with no activity";
504
- readonly checkinFailed: "{count} failed";
505
- readonly checkinLastRun: "Last run: {time}";
506
- readonly checkinNever: "Never run";
507
- readonly checkinNow: "Check in now";
508
- readonly checkinRunning: "Checking in…";
509
- readonly outboundSection: "Outbound identity";
510
- readonly outboundHint: "Which client identity requests present. cli is what this route has always sent and was measured working; auto assigns one product per account and never drifts. Switching identity does not create allowance — quota is metered per account × model over a 24h window.";
511
- readonly outboundAuto: "Auto (per account)";
512
- readonly outboundCli: "CLI (default, measured working)";
513
- readonly outboundWorkbuddy: "WorkBuddy desktop";
514
- readonly outboundVscode: "VSCode extension";
515
- readonly atRestSection: "Desktop credential decryption";
516
- readonly atRestHint: "Since 2026-09-24 the desktop client seals its tokens as $wbEncrypted envelopes. Paste the key once to read those accounts; it is stored only in the platform credential store, never in plaintext and never logged.";
517
- readonly atRestPlaceholder: "64-character hex protector key, or the 44-character base64 atRestSecretKey";
518
- readonly atRestSave: "Save key";
519
- readonly atRestClear: "Clear key";
520
- readonly atRestSaved: "Key saved";
521
- readonly atRestSealed: "{count} sealed credentials found; they stay unreadable until a key is saved.";
522
- readonly guardrailsSection: "Local quota guardrails";
523
- readonly guardrailsHint: "Stop before the upstream 429: below a credit floor, at the account daily token cap, or at a per-model daily token cap, the request moves to another account in the pool. 0 disables a rail; counters reset at local midnight.";
524
- readonly guardrailsReserve: "Reserve credits";
525
- readonly guardrailsDaily: "Account daily tokens";
526
- readonly guardrailsModelDaily: "Model daily tokens";
527
- };
528
- 'en-US': {
529
- readonly title: "WorkBuddy";
530
- readonly pageDesc: "Reuse the local CodeBuddy desktop sign-in to manage WorkBuddy (CodeBuddy subscription) models, context windows, and quota.";
531
- readonly account: "Account";
532
- readonly noAccounts: "No accounts yet. Use “Add account” above to authorize, or sign in with the CodeBuddy desktop client and rescan; desktop accounts can only be hidden here, never removed from CodeBuddy.";
533
- readonly signedOut: "No credential found";
534
- readonly nickname: "Nickname";
535
- readonly uin: "UIN";
536
- readonly region: "Region";
537
- readonly regionCn: "China";
538
- readonly regionIntl: "International";
539
- readonly accountType: "Account type";
540
- readonly routeUnreachable: "The WorkBuddy settings route could not be read";
541
- readonly routeUnreachableHint: "The plugin loaded in the browser may be newer than the one running in the Host: client assets are read from disk on demand, while the Host loads them only at startup. Restart DSH so both halves come from the same build.";
542
- readonly rescan: "Rescan";
543
- readonly rescanning: "Scanning...";
544
- readonly accounts: "Account Management";
545
- readonly modelCooldown: "Model rate limit";
546
- readonly addCnAccount: "Add China account";
547
- readonly addIntlAccount: "Add international account";
548
- readonly authorizing: "Authorizing…";
549
- readonly loginWaiting: "Complete sign-in and authorization in the newly opened browser page.";
550
- readonly loginFailed: "Account authorization failed";
551
- readonly hiddenAccount: "Hidden";
552
- readonly hideAccount: "Hide from plugin";
553
- readonly restoreAccount: "Restore";
554
- readonly deleteAccount: "Delete account";
555
- readonly deleteConfirm: "Delete this plugin-managed account? Its encrypted credential will be removed.";
556
- readonly connection: "Connection";
557
- readonly testConnection: "Test connection";
558
- readonly testingConnection: "Testing...";
559
- readonly latency: "Latency";
560
- readonly routeOwned: "This plugin serves the model route";
561
- readonly routeConflict: "Another provider already owns the model route: {detail}. Remove the duplicate provider configuration in DSH settings and reload.";
562
- readonly modelsSection: "Models";
563
- readonly modelsHint: "Checked models appear in the DSH conversation model list. The catalog and its context windows come from the subscription gateway and are filtered by the account’s region — the upstream rejects a model asked of the wrong region.";
564
- readonly refreshCatalog: "Refresh catalog";
565
- readonly refreshingCatalog: "Refreshing...";
566
- readonly selectAll: "Select all";
567
- readonly unselectAll: "Deselect all";
568
- readonly imageSupport: "Images";
569
- readonly textOnly: "Text only";
570
- readonly creditMultiplier: "Multiplier";
571
- readonly creditMultiplierRegion: "{value} ({region})";
572
- readonly creditMultiplierPair: "{first} / {second}";
573
- readonly regionBadge: "Regions";
574
- readonly unavailableHere: "Unavailable in this region";
575
- readonly enhanced: "Enhanced features";
576
- readonly defaultReasoningEffort: "Default reasoning effort";
577
- readonly defaultReasoningEffortHint: "Reasoning effort for models that support it when the conversation does not specify one.";
578
- readonly defaultEffortAuto: "Use the model default";
579
- readonly effortUnsupported: "unsupported by the current models";
580
- readonly noReasoningModels: "None of this account’s models declare a reasoning level, so there is no default to choose.";
581
- readonly defaultEffortKept: "The saved level is not supported by any current model; it is kept but has no effect.";
582
- readonly contextWindowSection: "Model context window";
583
- readonly contextWindowHint: "Defaults come from the subscription gateway’s own catalog (each model’s real context cap); override one with the capacity DSH should use for compaction and overflow decisions (e.g., 1M, 512K, 200K).";
584
- readonly contextWindowReset: "Restore default";
585
- readonly contextWindowResetAll: "Restore all defaults";
586
- readonly contextWindowResetAllConfirm: "Restore every changed model context window to its default?";
587
- readonly contextWindowNoneEnabled: "No model is checked yet. Check one above and its context window setting appears here.";
588
- readonly save: "Save";
589
- readonly saved: "Saved";
590
- readonly saving: "Saving...";
591
- readonly quotaSection: "Usage & quota";
592
- readonly quotaDesc: "Read from the subscription billing endpoint; refreshes at most once every 60 seconds while visible.";
593
- readonly refreshQuota: "Refresh quota";
594
- readonly refreshingQuota: "Refreshing...";
595
- readonly quotaEmpty: "No quota data yet — use “Refresh quota” to retry.";
596
- readonly quotaPackage: "Package";
597
- readonly quotaRemaining: "Remaining credits";
598
- readonly quotaCycle: "Used this cycle";
599
- readonly quotaReset: "Resets";
600
- readonly updatedAt: "Updated at: {time}";
601
- readonly loading: "Loading...";
602
- readonly credits: "credits";
603
- readonly composerLabel: "Quota";
604
- readonly dailyCheckin: "Daily check-in";
605
- readonly checkinHint: "CN-region accounts only. The host signs in once at startup and re-checks every 10 minutes while running; a day the process never runs is not signed.";
606
- readonly checkinAuto: "Auto check-in";
607
- readonly checkinToday: "Checked in today {done}/{total}";
608
- readonly checkinSkipped: "{count} with no activity";
609
- readonly checkinFailed: "{count} failed";
610
- readonly checkinLastRun: "Last run: {time}";
611
- readonly checkinNever: "Never run";
612
- readonly checkinNow: "Check in now";
613
- readonly checkinRunning: "Checking in…";
614
- readonly outboundSection: "Outbound identity";
615
- readonly outboundHint: "Which client identity requests present. cli is what this route has always sent and was measured working; auto assigns one product per account and never drifts. Switching identity does not create allowance — quota is metered per account × model over a 24h window.";
616
- readonly outboundAuto: "Auto (per account)";
617
- readonly outboundCli: "CLI (default, measured working)";
618
- readonly outboundWorkbuddy: "WorkBuddy desktop";
619
- readonly outboundVscode: "VSCode extension";
620
- readonly atRestSection: "Desktop credential decryption";
621
- readonly atRestHint: "Since 2026-09-24 the desktop client seals its tokens as $wbEncrypted envelopes. Paste the key once to read those accounts; it is stored only in the platform credential store, never in plaintext and never logged.";
622
- readonly atRestPlaceholder: "64-character hex protector key, or the 44-character base64 atRestSecretKey";
623
- readonly atRestSave: "Save key";
624
- readonly atRestClear: "Clear key";
625
- readonly atRestSaved: "Key saved";
626
- readonly atRestSealed: "{count} sealed credentials found; they stay unreadable until a key is saved.";
627
- readonly guardrailsSection: "Local quota guardrails";
628
- readonly guardrailsHint: "Stop before the upstream 429: below a credit floor, at the account daily token cap, or at a per-model daily token cap, the request moves to another account in the pool. 0 disables a rail; counters reset at local midnight.";
629
- readonly guardrailsReserve: "Reserve credits";
630
- readonly guardrailsDaily: "Account daily tokens";
631
- readonly guardrailsModelDaily: "Model daily tokens";
632
- };
633
- };
634
- export type WorkBuddyLocaleKey = keyof typeof zh;
635
- //# sourceMappingURL=locales.d.ts.map