@best-agent/cli 0.0.2-beta.8 → 0.0.2-beta.9

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 (70) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +44 -181
  3. package/dist/launcher.js +32 -0
  4. package/package.json +15 -27
  5. package/dist/best-agent-native-bridge.d.ts +0 -389
  6. package/dist/best-agent-native-bridge.js +0 -4645
  7. package/dist/cli-storage.d.ts +0 -5
  8. package/dist/cli-storage.js +0 -7
  9. package/dist/dimsdk/ask-user.d.ts +0 -21
  10. package/dist/dimsdk/ask-user.js +0 -131
  11. package/dist/dimsdk/cli/version.d.ts +0 -6
  12. package/dist/dimsdk/cli/version.js +0 -36
  13. package/dist/dimsdk/compat/archships/dim-agent/runtime-host.d.ts +0 -49
  14. package/dist/dimsdk/compat/archships/dim-agent/runtime-host.js +0 -215
  15. package/dist/dimsdk/compat/runtime-host.d.ts +0 -2
  16. package/dist/dimsdk/compat/runtime-host.js +0 -2
  17. package/dist/dimsdk/core/debug-log.d.ts +0 -8
  18. package/dist/dimsdk/core/debug-log.js +0 -100
  19. package/dist/dimsdk/core/env.d.ts +0 -26
  20. package/dist/dimsdk/core/env.js +0 -130
  21. package/dist/dimsdk/core/markdown/sanitize.d.ts +0 -2
  22. package/dist/dimsdk/core/markdown/sanitize.js +0 -43
  23. package/dist/dimsdk/core/markdown/wrap.d.ts +0 -9
  24. package/dist/dimsdk/core/markdown/wrap.js +0 -139
  25. package/dist/dimsdk/core/markdown.d.ts +0 -18
  26. package/dist/dimsdk/core/markdown.js +0 -62
  27. package/dist/dimsdk/core/model.d.ts +0 -273
  28. package/dist/dimsdk/core/model.js +0 -16
  29. package/dist/dimsdk/core/observability/perf-log.d.ts +0 -18
  30. package/dist/dimsdk/core/observability/perf-log.js +0 -236
  31. package/dist/dimsdk/core/store/agent-event-mappers.d.ts +0 -26
  32. package/dist/dimsdk/core/store/agent-event-mappers.js +0 -109
  33. package/dist/dimsdk/core/store/message-mutations.d.ts +0 -105
  34. package/dist/dimsdk/core/store/message-mutations.js +0 -1528
  35. package/dist/dimsdk/core/store/semantic-readers.d.ts +0 -2
  36. package/dist/dimsdk/core/store/semantic-readers.js +0 -4
  37. package/dist/dimsdk/core/store/transcript-projector.d.ts +0 -164
  38. package/dist/dimsdk/core/store/transcript-projector.js +0 -580
  39. package/dist/dimsdk/core/tool-metadata.d.ts +0 -12
  40. package/dist/dimsdk/core/tool-metadata.js +0 -70
  41. package/dist/dimsdk/core/transcript-part-id.d.ts +0 -6
  42. package/dist/dimsdk/core/transcript-part-id.js +0 -22
  43. package/dist/dimsdk/i18n/index.d.ts +0 -18
  44. package/dist/dimsdk/i18n/index.js +0 -141
  45. package/dist/dimsdk/i18n/locales/en.d.ts +0 -988
  46. package/dist/dimsdk/i18n/locales/en.js +0 -987
  47. package/dist/dimsdk/i18n/locales/index.d.ts +0 -1976
  48. package/dist/dimsdk/i18n/locales/index.js +0 -8
  49. package/dist/dimsdk/i18n/locales/zh-CN.d.ts +0 -988
  50. package/dist/dimsdk/i18n/locales/zh-CN.js +0 -987
  51. package/dist/dimsdk/i18n/types.d.ts +0 -13
  52. package/dist/dimsdk/i18n/types.js +0 -2
  53. package/dist/dimsdk/shared/value-normalizers.d.ts +0 -7
  54. package/dist/dimsdk/shared/value-normalizers.js +0 -48
  55. package/dist/dimsdk-tui.bundle-size.json +0 -169
  56. package/dist/dimsdk-tui.bundle.js +0 -330756
  57. package/dist/goatchain-adapter.d.ts +0 -41
  58. package/dist/goatchain-adapter.js +0 -499
  59. package/dist/index.d.ts +0 -3
  60. package/dist/index.js +0 -1405
  61. package/dist/native-runtime-bridge.d.ts +0 -387
  62. package/dist/native-runtime-bridge.js +0 -4624
  63. package/dist/provider-config-env.d.ts +0 -7
  64. package/dist/provider-config-env.js +0 -286
  65. package/dist/provider-model-limit-index.generated.d.ts +0 -3
  66. package/dist/provider-model-limit-index.generated.js +0 -7818
  67. package/dist/provider-model-limits.d.ts +0 -8
  68. package/dist/provider-model-limits.js +0 -43
  69. package/dist/runtime.d.ts +0 -47
  70. package/dist/runtime.js +0 -516
@@ -1,1976 +0,0 @@
1
- export declare const locales: {
2
- readonly en: {
3
- readonly common: {
4
- readonly apply: "Apply";
5
- readonly cancel: "Cancel";
6
- readonly close: "Close";
7
- readonly copy: "Copy";
8
- readonly confirm: "Confirm";
9
- readonly refresh: "Refresh";
10
- readonly yes: "Yes";
11
- readonly no: "No";
12
- readonly exit: "Exit";
13
- readonly back: "Back";
14
- readonly next: "Next";
15
- readonly save: "Save";
16
- readonly empty: "—";
17
- readonly unknownError: "Unknown error";
18
- readonly inputClearTip: "Ctrl+C clear";
19
- };
20
- readonly configDialog: {
21
- readonly title: "Settings";
22
- readonly hint: "Tab/Shift+Tab switch field • Enter Apply • Esc Cancel";
23
- readonly modelsTitle: "Models (custom)";
24
- readonly modelsPlaceholder: "model-a, model-b";
25
- readonly contextWindowTitle: "Context Window";
26
- readonly contextWindowLocked: "Context Window (model-defined)";
27
- readonly contextWindowPlaceholder: "128000";
28
- readonly temperatureTitle: "Temperature";
29
- readonly temperaturePlaceholder: "0.7";
30
- readonly temperatureValidationError: "Temperature: only numbers and \".\"";
31
- readonly maxTokensTitle: "Max Output Tokens";
32
- readonly maxTokensPlaceholder: "8192";
33
- readonly baseUrlTitle: "Base URL (OpenAI-compatible)";
34
- readonly baseUrlPlaceholder: "https://api.openai.com/v1";
35
- readonly apiKeyCurrentPrefix: "Current:";
36
- readonly apiKeyNotSet: "(not set)";
37
- readonly apiKeyTitle: "API Key";
38
- readonly apiKeyPlaceholder: "Paste a new key to update (leave empty to keep)";
39
- readonly interleavedThinkingTitle: "Interleaved Thinking (Press Space toggle)";
40
- readonly interleavedThinkingLocked: "Interleaved Thinking (model-defined)";
41
- readonly interleavedThinkingOpen: "Open";
42
- readonly interleavedThinkingClose: "Close";
43
- readonly tipIntensityTitle: "Tip Intensity";
44
- readonly tipIntensityOff: "Off";
45
- readonly tipIntensityLow: "Low";
46
- readonly tipIntensityStandard: "Standard";
47
- readonly shortcutsTitle: "Shortcuts";
48
- readonly shortcutCommandsLabel: "Commands";
49
- readonly shortcutTimelineLabel: "Timeline";
50
- readonly shortcutNewSessionLabel: "New session";
51
- readonly shortcutsPlaceholder: "e.g. mod+p";
52
- readonly shortcutsHint: "Use mod/ctrl/alt/shift + key (a-z, 0-9, F1-F12).";
53
- };
54
- readonly languageDialog: {
55
- readonly title: "Language";
56
- readonly hint: "Enter Apply • Esc Cancel";
57
- readonly languageTitle: "Language";
58
- readonly languageEnglish: "English";
59
- readonly languageChinese: "简体中文";
60
- };
61
- readonly toolSettingsDialog: {
62
- readonly title: "Tool Settings";
63
- readonly hint: "Enter Apply • Esc Cancel";
64
- readonly websearchTitle: "WebSearch API Key";
65
- readonly apiKeyCurrentPrefix: "Current:";
66
- readonly apiKeyNotSet: "(not set)";
67
- readonly apiKeyPlaceholder: "Paste Serper API key";
68
- };
69
- readonly pluginsDialog: {
70
- readonly title: "Plugins";
71
- readonly hint: "Select a plugin to configure • Esc Close";
72
- readonly serperSearch: "Serper Search";
73
- readonly serperSearchDetail: "Web search via Serper API";
74
- readonly configured: "Configured";
75
- readonly notConfigured: "Not configured";
76
- readonly serperConfigTitle: "Serper Search Settings";
77
- readonly serperConfigHint: "Enter Apply • Esc Cancel";
78
- };
79
- readonly mcpSettingsDialog: {
80
- readonly title: "MCP";
81
- readonly hint: "Edit the mcp.json file to configure MCP servers • Esc Close";
82
- readonly configFileLabel: "Config file:";
83
- readonly noServersHint: "No MCP servers configured yet.";
84
- readonly serverCount: "{count} server(s) configured";
85
- readonly guideText: "Edit the file above to add or modify MCP servers.";
86
- readonly openFile: "Open File";
87
- readonly reload: "Reload";
88
- readonly close: "Close";
89
- readonly reloaded: "MCP config reloaded.";
90
- readonly reloadFailed: "Failed to reload: {error}";
91
- readonly status: "Status";
92
- readonly toolCount: "Tools";
93
- readonly disabled: "disabled";
94
- readonly testConnection: "Test";
95
- readonly testing: "Testing connections...";
96
- readonly testComplete: "Test complete.";
97
- readonly testPartial: "Test complete with errors.";
98
- readonly testFailed: "Connection failed: {error}";
99
- readonly invalidJson: "Invalid JSON: {error}";
100
- readonly invalidShape: "Invalid MCP JSON: expected \"mcpServers\".";
101
- readonly invalidServer: "Invalid MCP server: {name}";
102
- readonly noServers: "No MCP servers found.";
103
- readonly lintOk: "JSON syntax OK";
104
- readonly lintAt: "{error} (line {line}, col {column})";
105
- readonly lintUnclosed: "Unclosed {char} (line {line}, col {column})";
106
- readonly lintInvalid: "{error}";
107
- readonly exampleFormat: "Example format:";
108
- };
109
- readonly toolApprovalsDialog: {
110
- readonly title: "Tool Approvals";
111
- readonly useAlways: "Always";
112
- readonly useAuto: "Auto";
113
- readonly useNormal: "Normal";
114
- readonly useStrict: "Strict";
115
- readonly close: "Close";
116
- readonly focusedTitleAlways: "ALWAYS";
117
- readonly focusedTitleAuto: "AUTO";
118
- readonly focusedTitleNormal: "NORMAL";
119
- readonly focusedTitleStrict: "STRICT";
120
- readonly focusedTitleClose: "CLOSE";
121
- readonly focusedDescAlways: "Auto-approve approval requests with reusable scopes. Sensitive one-time requests still prompt.";
122
- readonly focusedDescAuto: "Auto-approve non-high-risk approvals. Prompt for high-risk approvals.";
123
- readonly focusedDescNormal: "Auto-approve read-only tools. Prompt before write/execute tools.";
124
- readonly focusedDescStrict: "Require confirmation for every tool call (safest, slowest).";
125
- readonly focusedDescClose: "Close this dialog without changing the current setting.";
126
- readonly currentPrefix: "Current: {mode}";
127
- readonly tip: "Tip: use ↑/↓ to move, Enter to confirm, Esc to close.";
128
- };
129
- readonly settingsDialog: {
130
- readonly pendingApproval: "Resolve the pending approval before changing settings.";
131
- readonly invalidShortcut: "Invalid shortcut for {label}: {value}";
132
- readonly shortcutCommands: "Commands shortcut";
133
- readonly shortcutTimeline: "Timeline shortcut";
134
- readonly shortcutNewSession: "New session shortcut";
135
- readonly toolApprovalsApplied: "Tool approvals: {mode}";
136
- readonly applied: "Settings applied.";
137
- };
138
- readonly exitAppDialog: {
139
- readonly title: "Exit DimCode";
140
- readonly confirm: "Exit now?";
141
- readonly warning: "An agent response is still in progress. Exiting will interrupt it.";
142
- readonly reasonPrefix: "Reason: {reason}";
143
- };
144
- readonly approvalDialog: {
145
- readonly title: "Approve Tool Permission";
146
- readonly toolLabel: "Tool: {tool}{suffix}";
147
- readonly toolLabelSuffix: " ({description})";
148
- readonly permissionLabel: "Permission: {permission} ({risk})";
149
- readonly descriptionLabel: "Description: {description}";
150
- readonly commandLabel: "Command:";
151
- readonly inlineActionHint: "↑/← Prev ↓/→ Next Enter Confirm 1/2/3 Choose";
152
- readonly inlineActionHintCompact: "←/→ Move Enter Confirm 1/2/3 Choose";
153
- readonly buttons: {
154
- readonly approve: "Approve";
155
- readonly alwaysApprove: "Always approve";
156
- readonly deny: "Deny";
157
- readonly always: "Always";
158
- readonly ok: "OK";
159
- readonly no: "No";
160
- readonly y: "Y";
161
- readonly all: "All";
162
- readonly n: "N";
163
- };
164
- };
165
- readonly askUserDialog: {
166
- readonly noQuestionsTitle: "No Questions";
167
- readonly noQuestionsBody: "No questions to answer.";
168
- readonly title: "Question {index}/{total}: {header}";
169
- readonly defaultHeader: "Question";
170
- readonly prev: "Prev";
171
- readonly next: "Next";
172
- readonly submit: "Submit";
173
- readonly otherOption: "Other";
174
- readonly otherDetail: "Provide a custom answer";
175
- readonly inlineHintOptions: "Keys: ↑↓ to move options, ←→ to switch buttons, Enter to activate.";
176
- readonly inlineHintMulti: "Multi-select: Space toggles checked state.";
177
- readonly inlineHintButtons: "Tab to buttons, ←→ to switch, Enter to activate, ↑ returns to options.";
178
- readonly inlineHintNav: "Ctrl+Left / Ctrl+Right (or Ctrl+A / Ctrl+E) to switch questions.";
179
- readonly inlineHintSubmit: "Ctrl+Enter submits, Esc cancels.";
180
- readonly inlineButtonPrev: "[Prev]";
181
- readonly inlineButtonNext: "[Next]";
182
- readonly inlineButtonSubmit: "[Submit]";
183
- readonly inlineButtonCancel: "[Cancel]";
184
- readonly inlineActionHint: "Space Select ←/→ Buttons Enter Activate Esc Cancel";
185
- readonly inlineActionHintCompact: "←/→ Buttons Enter Activate Esc Cancel";
186
- readonly optionsSummaryAll: "{count} options";
187
- readonly optionsSummaryVisibleMore: "{count} options ({start}-{end}) ↓ more";
188
- readonly multiSelectHint: "[Multi-select] Space to toggle, Enter to confirm";
189
- readonly singleSelectHint: "[Single-select] Use arrows, Enter to confirm";
190
- readonly customAnswerLabel: "Custom answer:";
191
- readonly customAnswerPlaceholder: "Type your answer...";
192
- readonly otherPlaceholder: "Other selected — type your answer and press Enter to fill.";
193
- };
194
- readonly nextApiOAuthDialog: {
195
- readonly title: "DimCode OAuth Login";
196
- readonly copyUrl: "Copy URL";
197
- readonly submitCallback: "Submit callback";
198
- readonly refreshModels: "Refresh models";
199
- readonly refreshingModels: "Refreshing...";
200
- readonly login: "Login";
201
- readonly logout: "Logout";
202
- readonly statusTitle: "Status";
203
- readonly statusAuthenticated: "✓ Logged in as {email}";
204
- readonly statusLoading: "⏳ Authenticating...";
205
- readonly statusNotLoggedIn: "✗ Not logged in";
206
- readonly instructionAuthenticated: "Use ↑↓/1-9 to choose a model, ←→ buttons, Enter to confirm";
207
- readonly instructionLoading: "Press C to copy the URL below if browser did not open";
208
- readonly instructionNeedsSetup: "Check the DimCode OAuth client redirect_uri, scopes, and enabled state, then try again";
209
- readonly instructionWithUrl: "Press C to copy the OAuth URL, Enter to open browser, or paste the callback below";
210
- readonly instructionUnauthed: "Press Enter to login with DimCode OAuth, or Esc to close";
211
- readonly oauthUrlTitleLoading: "OAuth URL (copy if browser did not open)";
212
- readonly oauthUrlTitleReady: "OAuth URL (ready to use)";
213
- readonly callbackUrlTitle: "Callback URL";
214
- readonly callbackPlaceholder: "Paste the final localhost callback URL or raw code";
215
- readonly callbackEmpty: "Paste the callback URL or authorization code.";
216
- readonly callbackParseFailed: "Could not parse the pasted callback URL.";
217
- readonly callbackMissingCode: "Pasted callback is missing the code parameter.";
218
- readonly callbackStateMismatch: "OAuth state mismatch. Restart sign-in.";
219
- readonly scrollIndicator: " [{start}-{end} of {total}]";
220
- readonly selectModelTitle: "Select Model (↑↓/1-9, Confirm to apply){indicator}";
221
- readonly aboutTitle: "About DimCode OAuth";
222
- readonly setupTitle: "OAuth login error";
223
- readonly aboutBulletOne: "• Uses the built-in DimCode OAuth client";
224
- readonly aboutBulletTwo: "• Fetches relay models after login and stores provider config";
225
- readonly aboutBulletThree: "• Uses OAuth refresh tokens instead of a long-lived API key";
226
- readonly viewAllPlans: "View All Plans →";
227
- readonly defaultAccount: "DimCode Account";
228
- readonly toast: {
229
- readonly generatingUrl: "Generating OAuth URL...";
230
- readonly urlReady: "OAuth URL ready! Copy it or press Enter to open browser.";
231
- readonly generateUrlFailed: "Failed to generate OAuth URL: {error}";
232
- readonly localCallbackUnavailable: "Local OAuth callback unavailable: {error}. Paste callback manually.";
233
- readonly startingLogin: "Starting OAuth login...";
234
- readonly browserOpened: "Browser opened. If not, copy the URL from the dialog.";
235
- readonly copyUrlToLogin: "Copy the OAuth URL from the dialog to login.";
236
- readonly urlCopied: "OAuth URL copied to clipboard.";
237
- readonly urlCopyFailed: "Failed to copy OAuth URL.";
238
- readonly callbackRejected: "OAuth callback rejected: {error}";
239
- readonly authSuccess: "Successfully authenticated with DimCode OAuth!";
240
- readonly loginFailed: "OAuth login failed: {error}";
241
- readonly loggedOut: "Logged out from DimCode OAuth";
242
- readonly loggedOutWithRemoteWarning: "Logged out from DimCode OAuth, but remote revoke failed: {error}";
243
- readonly logoutFailed: "Logout failed: {error}";
244
- readonly initFailed: "Dialog initialization error: {error}";
245
- readonly modelSwitched: "Model switched to {model}";
246
- readonly selectModelFailed: "Failed to select model: {error}";
247
- readonly modelsRefreshed: "Refreshed {count} models.";
248
- readonly modelsRefreshFailed: "Failed to refresh models: {error}";
249
- };
250
- };
251
- readonly debugTryDialog: {
252
- readonly titleDebug: "Debug";
253
- readonly titleDebugging: "Debugging";
254
- readonly copy: "copy";
255
- readonly proceed: "proceed";
256
- readonly fixed: "fixed";
257
- readonly body: "I’ve added debug logs (and possibly a fix). Please try to reproduce the issue now, then choose an outcome.";
258
- };
259
- readonly exitSessionDialog: {
260
- readonly title: "Exit Session";
261
- readonly confirm: "Exit the current session and return to Home?";
262
- readonly note: "Next message will start a new session.";
263
- };
264
- readonly messageActionsDialog: {
265
- readonly title: "Message Actions";
266
- readonly revert: "Revert messages";
267
- readonly revertWithFiles: "Revert messages and file changes";
268
- readonly revertKeepFiles: "Revert messages (keep file changes)";
269
- readonly revertFilesOnly: "Revert file changes only";
270
- readonly copy: "Copy message text to clipboard";
271
- readonly fork: "Fork create a new session";
272
- readonly pin: "Pin message";
273
- readonly unpin: "Unpin message";
274
- };
275
- readonly pathPickerDialog: {
276
- readonly hint: "↑/↓ select • Tab complete • Enter confirm • Esc close";
277
- };
278
- readonly providerConnectDialog: {
279
- readonly title: "Connect {provider}";
280
- readonly providerFallback: "Provider";
281
- readonly hint: "Tab switch • Ctrl+C clear • Enter Apply";
282
- readonly hintOpenAI: "Tab switch • Ctrl+C clear • Enter Apply";
283
- readonly hintGemini: "Tab switch • Ctrl+C clear • Enter Apply";
284
- readonly hintAnthropic: "Tab switch • Ctrl+C clear • Enter Apply";
285
- readonly hintGeneric: "Tab switch • Ctrl+C clear • Enter Apply";
286
- readonly applyingHint: "Testing connection, please wait...";
287
- readonly applyingButton: "Applying...";
288
- readonly testConnection: "Test connection";
289
- readonly baseUrlStatusAutoFix: "Auto-fix: {value}";
290
- readonly baseUrlStatusInvalid: "Base URL must be http(s)";
291
- readonly baseUrlTitle: "Base URL";
292
- readonly baseUrlPlaceholder: "https://api.example.com/v1";
293
- readonly apiKeyTitle: "API Key";
294
- readonly apiKeyPlaceholder: "Paste a new key to update (leave empty to keep)";
295
- readonly apiKeyCurrent: "Current: {value}";
296
- readonly apiKeyNotSet: "Current: (not set)";
297
- readonly clearKey: "Delete";
298
- readonly useDetectedKey: "Use {name}";
299
- };
300
- readonly redoConfirmDialog: {
301
- readonly title: "Confirm Redo";
302
- readonly body: "Are you sure you want to restore the reverted messages?";
303
- };
304
- readonly renameSessionDialog: {
305
- readonly title: "Rename session";
306
- readonly label: "Session name";
307
- readonly placeholder: "e.g. Planning notes";
308
- };
309
- readonly sessionsDialog: {
310
- readonly timeNow: "now";
311
- readonly timeMinutes: "{count} min";
312
- readonly timeHours: "{count} hr";
313
- readonly timeDays: "{count} d";
314
- readonly newSession: "New session";
315
- readonly title: "Sessions ({count})";
316
- readonly titleScoped: "Sessions ({count}/{total})";
317
- readonly scope: "Scope: {cwd}";
318
- readonly loading: "Loading…";
319
- readonly confirmDelete: "Confirm delete: press Delete again";
320
- readonly header: "{count} sessions • Arrow keys to navigate • Enter selects{range}{activity}";
321
- readonly headerRange: " • Showing {start}-{end}";
322
- readonly runningCount: "{count} running";
323
- readonly pausedCount: "{count} waiting confirmation";
324
- readonly hint: "Type to jump • ←/→ buttons • Enter confirm • Esc close";
325
- readonly focusPrefix: "Focus: {focus}";
326
- readonly focusList: "List";
327
- readonly focusButtons: "Buttons";
328
- readonly noSessionsCwd: "No sessions in this cwd";
329
- readonly noSessions: "No saved sessions yet";
330
- readonly nodeOnly: "Sessions are only available in Node/CLI mode.";
331
- readonly newSessionTitle: "New Session";
332
- readonly newSessionTarget: "a new session";
333
- readonly busy: {
334
- readonly agentResponding: "Agent is still responding";
335
- readonly awaitingAskUser: "Awaiting AskUser answers";
336
- readonly awaitingToolApproval: "Awaiting tool approval";
337
- readonly pendingApproval: "Pending approval";
338
- };
339
- readonly buttons: {
340
- readonly open: "Open";
341
- readonly delete: "Delete";
342
- readonly deleteConfirm: "Delete (confirm)";
343
- readonly scope: "Scope: {scope}";
344
- readonly scopeCwd: "CWD";
345
- readonly scopeAll: "All";
346
- readonly refresh: "Refresh";
347
- };
348
- };
349
- readonly switchSessionDialog: {
350
- readonly title: "Switch Session";
351
- readonly confirm: "Switch & Interrupt";
352
- readonly target: "Switch to {target}?";
353
- readonly fallback: "Switch sessions now?";
354
- readonly warning: "This will interrupt the current response/flow in the active session.";
355
- readonly reason: "Reason: {reason}";
356
- };
357
- readonly themeDialog: {
358
- readonly title: "Theme";
359
- readonly hint: "Enter Apply • Esc Cancel";
360
- readonly mode: "Mode";
361
- readonly light: "Light";
362
- readonly dark: "Dark";
363
- readonly tip: "Tip: default follows system theme.";
364
- };
365
- readonly commandPalette: {
366
- readonly searchPlaceholder: "Search…";
367
- readonly noMatches: "No matches";
368
- readonly hint: "Type to filter • Enter: open • Esc: close";
369
- readonly title: "Commands";
370
- };
371
- readonly help: {
372
- readonly title: "Help";
373
- readonly modeLabel: "Mode: {mode}";
374
- readonly modeDetail: "Current assistant mode.";
375
- readonly shortcutsLabel: "Shortcuts";
376
- readonly onboarding: "Welcome! Quick start:\n1) /connect: connect a provider\n2) /models: pick a model\n3) send \"hello\" to start chatting\nTip: {commandsKey} opens command palette.";
377
- readonly items: {
378
- readonly help: "Help and shortcuts (F1)";
379
- readonly commands: "Command palette (Ctrl+P)";
380
- readonly back: "Back to the previous jump";
381
- readonly status: "Toggle status details";
382
- };
383
- };
384
- readonly commands: {
385
- readonly help: {
386
- readonly label: "Help";
387
- readonly detail: "Shortcuts + common commands (F1)";
388
- };
389
- readonly sessions: {
390
- readonly label: "Sessions";
391
- readonly detail: "Pick or create a session (/sessions)";
392
- };
393
- readonly timeline: {
394
- readonly label: "Timeline";
395
- readonly detail: "Jump to a user message (/timeline)";
396
- };
397
- readonly trace: {
398
- readonly label: "Request Trace";
399
- readonly detail: "Inspect the current session request trace (/trace)";
400
- };
401
- readonly newSession: {
402
- readonly label: "New Session";
403
- readonly detail: "Start a new session (/new)";
404
- };
405
- readonly connectProvider: {
406
- readonly label: "Connect Provider";
407
- readonly detail: "Connect a provider (/connect)";
408
- };
409
- readonly models: {
410
- readonly label: "Models";
411
- readonly detail: "Select a model (/models)";
412
- };
413
- readonly toolApprovals: {
414
- readonly label: "Tool Approvals";
415
- readonly detail: "Configure approvals (/approvals)";
416
- };
417
- readonly toolSettings: {
418
- readonly label: "Tool Settings";
419
- readonly detail: "Configure tool-specific settings (/tool-settings)";
420
- };
421
- readonly mcpHub: {
422
- readonly label: "MCP";
423
- readonly detail: "Manage MCP connectors and settings (/mcp)";
424
- };
425
- readonly plugins: {
426
- readonly label: "Plugins";
427
- readonly detail: "Manage plugins (/plugins)";
428
- };
429
- readonly mcpSettings: {
430
- readonly label: "MCP (Advanced JSON)";
431
- readonly detail: "Configure raw MCP server JSON (/mcp-settings)";
432
- };
433
- readonly language: {
434
- readonly label: "Language";
435
- readonly detail: "Switch UI language (/language)";
436
- };
437
- readonly settings: {
438
- readonly label: "Settings";
439
- readonly detail: "Custom provider settings (/settings, Ctrl+K)";
440
- };
441
- };
442
- readonly homePage: {
443
- readonly multilineTitle: "Multiline Text";
444
- readonly multilineTitleWithCount: "Multiline Text ({count} lines)";
445
- readonly providerCustom: "Custom";
446
- readonly reviewPrompt: "help me review the code changes";
447
- readonly footerCwd: "cwd {cwd}";
448
- readonly hints: {
449
- readonly switchMode: "switch mode";
450
- readonly commands: "commands";
451
- };
452
- readonly tips: {
453
- readonly greeting: "Welcome back! Use {commandsKey} for commands, or /connect to set up a provider.";
454
- readonly commandsAlias: "Tip: {key} opens the command palette.";
455
- };
456
- readonly prompts: {
457
- readonly help: "Help & shortcuts (F1)";
458
- readonly sessions: "List/pick sessions";
459
- readonly connect: "Connect a provider";
460
- readonly models: "Select a model";
461
- readonly newSession: "Start a new session";
462
- readonly approvals: "Configure tool approvals (auto/normal/strict)";
463
- readonly commands: "Open command palette";
464
- readonly toolSettings: "Configure tool-specific settings";
465
- readonly mcpSettings: "Open MCP";
466
- readonly plugins: "Manage plugins";
467
- readonly language: "Switch UI language";
468
- readonly theme: "Select a theme";
469
- readonly status: "Toggle status details";
470
- readonly review: "Review code changes";
471
- readonly skills: "List loaded skills";
472
- readonly exit: "Exit the application";
473
- readonly debug: "Debug dialog (chat)";
474
- readonly settings: "Custom provider settings";
475
- };
476
- readonly commandPalette: {
477
- readonly connect: "Connect a provider";
478
- readonly models: "Select a model";
479
- };
480
- readonly commands: {
481
- readonly debugLabel: "Debug";
482
- readonly debugDetail: "Runtime stats (/debug)";
483
- };
484
- readonly toast: {
485
- readonly approvalsUsage: "Use /approvals (no on/off).";
486
- readonly customProviderOnly: "Settings only for custom providers.";
487
- readonly redoChatOnly: "Redo is only available in the chat view.";
488
- readonly retryChatOnly: "Retry is only available in the chat view.";
489
- readonly pinsChatOnly: "Pins are only available in the chat view.";
490
- readonly renameChatOnly: "Rename is only available in the chat view (/rename <title>).";
491
- readonly commandRemoved: "This command is no longer available: {command}";
492
- readonly helpAliasRemoved: "Press F1 for help.";
493
- readonly deleteConfirm: "Press Delete again to confirm.";
494
- readonly themeToggled: "Theme: {mode}";
495
- readonly pasteImagePending: "Image is still processing. Please wait.";
496
- };
497
- };
498
- readonly chatPage: {
499
- readonly placeholder: "Ask anything... (newline: Shift+Enter or Ctrl+J)";
500
- readonly placeholderAwaitingApproval: "Blocked by approval: select Approve / Deny to continue.";
501
- readonly reviewPrompt: "help me review the code changes";
502
- readonly notification: {
503
- readonly approvalTitle: "[Approval Required] Tool Permission";
504
- readonly approvalMessage: "DimCode is waiting for tool approval: {tool}.";
505
- readonly askUserTitle: "[Action Required] Question";
506
- readonly askUserMessage: "DimCode is waiting for your answer in the active terminal.";
507
- readonly doneTitle: "[Task Complete]";
508
- readonly doneMessage: "DimCode finished this task.";
509
- readonly doneMessageWithDuration: "DimCode finished this task in {duration}.";
510
- readonly doneMessageWithTools: "DimCode finished this task after {tools} tool call(s).";
511
- readonly doneMessageWithToolsAndDuration: "DimCode finished this task in {duration} with {tools} tool call(s).";
512
- };
513
- readonly headerStats: "{messages} msgs · {tokens} tok";
514
- readonly contextChip: "≈{pct}% / {tokens} tok";
515
- readonly contextChipCompact: "{pct}%";
516
- readonly thinkingWords: "Coalescing,Thinking,Reasoning,Planning,Analyzing,Synthesizing,Refining,Composing";
517
- readonly modelFallback: "model";
518
- readonly mode: {
519
- readonly plan: "plan";
520
- readonly agent: "agent";
521
- readonly debug: "debug";
522
- };
523
- readonly status: {
524
- readonly approvalsAuto: "AUTO";
525
- readonly approvalsAll: "ALL";
526
- readonly blockedByApproval: "Blocked by approval";
527
- readonly awaitingApprovalAction: "Waiting for your approval: choose Approve / Deny to continue.";
528
- };
529
- readonly footer: {
530
- readonly dragSelect: "drag to select";
531
- readonly openLink: "Ctrl+Click to open files or links";
532
- readonly esc: "esc";
533
- readonly approvalPaused: "⏸ Paused";
534
- readonly approvalPausedHint: "Waiting for approval (Enter to choose).";
535
- readonly shortcuts: "Ctrl+K: config Ctrl+O: expand/collapse tools & thinking Cmd+Delete/Ctrl+W: clear input Tab: switch mode {commandsKey}: commands";
536
- readonly shortcutsCompact: "Ctrl+K: config Ctrl+O: tools/thinking Cmd+Delete/Ctrl+W: clear Tab: switch mode {commandsKey}: commands";
537
- readonly shortcutsMicro: "Ctrl+O: tools {commandsKey}: commands";
538
- readonly shortcutsMini: "{commandsKey}: commands";
539
- };
540
- readonly session: {
541
- readonly new: "new";
542
- };
543
- readonly restore: {
544
- readonly loading: "Restoring session...";
545
- readonly error: "Failed to restore this session.";
546
- };
547
- readonly timeline: {
548
- readonly title: "Timeline";
549
- readonly empty: "(empty)";
550
- readonly filterAll: "All messages";
551
- readonly filterUser: "User messages";
552
- readonly filterTool: "Tool calls";
553
- };
554
- readonly pins: {
555
- readonly title: "Pinned";
556
- readonly empty: "(empty)";
557
- };
558
- readonly jumpToBottom: {
559
- readonly button: "↓";
560
- };
561
- readonly prompts: {
562
- readonly help: "Help & shortcuts (F1)";
563
- readonly newSession: "Start a new session";
564
- readonly resume: "Resume the paused queue";
565
- readonly sessions: "List/pick sessions";
566
- readonly timeline: "Jump to a user message";
567
- readonly trace: "Inspect the current session request/event trace";
568
- readonly pins: "Open pinned messages";
569
- readonly pin: "Pin the last message";
570
- readonly back: "Back to previous jump";
571
- readonly connect: "Connect a provider";
572
- readonly models: "Select a model";
573
- readonly theme: "Switch UI theme";
574
- readonly approvals: "Configure tool approvals (auto/normal/strict)";
575
- readonly commands: "Open command palette";
576
- readonly toolSettings: "Configure tool-specific settings";
577
- readonly mcpSettings: "Open MCP";
578
- readonly plugins: "Manage plugins";
579
- readonly language: "Switch UI language";
580
- readonly status: "Toggle status details";
581
- readonly review: "Review code changes";
582
- readonly retry: "Retry the last user message";
583
- readonly compact: "Compact session context";
584
- readonly rename: "Rename current session";
585
- readonly skills: "List loaded skills";
586
- readonly exit: "Exit the application";
587
- readonly debug: "Debug dialog";
588
- readonly settings: "Custom provider settings";
589
- };
590
- readonly commands: {
591
- readonly pinsLabel: "Pins";
592
- readonly pinsDetail: "Open pinned messages";
593
- readonly backLabel: "Back";
594
- readonly backDetail: "Return to the previous jump";
595
- readonly debugLabel: "Debug";
596
- readonly debugDetail: "Runtime stats (/debug)";
597
- readonly statusLabel: "Status";
598
- readonly statusDetail: "Toggle status details";
599
- readonly themeLabel: "Theme";
600
- readonly themeDetail: "Switch color theme";
601
- };
602
- readonly tips: {
603
- readonly contextWarn: "Tip: Context is getting full. Consider /compact or /new to keep replies sharp.";
604
- readonly contextCritical: "Tip: You are near the context limit. Start a new session with /new (or /compact first).";
605
- readonly timeline: "Tip: Long chat? Use /tl to jump back to a specific user message.";
606
- readonly timelineAlias: "Tip: /tl is a short alias for /timeline.";
607
- readonly commandsAlias: "Tip: {key} opens the command palette.";
608
- readonly errorRecovery: "Tip: If something failed, try /compact or /new.";
609
- readonly greeting: "Welcome back! Use {commandsKey} for commands, or /connect to set up a provider.";
610
- readonly compactDelight: "Nice! Keeping context lean helps.";
611
- readonly addTests: "All set! Want me to add tests? Reply “yes” or “ok”.";
612
- };
613
- readonly trace: {
614
- readonly title: "Session Trace";
615
- readonly loading: "Loading session trace...";
616
- readonly empty: "No request trace is available for this session yet.";
617
- readonly error: "Failed to load session trace.";
618
- readonly summary: "{requests} requests · {events} events · {processes} processes";
619
- readonly hint: "Arrow keys switch requests · Refresh reloads · Esc closes";
620
- readonly sessionEvents: "Session-level events";
621
- readonly requestFallback: "(empty prompt)";
622
- readonly counts: "{events} events · {runs} runs · {tools} tools · {children} child tasks · {compactions} compactions";
623
- readonly processes: "Processes: {count}";
624
- readonly noProcesses: "No managed process sessions for this request.";
625
- readonly moreProcesses: "… {count} more processes";
626
- readonly moreEvents: "… {count} more events";
627
- };
628
- readonly subagent: {
629
- readonly title: "Subagent";
630
- readonly titleWithName: "Subagent: {name}";
631
- readonly loading: "Loading subagent...";
632
- readonly empty: "No subagent transcript is available yet.";
633
- readonly error: "Failed to load subagent.";
634
- readonly summary: "{status} · {tools} tools · {messages} messages · {events} events · {thread}";
635
- readonly hint: "Scroll to inspect child chat · Refresh reloads · Esc closes";
636
- readonly running: "Subagent is running...";
637
- readonly sending: "Sending...";
638
- readonly send: "Send";
639
- readonly messageLabel: "Message this running subagent:";
640
- readonly pausedReadonly: "Subagent is paused for approval or user input. Resolve it in the main UI.";
641
- readonly readonly: "This subagent is not running. Input is read-only.";
642
- readonly messagePlaceholder: "Send a message to this subagent...";
643
- readonly readonlyPlaceholder: "Subagent is read-only";
644
- };
645
- readonly confirm: {
646
- readonly addTests: "Please add tests for the changes we just made.";
647
- };
648
- readonly toast: {
649
- readonly customProviderOnly: "Settings only for custom providers.";
650
- readonly renameNodeOnly: "Rename is only available in Node/CLI mode.";
651
- readonly noActiveSession: "No active session to rename.";
652
- readonly sessionNameEmpty: "Session name cannot be empty.";
653
- readonly sessionRenamed: "Renamed session to: {title}";
654
- readonly renameFailed: "Failed to rename session.";
655
- readonly linkOpenHint: "Tip: Ctrl+Click to open files or links.";
656
- readonly copySuccess: "Copied";
657
- readonly copyFailed: "Copy failed";
658
- readonly forkFailed: "Failed to fork session.";
659
- readonly backEmpty: "No previous jump to return to.";
660
- readonly pinsEmpty: "No pinned messages yet.";
661
- readonly pinEmpty: "No message to pin yet.";
662
- readonly pinned: "Pinned message.";
663
- readonly unpinned: "Unpinned message.";
664
- readonly debugUnavailable: "Debug server is unavailable.";
665
- readonly approvalsUsage: "Use /approvals (no on/off).";
666
- readonly debugDialogOpened: "Debug dialog opened.";
667
- readonly debugDialogClosed: "Debug dialog closed.";
668
- readonly traceUnavailable: "Session trace is unavailable in this runtime.";
669
- readonly subagentUnavailable: "Subagent inspect is unavailable in this runtime.";
670
- readonly subagentReadonly: "This subagent cannot receive messages now.";
671
- readonly subagentSteerSent: "Subagent steer accepted.";
672
- readonly subagentSteerFailed: "Failed to message subagent.";
673
- readonly renameUsage: "Usage: /rename <title>";
674
- readonly themeToggled: "Theme: {mode}";
675
- readonly statusCompactOn: "Status: compact";
676
- readonly statusCompactOff: "Status: detailed";
677
- readonly compactingSession: "Compacting session...";
678
- readonly compactSuccess: "Session compacted: {message}";
679
- readonly compactWarning: "Session compacted with limited gain: {message}";
680
- readonly compactSuccessDetailWithTokens: "Folded the first {count} history messages into a summary. Estimated input {before} -> {after} tokens, saving about {saved} tokens.";
681
- readonly compactSuccessDetailNotReduced: "Folded the first {count} history messages into a summary, but the estimated input changed from {before} to {after} tokens, so this did not reduce request size.";
682
- readonly compactSuccessDetailCountOnly: "Folded the first {count} history messages into a summary.";
683
- readonly compactSuccessDetailSummaryOnly: "Generated a fresh conversation summary.";
684
- readonly compactAlreadyCurrent: "Session already compacted; no new history to fold.";
685
- readonly compactFailed: "Failed to compact session: {error}";
686
- readonly compactFailedTokenLimit: "Compaction failed due to insufficient context budget. Set DIMCODE_CONTEXT_WINDOW correctly, switch to a larger-context model, or use /new. Detail: {error}";
687
- readonly retryEmpty: "No previous user message to retry.";
688
- readonly commandRemoved: "This command is no longer available: {command}";
689
- readonly helpAliasRemoved: "Press F1 for help.";
690
- readonly waitForResponse: "Please wait for the current response to complete, or press Esc to interrupt.";
691
- readonly pasteImagePending: "Image is still processing. Please wait.";
692
- readonly pendingApproval: "Please handle tool_approve first.";
693
- readonly awaitingApprovalAction: "Paused: action needed. Choose Approve / Always approve / Deny in the permission card.";
694
- readonly awaitingApprovalStillWaiting: "Still waiting for approval ({seconds}s). The model will not continue until you approve or deny.";
695
- readonly pendingAskUser: "Please handle ask_user first.";
696
- readonly sessionBusyElsewhere: "Another window is still running this session. Wait for it to finish before sending here.";
697
- readonly notificationSessionBusy: "This notification belongs to another busy session. Finish that work or switch sessions manually first.";
698
- readonly notificationSessionUnavailable: "Cannot open the session for this notification here.";
699
- readonly notificationSessionSwitchFailed: "Failed to open the session for this notification.";
700
- readonly approvalNotActive: "This approval is queued. Resolve the active one first.";
701
- readonly askUserNotActive: "This ask_user request is no longer active.";
702
- };
703
- };
704
- readonly chatQueue: {
705
- readonly label: "Queue ({count})";
706
- readonly labelCompact: "Queue {count}";
707
- readonly more: "+{count} more…";
708
- readonly resumeToken: "/resume";
709
- readonly resumePlainToken: "resume";
710
- readonly resumeLegacyToken: "resume queue";
711
- readonly state: {
712
- readonly idle: "Pending";
713
- readonly running: "Running";
714
- readonly paused: "Paused";
715
- readonly error: "Error";
716
- };
717
- readonly item: {
718
- readonly steerAction: "Steer";
719
- readonly steerReady: "First";
720
- readonly steerPending: "Next";
721
- readonly steerPaused: "Paused";
722
- };
723
- readonly toast: {
724
- readonly enqueued: "Added to queue (#{count}).";
725
- readonly full: "Queue is full (max 5). Delete one or start /new.";
726
- readonly cleared: "Cleared {count} queued item(s).";
727
- readonly deleted: "Deleted {count} queued item(s). Ctrl+Z to undo.";
728
- readonly steerPromoted: "Upgraded to steer. It will run first when the queue resumes.";
729
- readonly steerQueued: "Steer cannot be injected immediately. It was promoted and will run first on the next round.";
730
- readonly steerSent: "Steer accepted. It will be injected before the next model call in this round.";
731
- readonly undo: "Queue delete undone.";
732
- readonly pausedTip: "Queue paused. Use {resume} or {resumeText} to continue, or send a new message to choose what to do.";
733
- readonly stale: "Queue paused: request looks stuck.";
734
- };
735
- readonly confirm: {
736
- readonly title: "Continue queued messages?";
737
- readonly description: "Previous request did not finish. {count} queued message(s) waiting.";
738
- readonly hint: "Continue to send the next item, or pause the queue.";
739
- readonly continue: "Continue";
740
- readonly pause: "Pause";
741
- readonly reason: "Reason: {reason}";
742
- };
743
- readonly reason: {
744
- readonly network_error: "Network error.";
745
- readonly timeout: "Request timed out.";
746
- readonly canceled_by_user: "Canceled by user.";
747
- readonly rate_limited: "Rate limited.";
748
- readonly config_unavailable: "Saved config unavailable.";
749
- readonly unknown: "Request failed.";
750
- };
751
- readonly draftDecision: {
752
- readonly title: "Queue is paused";
753
- readonly description: "{count} queued message(s) are still waiting. Decide what to do with your new input.";
754
- readonly previewLabel: "New input:";
755
- readonly continue: "Continue queue";
756
- readonly append: "Append to queue";
757
- readonly replace: "Discard queue & send";
758
- };
759
- };
760
- readonly chatStatus: {
761
- readonly done: "Done.";
762
- readonly error: "Error.";
763
- readonly interrupted: "Interrupted.";
764
- readonly permissionDenied: "Permission denied.";
765
- readonly planning: "Planning…";
766
- readonly drafting: "Drafting…";
767
- readonly runningTool: "Running {tool}…";
768
- readonly runningTools: "Running {count} tools…";
769
- readonly approvalPendingOther: "Another approval is pending ({permission})…";
770
- readonly awaitingApproval: "Awaiting approval…";
771
- readonly awaitingApprovalWithPerm: "Awaiting approval ({permission})…";
772
- readonly awaitingApprovalWithRisk: "Awaiting approval ({risk})…";
773
- readonly awaitingAnswers: "Awaiting answers…";
774
- readonly resumingApproved: "Approved. Resuming…";
775
- readonly resumingDenied: "Denied. Resuming…";
776
- readonly resuming: "Resuming…";
777
- readonly autoApprovingWithRisk: "Auto-approving ({risk})…";
778
- readonly riskFallback: "risk";
779
- readonly toolFallback: "tool";
780
- readonly thinking: "Thinking…";
781
- readonly autoCompactionRequired: "Context is near the limit. Compaction is required first.";
782
- readonly autoCompactionRequiredDetailed: "Context is near the limit · the next request is estimated at {estimated} tokens, and auto-compaction starts at {threshold} tokens, so compaction is required first.";
783
- readonly compressed: "Context compacted · folded {removed} older messages into a summary, saving an estimated {saved} input tokens ({elapsed}ms)";
784
- readonly autoCompactedDetailed: "Auto-compaction completed · folded {removed} older messages into a summary, estimated input {before} -> {after} tokens, saving about {saved} tokens";
785
- readonly autoCompactedNotReduced: "Auto-compaction completed · folded {removed} older messages into a summary, but the estimated input changed from {before} to {after} tokens, so this did not reduce request size";
786
- readonly autoCompactedSaved: "Auto-compaction completed · folded {removed} older messages into a summary, saving about {saved} tokens";
787
- readonly autoCompactedCountOnly: "Auto-compaction completed · folded {removed} older messages into a summary";
788
- readonly interruptedMarkdown: "> **Interrupted** · Response canceled by user (`Esc`).";
789
- readonly awaitingApprovalPrefix: "Awaiting approval";
790
- readonly awaitingAnswersPrefix: "Awaiting answers";
791
- readonly approvalPendingPrefix: "Another approval is pending";
792
- readonly autoApprovingPrefix: "Auto-approving";
793
- };
794
- readonly chatParts: {
795
- readonly thinking: "Thinking";
796
- readonly plan: "Plan";
797
- readonly todo: "Todo";
798
- };
799
- readonly chatRender: {
800
- readonly userLabel: "user";
801
- readonly outputLabel: "↳ output";
802
- readonly outputLabelShort: "out:";
803
- readonly canceled: "canceled";
804
- readonly inputLabel: "in:";
805
- readonly collapse: "... (collapse)";
806
- readonly moreLines: "... ({count} more lines)";
807
- readonly moreLinesOmitted: "... ({count} more lines omitted; set {envVar} to increase)";
808
- readonly streamingTail: "… (streaming: showing last {shown} chars; {omitted} omitted)";
809
- readonly copy: "Copy";
810
- readonly userResponses: "User responses:";
811
- readonly approvalQueued: "Waiting for earlier approval...";
812
- readonly proposedPlan: {
813
- readonly title: "Proposed Plan";
814
- };
815
- readonly llmMeta: {
816
- readonly changedFiles: "Changed {count} file(s): {files}";
817
- readonly changedFilesMore: "+{count} more";
818
- readonly revertHint: "Tip: Click this message -> Revert messages to undo this turn.";
819
- readonly changedFilesCardTitle: "changed {count} files:";
820
- readonly revertButton: "Revert";
821
- };
822
- readonly toolName: {
823
- readonly explore: "Explore";
824
- readonly subagent: "Subagent";
825
- };
826
- readonly toolSuffix: {
827
- readonly offset: "offset {value}";
828
- readonly limit: "limit {value}";
829
- readonly matches: "{count} matches";
830
- readonly todos: "{count} todos";
831
- readonly results: "{count} results";
832
- readonly results_one: "{count} result";
833
- };
834
- readonly toolGroup: {
835
- readonly readFiles: "Read {count} files";
836
- readonly writeFiles: "Write {count} files";
837
- readonly editFiles: "Edit {count} files";
838
- readonly globPatterns: "Glob {count} patterns";
839
- readonly globSingle: "Glob {pattern}";
840
- readonly grepPatterns: "Grep {count} patterns";
841
- readonly bashCommands: "Run {count} commands";
842
- readonly searchQueries: "Search {count} queries";
843
- readonly summarySeparator: ", ";
844
- readonly editedFilesDone: "Edited {count} files";
845
- readonly searchesDone: "{count} searches";
846
- readonly bashCommandsDone: "ran {count} commands";
847
- readonly fetchUrlsDone: "fetched {count} URLs";
848
- readonly subagentsDone: "{count} subagents";
849
- readonly taskCount: "{name} x{count}";
850
- readonly generic: "{name} x{count}";
851
- };
852
- };
853
- readonly toolApproval: {
854
- readonly reason: {
855
- readonly search: "Search may access the network.";
856
- readonly bash: "Bash can execute commands.";
857
- readonly edit: "File changes can modify local files.";
858
- readonly grep: "Grep may read local files.";
859
- };
860
- readonly inlineHint: "Keys: ↑↓←→ to move, Enter to select.";
861
- readonly awaitingUserAction: "Waiting for your action: choose Approve / Always approve / Deny.";
862
- readonly decision: {
863
- readonly userDenied: "User denied approval";
864
- };
865
- readonly denied: {
866
- readonly title: "# Tool permission denied";
867
- readonly toolLine: "- tool: `{tool}`";
868
- readonly permissionLine: "- permission: `{permission}`";
869
- readonly hint: "You can re-select the tool_call and try again.";
870
- };
871
- readonly summary: {
872
- readonly title: "# Approved + executed tool";
873
- readonly permissionLine: "Permission `{permission}` approved for `{tool}`.";
874
- };
875
- readonly required: "Approval required ({risk}).";
876
- readonly args: {
877
- readonly commandWithDescription: "Command: {command} - {description}";
878
- readonly command: "Command: {command}";
879
- readonly description: "Description: {description}";
880
- readonly raw: "Args: {args}";
881
- };
882
- };
883
- readonly pathPicker: {
884
- readonly titleWorkspace: "Select Workspace";
885
- readonly titleFile: "Select File";
886
- readonly placeholderWorkspace: "Type a path (../ etc). Tab to complete. Enter selects a directory.";
887
- readonly placeholderFile: "Type a path (../ etc). Tab to complete. Enter selects a file.";
888
- };
889
- readonly providerDialogs: {
890
- readonly customLabel: "Custom";
891
- readonly customDetail: "custom";
892
- readonly nextApiOAuthLabel: "DimCode OAuth";
893
- readonly nextApiOAuthDetail: "Login with DimCode OAuth";
894
- readonly addCustomLabel: "Add custom provider";
895
- readonly addCustomDetail: "add custom provider";
896
- readonly providerFallback: "Provider";
897
- readonly adapter: {
898
- readonly openai: "OpenAI";
899
- readonly openaiOpenRouter: "OpenAI-compatible (OpenRouter)";
900
- readonly openaiLocal: "OpenAI-compatible (Local endpoint)";
901
- readonly openaiResponses: "OpenAI Responses";
902
- readonly gemini: "Gemini";
903
- readonly anthropic: "Anthropic";
904
- };
905
- readonly status: {
906
- readonly configured: "Configured";
907
- readonly notConfigured: "Not configured";
908
- };
909
- readonly manage: {
910
- readonly title: "Custom provider: {provider}";
911
- readonly connect: "Connect";
912
- readonly connectDetail: "Edit API key / Base URL";
913
- readonly rename: "Rename";
914
- readonly renameDetail: "Edit provider name";
915
- readonly models: "Edit models";
916
- readonly modelsDetail: "Update available model IDs";
917
- readonly delete: "Delete";
918
- readonly deleteDetail: "Remove this provider";
919
- };
920
- readonly deleteConfirm: {
921
- readonly title: "Delete {provider}?";
922
- readonly confirm: "Delete (confirm)";
923
- readonly confirmDetail: "This cannot be undone";
924
- readonly cancelDetail: "Keep provider";
925
- };
926
- readonly nameDialog: {
927
- readonly title: "Name custom provider";
928
- readonly label: "Provider name";
929
- readonly placeholder: "e.g. DeepSeek (Proxy)";
930
- };
931
- readonly modelsDialog: {
932
- readonly title: "Custom provider models";
933
- readonly modelsTitle: "Models";
934
- readonly modelsPlaceholder: "Model IDs (, or new lines)";
935
- readonly hint: ", / newline • Shift+Enter newline • Enter Apply";
936
- readonly fetch: "Fetch models";
937
- readonly fetching: "Fetching models…";
938
- };
939
- readonly modelsFetchDialog: {
940
- readonly title: "Select models";
941
- readonly searchPlaceholder: "Filter models";
942
- readonly hint: "Space toggle • Enter confirm • Esc cancel";
943
- };
944
- readonly toast: {
945
- readonly modelSet: "Model set to {provider} / {model}.";
946
- readonly noModels: "No models available yet. Connect a provider first (/connect).";
947
- readonly connectFirst: "Please connect a provider first (/connect) before sending your first message.";
948
- readonly apiKeyRequired: "API key is required.";
949
- readonly baseUrlRequired: "Base URL is required.";
950
- readonly baseUrlInvalid: "Base URL must start with http:// or https://";
951
- readonly connected: "Connected to {provider}.";
952
- readonly connectedSelectModel: "Connected to {provider}. Choose a model.";
953
- readonly connectedCheckFailed: "Connected to {provider}, but self-check failed: {reason}";
954
- readonly connectionTestPassed: "Connection test passed: {provider}.";
955
- readonly connectionTestFailed: "Connection test failed: {provider} - {reason}";
956
- readonly connectionActionUpdateKey: "Action: reopen Connect and update API key, then test again.";
957
- readonly connectionActionFixBaseUrl: "Action: check Base URL path (usually ends with /v1), then test again.";
958
- readonly connectionActionSwitchKey: "Action: wait a moment or switch to another key/provider.";
959
- readonly connectionActionRetryTest: "Action: check network/proxy and run Test connection again.";
960
- readonly noModelsFetching: "No models yet. Fetching model list…";
961
- readonly firstUseGuide: "Quick start: 1) /connect 2) /models 3) send \"hello\"";
962
- readonly firstUseSendHello: "Next step: send your first message (for example: \"hello\").";
963
- readonly connectionCheckUnauthorized: "401 Unauthorized: check API key and provider type.";
964
- readonly connectionCheckForbidden: "403 Forbidden: your key may not have access to this provider/model.";
965
- readonly connectionCheckNotFound: "404 Not Found: check Base URL path (OpenAI-compatible usually ends with /v1).";
966
- readonly connectionCheckRateLimited: "429 Rate limited: wait and retry, or switch to another key/provider.";
967
- readonly connectionCheckTimeout: "Connection timed out: check network/proxy and retry.";
968
- readonly connectionCheckNetwork: "Network connection failed: check DNS/proxy/Base URL.";
969
- readonly connectionCheckFailed: "Connection check failed: {error}";
970
- readonly apiKeyCleared: "API key cleared for {provider}.";
971
- readonly customAdded: "Custom provider added: {provider}.";
972
- readonly customRenamed: "Custom provider renamed: {provider}.";
973
- readonly customModelsUpdated: "Custom provider models updated: {provider}.";
974
- readonly customDeleted: "Custom provider deleted: {provider}.";
975
- readonly modelsRequired: "Add at least one model.";
976
- readonly modelsEmpty: "No models found.";
977
- readonly modelsFetchFailed: "Failed to fetch models: {error}";
978
- readonly modelsFetchChatCompletions: "Model list not supported for /chat/completions or /responses base URL.";
979
- readonly manualModelsRequired: "This endpoint doesn't support automatic model discovery. Please manually enter model names in the models configuration.";
980
- readonly nameRequired: "Provider name is required.";
981
- readonly nameConflict: "Provider name already exists.";
982
- };
983
- };
984
- readonly copyToast: {
985
- readonly copiedToClipboard: "Copied to clipboard";
986
- };
987
- };
988
- readonly 'zh-CN': {
989
- readonly common: {
990
- readonly apply: "应用";
991
- readonly cancel: "取消";
992
- readonly close: "关闭";
993
- readonly copy: "复制";
994
- readonly confirm: "确认";
995
- readonly refresh: "刷新";
996
- readonly yes: "是";
997
- readonly no: "否";
998
- readonly exit: "退出";
999
- readonly back: "返回";
1000
- readonly next: "下一步";
1001
- readonly save: "保存";
1002
- readonly empty: "—";
1003
- readonly unknownError: "未知错误";
1004
- readonly inputClearTip: "Ctrl+C 清空";
1005
- };
1006
- readonly configDialog: {
1007
- readonly title: "设置";
1008
- readonly hint: "Tab/Shift+Tab 切换字段 • Enter 应用 • Esc 取消";
1009
- readonly modelsTitle: "模型(自定义)";
1010
- readonly modelsPlaceholder: "model-a, model-b";
1011
- readonly contextWindowTitle: "上下文窗口";
1012
- readonly contextWindowLocked: "上下文窗口(模型定义)";
1013
- readonly contextWindowPlaceholder: "128000";
1014
- readonly temperatureTitle: "温度";
1015
- readonly temperaturePlaceholder: "0.7";
1016
- readonly temperatureValidationError: "温度:只能输入数字和”.”";
1017
- readonly maxTokensTitle: "最大输出 Token 数";
1018
- readonly maxTokensPlaceholder: "8192";
1019
- readonly baseUrlTitle: "Base URL(OpenAI 兼容)";
1020
- readonly baseUrlPlaceholder: "https://api.openai.com/v1";
1021
- readonly apiKeyCurrentPrefix: "当前:";
1022
- readonly apiKeyNotSet: "(未设置)";
1023
- readonly apiKeyTitle: "API Key";
1024
- readonly apiKeyPlaceholder: "粘贴新 Key 以更新(留空保持不变)";
1025
- readonly interleavedThinkingTitle: "交错思考(空格切换)";
1026
- readonly interleavedThinkingLocked: "交错思考(模型定义)";
1027
- readonly interleavedThinkingOpen: "开启";
1028
- readonly interleavedThinkingClose: "关闭";
1029
- readonly tipIntensityTitle: "提示强度";
1030
- readonly tipIntensityOff: "关闭";
1031
- readonly tipIntensityLow: "低";
1032
- readonly tipIntensityStandard: "标准";
1033
- readonly shortcutsTitle: "快捷键";
1034
- readonly shortcutCommandsLabel: "命令面板";
1035
- readonly shortcutTimelineLabel: "时间线";
1036
- readonly shortcutNewSessionLabel: "新会话";
1037
- readonly shortcutsPlaceholder: "如 mod+p";
1038
- readonly shortcutsHint: "使用 mod/ctrl/alt/shift + 键(a-z, 0-9, F1-F12)。";
1039
- };
1040
- readonly languageDialog: {
1041
- readonly title: "语言";
1042
- readonly hint: "Enter 应用 • Esc 取消";
1043
- readonly languageTitle: "语言";
1044
- readonly languageEnglish: "English";
1045
- readonly languageChinese: "简体中文";
1046
- };
1047
- readonly toolSettingsDialog: {
1048
- readonly title: "工具设置";
1049
- readonly hint: "Enter 应用 • Esc 取消";
1050
- readonly websearchTitle: "WebSearch API Key";
1051
- readonly apiKeyCurrentPrefix: "当前:";
1052
- readonly apiKeyNotSet: "(未设置)";
1053
- readonly apiKeyPlaceholder: "粘贴 Serper API Key";
1054
- };
1055
- readonly pluginsDialog: {
1056
- readonly title: "插件";
1057
- readonly hint: "选择一个插件进行配置 • Esc 关闭";
1058
- readonly serperSearch: "Serper Search";
1059
- readonly serperSearchDetail: "通过 Serper API 进行网络搜索";
1060
- readonly configured: "已配置";
1061
- readonly notConfigured: "未配置";
1062
- readonly serperConfigTitle: "Serper Search 设置";
1063
- readonly serperConfigHint: "Enter 应用 • Esc 取消";
1064
- };
1065
- readonly mcpSettingsDialog: {
1066
- readonly title: "MCP";
1067
- readonly hint: "编辑 mcp.json 文件以配置 MCP 服务器 • Esc 关闭";
1068
- readonly configFileLabel: "配置文件:";
1069
- readonly noServersHint: "尚未配置 MCP 服务器。";
1070
- readonly serverCount: "已配置 {count} 个服务器";
1071
- readonly guideText: "编辑上方文件以添加或修改 MCP 服务器。";
1072
- readonly openFile: "打开文件";
1073
- readonly reload: "重新加载";
1074
- readonly close: "关闭";
1075
- readonly reloaded: "MCP 配置已重新加载。";
1076
- readonly reloadFailed: "重新加载失败:{error}";
1077
- readonly status: "状态";
1078
- readonly toolCount: "工具数";
1079
- readonly disabled: "禁用";
1080
- readonly testConnection: "测试";
1081
- readonly testing: "正在测试连接...";
1082
- readonly testComplete: "测试完成。";
1083
- readonly testPartial: "测试完成(有错误)。";
1084
- readonly testFailed: "连接失败:{error}";
1085
- readonly invalidJson: "JSON 无效:{error}";
1086
- readonly invalidShape: "MCP JSON 无效:需要 \"mcpServers\"。";
1087
- readonly invalidServer: "MCP 服务器配置无效:{name}";
1088
- readonly noServers: "没有找到 MCP 服务器。";
1089
- readonly lintOk: "JSON 语法正确";
1090
- readonly lintAt: "{error}(第 {line} 行,第 {column} 列)";
1091
- readonly lintUnclosed: "未闭合的 {char}(第 {line} 行,第 {column} 列)";
1092
- readonly lintInvalid: "{error}";
1093
- readonly exampleFormat: "示例格式:";
1094
- };
1095
- readonly toolApprovalsDialog: {
1096
- readonly title: "工具审批";
1097
- readonly useAlways: "Always";
1098
- readonly useAuto: "Auto";
1099
- readonly useNormal: "Normal";
1100
- readonly useStrict: "Strict";
1101
- readonly close: "关闭";
1102
- readonly focusedTitleAlways: "ALWAYS";
1103
- readonly focusedTitleAuto: "AUTO";
1104
- readonly focusedTitleNormal: "NORMAL";
1105
- readonly focusedTitleStrict: "STRICT";
1106
- readonly focusedTitleClose: "CLOSE";
1107
- readonly focusedDescAlways: "可复用范围的审批自动通过;敏感的一次性请求仍需确认。";
1108
- readonly focusedDescAuto: "非高风险审批自动通过,高风险仍需确认。";
1109
- readonly focusedDescNormal: "读取类自动通过,写入类需确认。";
1110
- readonly focusedDescStrict: "所有工具均须确认(最安全,最慢)。";
1111
- readonly focusedDescClose: "关闭此对话框,不更改当前设置。";
1112
- readonly currentPrefix: "当前:{mode}";
1113
- readonly tip: "提示:用 ↑/↓ 移动,Enter 确认,Esc 关闭。";
1114
- };
1115
- readonly settingsDialog: {
1116
- readonly pendingApproval: "请先处理待审批请求再更改设置。";
1117
- readonly invalidShortcut: "快捷键无效:{label}({value})";
1118
- readonly shortcutCommands: "命令面板快捷键";
1119
- readonly shortcutTimeline: "时间线快捷键";
1120
- readonly shortcutNewSession: "新会话快捷键";
1121
- readonly toolApprovalsApplied: "工具审批:{mode}";
1122
- readonly applied: "设置已应用。";
1123
- };
1124
- readonly exitAppDialog: {
1125
- readonly title: "退出 DimCode";
1126
- readonly confirm: "现在退出?";
1127
- readonly warning: "仍有响应在进行中,退出将中断它。";
1128
- readonly reasonPrefix: "原因:{reason}";
1129
- };
1130
- readonly approvalDialog: {
1131
- readonly title: "工具权限审批";
1132
- readonly toolLabel: "工具:{tool}{suffix}";
1133
- readonly toolLabelSuffix: "({description})";
1134
- readonly permissionLabel: "权限:{permission}({risk})";
1135
- readonly descriptionLabel: "说明:{description}";
1136
- readonly commandLabel: "命令:";
1137
- readonly inlineActionHint: "↑/← 上一个 ↓/→ 下一个 Enter 确认 1/2/3 选择";
1138
- readonly inlineActionHintCompact: "←/→ 移动 Enter 确认 1/2/3 选择";
1139
- readonly buttons: {
1140
- readonly approve: "允许";
1141
- readonly alwaysApprove: "总是允许";
1142
- readonly deny: "拒绝";
1143
- readonly always: "总是";
1144
- readonly ok: "确定";
1145
- readonly no: "否";
1146
- readonly y: "Y";
1147
- readonly all: "全";
1148
- readonly n: "N";
1149
- };
1150
- };
1151
- readonly askUserDialog: {
1152
- readonly noQuestionsTitle: "没有问题";
1153
- readonly noQuestionsBody: "没有需要回答的问题。";
1154
- readonly title: "问题 {index}/{total}:{header}";
1155
- readonly defaultHeader: "问题";
1156
- readonly prev: "上一题";
1157
- readonly next: "下一题";
1158
- readonly submit: "提交";
1159
- readonly otherOption: "其他";
1160
- readonly otherDetail: "填写自定义答案";
1161
- readonly inlineHintOptions: "按 ↑↓ 移动选项,按 ←→ 切换按钮,按 Enter 触发。";
1162
- readonly inlineHintMulti: "多选:按 Space 勾选或取消勾选。";
1163
- readonly inlineHintButtons: "按 Tab 切到按钮,按 ←→ 切换,按 Enter 触发,按 ↑ 回到选项。";
1164
- readonly inlineHintNav: "Ctrl+Left / Ctrl+Right(或 Ctrl+A / Ctrl+E)切换问题。";
1165
- readonly inlineHintSubmit: "Ctrl+Enter 提交,Esc 取消。";
1166
- readonly inlineButtonPrev: "[上一题]";
1167
- readonly inlineButtonNext: "[下一题]";
1168
- readonly inlineButtonSubmit: "[提交]";
1169
- readonly inlineButtonCancel: "[取消]";
1170
- readonly inlineActionHint: "Space 选择 ←/→ 切按钮 Enter 触发 Esc 取消";
1171
- readonly inlineActionHintCompact: "←/→ 切按钮 Enter 触发 Esc 取消";
1172
- readonly optionsSummaryAll: "共 {count} 个选项";
1173
- readonly optionsSummaryVisibleMore: "共 {count} 个选项({start}-{end})↓ 更多";
1174
- readonly multiSelectHint: "[多选] 空格切换,Enter 确认";
1175
- readonly singleSelectHint: "[单选] 方向键移动,Enter 确认";
1176
- readonly customAnswerLabel: "自定义答案:";
1177
- readonly customAnswerPlaceholder: "请输入答案…";
1178
- readonly otherPlaceholder: "已选“其他”:输入自定义答案,回车填入。";
1179
- };
1180
- readonly nextApiOAuthDialog: {
1181
- readonly title: "DimCode OAuth 登录";
1182
- readonly copyUrl: "复制链接";
1183
- readonly submitCallback: "提交回调";
1184
- readonly refreshModels: "刷新模型";
1185
- readonly refreshingModels: "刷新中…";
1186
- readonly login: "登录";
1187
- readonly logout: "退出登录";
1188
- readonly statusTitle: "状态";
1189
- readonly statusAuthenticated: "✓ 已登录:{email}";
1190
- readonly statusLoading: "⏳ 正在认证…";
1191
- readonly statusNotLoggedIn: "✗ 未登录";
1192
- readonly instructionAuthenticated: "使用 ↑↓/1-9 选择模型,←→ 切换按钮,Enter 确认";
1193
- readonly instructionLoading: "若浏览器未打开,按 C 复制下方链接";
1194
- readonly instructionNeedsSetup: "请检查 DimCode OAuth client 的 redirect_uri、scope 和启用状态后重试";
1195
- readonly instructionWithUrl: "按 C 复制 OAuth 链接,Enter 打开浏览器,或在下方粘贴回调";
1196
- readonly instructionUnauthed: "按 Enter 使用 DimCode OAuth 登录,或按 Esc 关闭";
1197
- readonly oauthUrlTitleLoading: "OAuth 链接(浏览器未打开时复制)";
1198
- readonly oauthUrlTitleReady: "OAuth 链接(可直接使用)";
1199
- readonly callbackUrlTitle: "回调 URL";
1200
- readonly callbackPlaceholder: "粘贴最终 localhost 回调 URL 或 code";
1201
- readonly callbackEmpty: "请粘贴回调 URL 或授权 code。";
1202
- readonly callbackParseFailed: "无法解析粘贴的回调 URL。";
1203
- readonly callbackMissingCode: "粘贴内容缺少 code 参数。";
1204
- readonly callbackStateMismatch: "OAuth state 不匹配,请重新登录。";
1205
- readonly scrollIndicator: " [{start}-{end} / 共 {total}]";
1206
- readonly selectModelTitle: "选择模型(↑↓/1-9,确认后应用){indicator}";
1207
- readonly aboutTitle: "关于 DimCode OAuth";
1208
- readonly setupTitle: "OAuth 登录异常";
1209
- readonly aboutBulletOne: "• 内置使用 DimCode OAuth client";
1210
- readonly aboutBulletTwo: "• 登录后会拉取 relay 模型并保存 provider 配置";
1211
- readonly aboutBulletThree: "• 使用 OAuth refresh token,而不是长期 API Key";
1212
- readonly viewAllPlans: "查看所有方案 →";
1213
- readonly defaultAccount: "DimCode 账号";
1214
- readonly toast: {
1215
- readonly generatingUrl: "正在生成 OAuth 链接…";
1216
- readonly urlReady: "OAuth 链接已就绪!复制或按 Enter 打开浏览器。";
1217
- readonly generateUrlFailed: "生成 OAuth 链接失败:{error}";
1218
- readonly localCallbackUnavailable: "本地 OAuth 回调不可用:{error}。请手动粘贴回调。";
1219
- readonly startingLogin: "正在开始 OAuth 登录…";
1220
- readonly browserOpened: "已打开浏览器,如未打开请从对话框复制链接。";
1221
- readonly copyUrlToLogin: "请从对话框复制 OAuth 链接登录。";
1222
- readonly urlCopied: "OAuth 链接已复制到剪贴板。";
1223
- readonly urlCopyFailed: "复制 OAuth 链接失败。";
1224
- readonly callbackRejected: "OAuth 回调无效:{error}";
1225
- readonly authSuccess: "已成功通过 DimCode OAuth 认证!";
1226
- readonly loginFailed: "OAuth 登录失败:{error}";
1227
- readonly loggedOut: "已退出 DimCode OAuth 登录";
1228
- readonly loggedOutWithRemoteWarning: "已退出 DimCode OAuth 登录,但服务端撤销失败:{error}";
1229
- readonly logoutFailed: "退出登录失败:{error}";
1230
- readonly initFailed: "初始化对话框失败:{error}";
1231
- readonly modelSwitched: "已切换模型:{model}";
1232
- readonly selectModelFailed: "选择模型失败:{error}";
1233
- readonly modelsRefreshed: "已刷新 {count} 个模型。";
1234
- readonly modelsRefreshFailed: "刷新模型失败:{error}";
1235
- };
1236
- };
1237
- readonly debugTryDialog: {
1238
- readonly titleDebug: "调试";
1239
- readonly titleDebugging: "正在调试";
1240
- readonly copy: "复制";
1241
- readonly proceed: "继续";
1242
- readonly fixed: "已修复";
1243
- readonly body: "我已添加调试日志(并可能修复了问题)。请现在尝试复现,然后选择结果。";
1244
- };
1245
- readonly exitSessionDialog: {
1246
- readonly title: "退出会话";
1247
- readonly confirm: "退出当前会话并返回首页?";
1248
- readonly note: "下一条消息将开启新会话。";
1249
- };
1250
- readonly messageActionsDialog: {
1251
- readonly title: "消息操作";
1252
- readonly revert: "撤回消息";
1253
- readonly revertWithFiles: "撤回消息及文件改动";
1254
- readonly revertKeepFiles: "撤回消息(保留文件更改)";
1255
- readonly revertFilesOnly: "只回滚文件改动";
1256
- readonly copy: "复制消息文本到剪贴板";
1257
- readonly fork: "分叉创建新会话";
1258
- readonly pin: "置顶消息";
1259
- readonly unpin: "取消置顶";
1260
- };
1261
- readonly pathPickerDialog: {
1262
- readonly hint: "↑/↓ 选择 • Tab 补全 • Enter 确认 • Esc 关闭";
1263
- };
1264
- readonly providerConnectDialog: {
1265
- readonly title: "连接 {provider}";
1266
- readonly providerFallback: "提供方";
1267
- readonly hint: "Tab 切换 • Ctrl+C 清空 • Enter 应用";
1268
- readonly hintOpenAI: "Tab 切换 • Ctrl+C 清空 • Enter 应用";
1269
- readonly hintGemini: "Tab 切换 • Ctrl+C 清空 • Enter 应用";
1270
- readonly hintAnthropic: "Tab 切换 • Ctrl+C 清空 • Enter 应用";
1271
- readonly hintGeneric: "Tab 切换 • Ctrl+C 清空 • Enter 应用";
1272
- readonly applyingHint: "正在测试连接,请稍候...";
1273
- readonly applyingButton: "应用中...";
1274
- readonly testConnection: "测试连接";
1275
- readonly baseUrlStatusAutoFix: "自动修正:{value}";
1276
- readonly baseUrlStatusInvalid: "Base URL 必须是 http(s)";
1277
- readonly baseUrlTitle: "Base URL";
1278
- readonly baseUrlPlaceholder: "https://api.example.com/v1";
1279
- readonly apiKeyTitle: "API Key";
1280
- readonly apiKeyPlaceholder: "粘贴新 Key 以更新(留空保持不变)";
1281
- readonly apiKeyCurrent: "当前:{value}";
1282
- readonly apiKeyNotSet: "当前:(未设置)";
1283
- readonly clearKey: "清除 Key";
1284
- readonly useDetectedKey: "使用 {name}";
1285
- };
1286
- readonly redoConfirmDialog: {
1287
- readonly title: "确认重做";
1288
- readonly body: "确定要恢复已撤回的消息吗?";
1289
- };
1290
- readonly renameSessionDialog: {
1291
- readonly title: "重命名会话";
1292
- readonly label: "会话名称";
1293
- readonly placeholder: "例如:规划笔记";
1294
- };
1295
- readonly sessionsDialog: {
1296
- readonly timeNow: "刚刚";
1297
- readonly timeMinutes: "{count} 分钟";
1298
- readonly timeHours: "{count} 小时";
1299
- readonly timeDays: "{count} 天";
1300
- readonly newSession: "新会话";
1301
- readonly title: "会话({count})";
1302
- readonly titleScoped: "会话({count}/{total})";
1303
- readonly scope: "范围:{cwd}";
1304
- readonly loading: "加载中…";
1305
- readonly confirmDelete: "确认删除:再次按 Delete";
1306
- readonly header: "{count} 个会话 • 方向键导航 • Enter 选择{range}{activity}";
1307
- readonly headerRange: " • 显示 {start}-{end}";
1308
- readonly runningCount: "运行中 {count} 个";
1309
- readonly pausedCount: "等待确认 {count} 个";
1310
- readonly hint: "输入以跳转 • ←/→ 按钮 • Enter 确认 • Esc 关闭";
1311
- readonly focusPrefix: "焦点:{focus}";
1312
- readonly focusList: "列表";
1313
- readonly focusButtons: "按钮";
1314
- readonly noSessionsCwd: "当前目录没有会话";
1315
- readonly noSessions: "暂无已保存会话";
1316
- readonly nodeOnly: "会话仅在 Node/CLI 模式可用。";
1317
- readonly newSessionTitle: "新会话";
1318
- readonly newSessionTarget: "一个新会话";
1319
- readonly busy: {
1320
- readonly agentResponding: "助手仍在响应";
1321
- readonly awaitingAskUser: "等待 AskUser 回复";
1322
- readonly awaitingToolApproval: "等待工具审批";
1323
- readonly pendingApproval: "等待审批";
1324
- };
1325
- readonly buttons: {
1326
- readonly open: "打开";
1327
- readonly delete: "删除";
1328
- readonly deleteConfirm: "删除(确认)";
1329
- readonly scope: "范围:{scope}";
1330
- readonly scopeCwd: "当前目录";
1331
- readonly scopeAll: "全部";
1332
- readonly refresh: "刷新";
1333
- };
1334
- };
1335
- readonly switchSessionDialog: {
1336
- readonly title: "切换会话";
1337
- readonly confirm: "切换并中断";
1338
- readonly target: "切换到 {target}?";
1339
- readonly fallback: "现在切换会话?";
1340
- readonly warning: "这将中断当前会话的响应/流程。";
1341
- readonly reason: "原因:{reason}";
1342
- };
1343
- readonly themeDialog: {
1344
- readonly title: "主题";
1345
- readonly hint: "Enter 应用 • Esc 取消";
1346
- readonly mode: "模式";
1347
- readonly light: "浅色";
1348
- readonly dark: "深色";
1349
- readonly tip: "提示:默认跟随系统主题。";
1350
- };
1351
- readonly commandPalette: {
1352
- readonly searchPlaceholder: "搜索…";
1353
- readonly noMatches: "无匹配项";
1354
- readonly hint: "输入筛选 • Enter: 打开 • Esc: 关闭";
1355
- readonly title: "命令";
1356
- };
1357
- readonly help: {
1358
- readonly title: "帮助";
1359
- readonly modeLabel: "模式:{mode}";
1360
- readonly modeDetail: "当前助理模式。";
1361
- readonly shortcutsLabel: "快捷键";
1362
- readonly onboarding: "欢迎使用!快速上手:\n1) /connect:连接提供方\n2) /models:选择模型\n3) 发送「hello」开始对话\n提示:{commandsKey} 可打开命令面板。";
1363
- readonly items: {
1364
- readonly help: "帮助与快捷键(F1)";
1365
- readonly commands: "命令面板(Ctrl+P)";
1366
- readonly back: "返回上一跳";
1367
- readonly status: "切换状态详情";
1368
- };
1369
- };
1370
- readonly commands: {
1371
- readonly help: {
1372
- readonly label: "帮助";
1373
- readonly detail: "快捷键与常用命令(F1)";
1374
- };
1375
- readonly sessions: {
1376
- readonly label: "会话";
1377
- readonly detail: "选择或创建会话(/sessions)";
1378
- };
1379
- readonly timeline: {
1380
- readonly label: "时间线";
1381
- readonly detail: "跳转到用户消息(/timeline)";
1382
- };
1383
- readonly trace: {
1384
- readonly label: "请求追踪";
1385
- readonly detail: "查看当前会话请求链路(/trace)";
1386
- };
1387
- readonly newSession: {
1388
- readonly label: "新会话";
1389
- readonly detail: "开始新会话(/new)";
1390
- };
1391
- readonly connectProvider: {
1392
- readonly label: "连接提供方";
1393
- readonly detail: "连接提供方(/connect)";
1394
- };
1395
- readonly models: {
1396
- readonly label: "模型";
1397
- readonly detail: "选择模型(/models)";
1398
- };
1399
- readonly toolApprovals: {
1400
- readonly label: "工具审批";
1401
- readonly detail: "配置审批(/approvals)";
1402
- };
1403
- readonly toolSettings: {
1404
- readonly label: "工具设置";
1405
- readonly detail: "配置工具设置(/tool-settings)";
1406
- };
1407
- readonly mcpHub: {
1408
- readonly label: "MCP";
1409
- readonly detail: "管理 MCP 连接器与设置(/mcp)";
1410
- };
1411
- readonly plugins: {
1412
- readonly label: "插件";
1413
- readonly detail: "管理插件(/plugins)";
1414
- };
1415
- readonly mcpSettings: {
1416
- readonly label: "MCP(高级 JSON)";
1417
- readonly detail: "配置原始 MCP 服务器 JSON(/mcp-settings)";
1418
- };
1419
- readonly language: {
1420
- readonly label: "语言";
1421
- readonly detail: "切换界面语言(/language)";
1422
- };
1423
- readonly settings: {
1424
- readonly label: "设置";
1425
- readonly detail: "自定义提供方(/settings, Ctrl+K)";
1426
- };
1427
- };
1428
- readonly homePage: {
1429
- readonly multilineTitle: "多行文本";
1430
- readonly multilineTitleWithCount: "多行文本({count} 行)";
1431
- readonly providerCustom: "自定义";
1432
- readonly reviewPrompt: "帮我审查代码变更";
1433
- readonly footerCwd: "cwd {cwd}";
1434
- readonly hints: {
1435
- readonly switchMode: "切换模式";
1436
- readonly commands: "命令";
1437
- };
1438
- readonly tips: {
1439
- readonly greeting: "欢迎回来!用 {commandsKey} 打开命令,或用 /connect 配置提供方。";
1440
- readonly commandsAlias: "小贴士:{key} 可打开命令面板。";
1441
- };
1442
- readonly prompts: {
1443
- readonly help: "帮助与快捷键(F1)";
1444
- readonly sessions: "列出/选择会话";
1445
- readonly connect: "连接提供方";
1446
- readonly models: "选择模型";
1447
- readonly newSession: "开始新会话";
1448
- readonly approvals: "配置工具审批(auto/normal/strict)";
1449
- readonly commands: "打开命令面板";
1450
- readonly toolSettings: "配置工具设置";
1451
- readonly mcpSettings: "打开 MCP";
1452
- readonly plugins: "管理插件";
1453
- readonly language: "切换界面语言";
1454
- readonly theme: "选择主题";
1455
- readonly status: "切换状态详情";
1456
- readonly review: "审查代码变更";
1457
- readonly skills: "查看已加载的 Skills";
1458
- readonly exit: "退出应用";
1459
- readonly debug: "调试对话框(聊天)";
1460
- readonly settings: "自定义提供方设置";
1461
- };
1462
- readonly commandPalette: {
1463
- readonly connect: "连接提供方";
1464
- readonly models: "选择模型";
1465
- };
1466
- readonly commands: {
1467
- readonly debugLabel: "调试";
1468
- readonly debugDetail: "运行时状态(/debug)";
1469
- };
1470
- readonly toast: {
1471
- readonly approvalsUsage: "使用 /approvals(无需 on/off)。";
1472
- readonly customProviderOnly: "设置仅适用于自定义提供方。";
1473
- readonly redoChatOnly: "重做仅在聊天视图可用。";
1474
- readonly retryChatOnly: "重试仅在聊天视图可用。";
1475
- readonly pinsChatOnly: "置顶仅在聊天视图可用。";
1476
- readonly renameChatOnly: "重命名仅在聊天视图可用(/rename <title>)。";
1477
- readonly commandRemoved: "该指令已移除:{command}";
1478
- readonly helpAliasRemoved: "查看帮助请按 F1。";
1479
- readonly deleteConfirm: "再次按 Delete 确认删除。";
1480
- readonly themeToggled: "主题:{mode}";
1481
- readonly pasteImagePending: "图片处理中,请稍候再发送。";
1482
- };
1483
- };
1484
- readonly chatPage: {
1485
- readonly placeholder: "随便问点什么…(换行:Shift+Enter 或 Ctrl+J)";
1486
- readonly placeholderAwaitingApproval: "审批阻塞中:请选择 允许 / 拒绝 后继续。";
1487
- readonly reviewPrompt: "帮我审查代码变更";
1488
- readonly notification: {
1489
- readonly approvalTitle: "[需要审批] 工具权限";
1490
- readonly approvalMessage: "DimCode 正在等待工具审批:{tool}。";
1491
- readonly askUserTitle: "[需要操作] 问题";
1492
- readonly askUserMessage: "DimCode 正在等待你在当前 terminal 中回答。";
1493
- readonly doneTitle: "[任务完成]";
1494
- readonly doneMessage: "DimCode 已完成本次任务。";
1495
- readonly doneMessageWithDuration: "DimCode 已完成本次任务,耗时 {duration}。";
1496
- readonly doneMessageWithTools: "DimCode 已完成本次任务,共调用 {tools} 次工具。";
1497
- readonly doneMessageWithToolsAndDuration: "DimCode 已完成本次任务,耗时 {duration},共调用 {tools} 次工具。";
1498
- };
1499
- readonly headerStats: "{messages} 条消息 · {tokens} 令牌";
1500
- readonly contextChip: "≈{pct}% / {tokens} 令牌";
1501
- readonly contextChipCompact: "{pct}%";
1502
- readonly thinkingWords: "Coalescing,Thinking,Reasoning,Planning,Analyzing,Synthesizing,Refining,Composing";
1503
- readonly modelFallback: "模型";
1504
- readonly mode: {
1505
- readonly plan: "计划";
1506
- readonly agent: "助手";
1507
- readonly debug: "调试";
1508
- };
1509
- readonly status: {
1510
- readonly approvalsAuto: "AUTO";
1511
- readonly approvalsAll: "ALL";
1512
- readonly blockedByApproval: "等待审批中";
1513
- readonly awaitingApprovalAction: "等待你的审批:请选择允许 / 拒绝后继续。";
1514
- };
1515
- readonly footer: {
1516
- readonly dragSelect: "拖拽选择";
1517
- readonly openLink: "Ctrl+点击打开文件或链接";
1518
- readonly esc: "esc";
1519
- readonly approvalPaused: "⏸ 已暂停";
1520
- readonly approvalPausedHint: "等待审批中(按 Enter 选择)。";
1521
- readonly shortcuts: "Ctrl+K:配置 Ctrl+O:展开/收起工具/思考 Cmd+Delete/Ctrl+W:清空输入 Tab:切换模式 {commandsKey}:命令";
1522
- readonly shortcutsCompact: "Ctrl+K:配置 Ctrl+O:工具/思考 Cmd+Delete/Ctrl+W:清空 Tab:切换模式 {commandsKey}:命令";
1523
- readonly shortcutsMicro: "Ctrl+O:工具 {commandsKey}:命令";
1524
- readonly shortcutsMini: "{commandsKey}:命令";
1525
- };
1526
- readonly session: {
1527
- readonly new: "新建";
1528
- };
1529
- readonly restore: {
1530
- readonly loading: "正在恢复会话...";
1531
- readonly error: "恢复该会话失败。";
1532
- };
1533
- readonly timeline: {
1534
- readonly title: "时间线";
1535
- readonly empty: "(空)";
1536
- readonly filterAll: "全部消息";
1537
- readonly filterUser: "用户消息";
1538
- readonly filterTool: "工具调用";
1539
- };
1540
- readonly pins: {
1541
- readonly title: "置顶";
1542
- readonly empty: "(空)";
1543
- };
1544
- readonly jumpToBottom: {
1545
- readonly button: "↓";
1546
- };
1547
- readonly prompts: {
1548
- readonly help: "帮助与快捷键(F1)";
1549
- readonly newSession: "开始新会话";
1550
- readonly resume: "恢复已暂停的队列";
1551
- readonly sessions: "列出/选择会话";
1552
- readonly timeline: "跳转到用户消息";
1553
- readonly trace: "查看当前会话请求/事件追踪";
1554
- readonly pins: "打开置顶消息";
1555
- readonly pin: "置顶上一条消息";
1556
- readonly back: "返回上一跳";
1557
- readonly connect: "连接提供方";
1558
- readonly models: "选择模型";
1559
- readonly theme: "切换界面主题";
1560
- readonly approvals: "配置工具审批(auto/normal/strict)";
1561
- readonly commands: "打开命令面板";
1562
- readonly toolSettings: "配置工具设置";
1563
- readonly mcpSettings: "打开 MCP";
1564
- readonly plugins: "管理插件";
1565
- readonly language: "切换界面语言";
1566
- readonly status: "切换状态详情";
1567
- readonly review: "审查代码变更";
1568
- readonly retry: "重试上一条用户消息";
1569
- readonly compact: "压缩会话上下文";
1570
- readonly rename: "重命名当前会话";
1571
- readonly skills: "查看已加载的 Skills";
1572
- readonly exit: "退出应用";
1573
- readonly debug: "调试对话框";
1574
- readonly settings: "自定义提供方设置";
1575
- };
1576
- readonly commands: {
1577
- readonly pinsLabel: "置顶";
1578
- readonly pinsDetail: "打开置顶消息";
1579
- readonly backLabel: "返回";
1580
- readonly backDetail: "回到上一跳";
1581
- readonly debugLabel: "调试";
1582
- readonly debugDetail: "运行时状态(/debug)";
1583
- readonly statusLabel: "状态";
1584
- readonly statusDetail: "切换状态详情";
1585
- readonly themeLabel: "主题";
1586
- readonly themeDetail: "切换颜色主题";
1587
- };
1588
- readonly tips: {
1589
- readonly contextWarn: "小贴士:上下文快满了,可以用 /compact 压缩或 /new 新开会话。";
1590
- readonly contextCritical: "小贴士:已接近上下文上限,建议 /new 新开会话(或先 /compact)。";
1591
- readonly timeline: "小贴士:对话变长时,用 /tl 打开时间线快速跳回某条消息。";
1592
- readonly timelineAlias: "小贴士:/tl 是 /timeline 的快捷别名。";
1593
- readonly commandsAlias: "小贴士:{key} 可打开命令面板。";
1594
- readonly errorRecovery: "小贴士:出错时可试试 /compact 或 /new。";
1595
- readonly greeting: "欢迎回来!用 {commandsKey} 打开命令,或用 /connect 配置提供方。";
1596
- readonly compactDelight: "不错!保持上下文精简很有帮助。";
1597
- readonly addTests: "搞定了!要不要我顺手写测试?回复「是/要」。";
1598
- };
1599
- readonly trace: {
1600
- readonly title: "会话追踪";
1601
- readonly loading: "正在加载会话追踪...";
1602
- readonly empty: "当前会话还没有可显示的请求追踪。";
1603
- readonly error: "加载会话追踪失败。";
1604
- readonly summary: "{requests} 个请求 · {events} 个事件 · {processes} 个进程";
1605
- readonly hint: "上下键切换请求 · 刷新重新拉取 · Esc 关闭";
1606
- readonly sessionEvents: "会话级事件";
1607
- readonly requestFallback: "(空提示词)";
1608
- readonly counts: "{events} 个事件 · {runs} 个 run · {tools} 个工具 · {children} 个子任务 · {compactions} 次压缩";
1609
- readonly processes: "进程:{count}";
1610
- readonly noProcesses: "这个请求没有托管的 process-session。";
1611
- readonly moreProcesses: "… 还有 {count} 个进程";
1612
- readonly moreEvents: "… 还有 {count} 个事件";
1613
- };
1614
- readonly subagent: {
1615
- readonly title: "Subagent";
1616
- readonly titleWithName: "Subagent:{name}";
1617
- readonly loading: "正在加载 subagent...";
1618
- readonly empty: "当前还没有可显示的 subagent 工作内容。";
1619
- readonly error: "加载 subagent 失败。";
1620
- readonly summary: "{status} · {tools} 个工具 · {messages} 条消息 · {events} 个事件 · {thread}";
1621
- readonly hint: "滚动查看子聊天 · 刷新重新拉取 · Esc 关闭";
1622
- readonly running: "Subagent 运行中...";
1623
- readonly sending: "发送中...";
1624
- readonly send: "发送";
1625
- readonly messageLabel: "给运行中的 subagent 发消息:";
1626
- readonly pausedReadonly: "Subagent 正在等待审批或用户输入,请在主界面处理。";
1627
- readonly readonly: "该 subagent 未在运行,输入只读。";
1628
- readonly messagePlaceholder: "给这个 subagent 发送消息...";
1629
- readonly readonlyPlaceholder: "Subagent 只读";
1630
- };
1631
- readonly confirm: {
1632
- readonly addTests: "请为刚才的修改补充测试。";
1633
- };
1634
- readonly toast: {
1635
- readonly customProviderOnly: "设置仅适用于自定义提供方。";
1636
- readonly renameNodeOnly: "重命名仅在 Node/CLI 模式可用。";
1637
- readonly noActiveSession: "没有可重命名的会话。";
1638
- readonly sessionNameEmpty: "会话名称不能为空。";
1639
- readonly sessionRenamed: "会话已重命名为:{title}";
1640
- readonly renameFailed: "重命名会话失败。";
1641
- readonly linkOpenHint: "提示:Ctrl+点击可打开文件或链接。";
1642
- readonly copySuccess: "已复制";
1643
- readonly copyFailed: "复制失败";
1644
- readonly forkFailed: "分叉会话失败。";
1645
- readonly backEmpty: "没有可返回的上一跳。";
1646
- readonly pinsEmpty: "还没有置顶消息。";
1647
- readonly pinEmpty: "暂无可置顶的消息。";
1648
- readonly pinned: "已置顶消息。";
1649
- readonly unpinned: "已取消置顶。";
1650
- readonly debugUnavailable: "调试服务器不可用。";
1651
- readonly approvalsUsage: "使用 /approvals(无需 on/off)。";
1652
- readonly debugDialogOpened: "调试对话框已打开。";
1653
- readonly debugDialogClosed: "调试对话框已关闭。";
1654
- readonly traceUnavailable: "当前运行时不支持会话追踪。";
1655
- readonly subagentUnavailable: "当前运行时不支持查看 subagent。";
1656
- readonly subagentReadonly: "该 subagent 当前不能接收消息。";
1657
- readonly subagentSteerSent: "subagent steer 已提交。";
1658
- readonly subagentSteerFailed: "发送 subagent 消息失败。";
1659
- readonly renameUsage: "用法:/rename <title>";
1660
- readonly themeToggled: "主题:{mode}";
1661
- readonly statusCompactOn: "状态:精简";
1662
- readonly statusCompactOff: "状态:详细";
1663
- readonly compactingSession: "正在压缩会话...";
1664
- readonly compactSuccess: "会话已压缩:{message}";
1665
- readonly compactWarning: "会话已压缩,但收益有限:{message}";
1666
- readonly compactSuccessDetailWithTokens: "前 {count} 条历史消息已折叠为摘要,预估输入 {before} -> {after} tokens,约省 {saved} tokens。";
1667
- readonly compactSuccessDetailNotReduced: "前 {count} 条历史消息已折叠为摘要,但预估输入变成了 {before} -> {after} tokens,这次没有变小。";
1668
- readonly compactSuccessDetailCountOnly: "前 {count} 条历史消息已折叠为摘要。";
1669
- readonly compactSuccessDetailSummaryOnly: "已生成新的历史摘要。";
1670
- readonly compactAlreadyCurrent: "会话已经是最新压缩状态,没有新的历史可折叠。";
1671
- readonly compactFailed: "会话压缩失败:{error}";
1672
- readonly compactFailedTokenLimit: "压缩失败:上下文预算不足。请正确设置 DIMCODE_CONTEXT_WINDOW,或切换更大上下文模型,或使用 /new。详情:{error}";
1673
- readonly retryEmpty: "没有可重试的上一条消息。";
1674
- readonly commandRemoved: "该指令已移除:{command}";
1675
- readonly helpAliasRemoved: "查看帮助请按 F1。";
1676
- readonly waitForResponse: "请等待当前响应完成,或按 Esc 中断。";
1677
- readonly pasteImagePending: "图片处理中,请稍候再发送。";
1678
- readonly pendingApproval: "请先处理 tool_approve。";
1679
- readonly awaitingApprovalAction: "已暂停:需要你的操作。请在权限卡中选择允许 / 始终允许 / 拒绝。";
1680
- readonly awaitingApprovalStillWaiting: "仍在等待审批({seconds} 秒)。在你允许或拒绝前,模型不会继续。";
1681
- readonly pendingAskUser: "请先处理 ask_user。";
1682
- readonly sessionBusyElsewhere: "另一个窗口还在处理当前会话。请等它结束后再在这里发送。";
1683
- readonly notificationSessionBusy: "这条通知属于另一个忙碌中的会话。请先完成当前工作,或手动切换过去。";
1684
- readonly notificationSessionUnavailable: "当前环境无法打开这条通知对应的会话。";
1685
- readonly notificationSessionSwitchFailed: "打开这条通知对应的会话失败。";
1686
- readonly approvalNotActive: "该审批在排队,请先处理当前审批。";
1687
- readonly askUserNotActive: "该 ask_user 已失效。";
1688
- };
1689
- };
1690
- readonly chatQueue: {
1691
- readonly label: "队列({count})";
1692
- readonly labelCompact: "队列 {count}";
1693
- readonly more: "还有 {count} 条…";
1694
- readonly resumeToken: "/resume";
1695
- readonly resumePlainToken: "resume";
1696
- readonly resumeLegacyToken: "继续队列";
1697
- readonly state: {
1698
- readonly idle: "待发送";
1699
- readonly running: "运行中";
1700
- readonly paused: "等待继续";
1701
- readonly error: "错误";
1702
- };
1703
- readonly item: {
1704
- readonly steerAction: "Steer";
1705
- readonly steerReady: "优先";
1706
- readonly steerPending: "下一次";
1707
- readonly steerPaused: "暂停";
1708
- };
1709
- readonly toast: {
1710
- readonly enqueued: "已加入队列(第 {count} 条)。";
1711
- readonly full: "队列已满(最多 5 条),请先删除或 /new 新建会话。";
1712
- readonly cleared: "已清空 {count} 条队列消息。";
1713
- readonly deleted: "已删除 {count} 条队列消息,按 Ctrl+Z 可撤销。";
1714
- readonly steerPromoted: "已升级为 steer;恢复队列后会优先生效。";
1715
- readonly steerQueued: "steer 当前不能立刻注入;已排到最前,会在下一轮优先生效。";
1716
- readonly steerSent: "steer 已提交;会在当前轮下一次模型调用前注入。";
1717
- readonly undo: "已撤销队列删除。";
1718
- readonly pausedTip: "队列已暂停,输入 {resume} 或 {resumeText} 可继续,或发送新消息后选择如何处理。";
1719
- readonly stale: "队列已暂停:请求疑似卡住。";
1720
- };
1721
- readonly confirm: {
1722
- readonly title: "继续发送队列吗?";
1723
- readonly description: "上一条请求未完成,队列中还有 {count} 条等待发送。";
1724
- readonly hint: "继续发送下一条,或暂停队列。";
1725
- readonly continue: "继续发送";
1726
- readonly pause: "暂停队列";
1727
- readonly reason: "原因:{reason}";
1728
- };
1729
- readonly reason: {
1730
- readonly network_error: "网络异常。";
1731
- readonly timeout: "请求超时。";
1732
- readonly canceled_by_user: "已由用户取消。";
1733
- readonly rate_limited: "触发限流。";
1734
- readonly config_unavailable: "保存的配置不可用。";
1735
- readonly unknown: "请求失败。";
1736
- };
1737
- readonly draftDecision: {
1738
- readonly title: "队列已暂停";
1739
- readonly description: "还有 {count} 条队列消息等待发送。请选择如何处理这次新输入。";
1740
- readonly previewLabel: "新输入:";
1741
- readonly continue: "继续队列";
1742
- readonly append: "追加到队列";
1743
- readonly replace: "丢弃旧队列并发送";
1744
- };
1745
- };
1746
- readonly chatStatus: {
1747
- readonly done: "完成。";
1748
- readonly error: "错误。";
1749
- readonly interrupted: "已中断。";
1750
- readonly permissionDenied: "权限被拒绝。";
1751
- readonly planning: "规划中…";
1752
- readonly drafting: "起草中…";
1753
- readonly runningTool: "正在运行 {tool}…";
1754
- readonly runningTools: "正在运行 {count} 个工具…";
1755
- readonly approvalPendingOther: "已有其他审批在等待({permission})…";
1756
- readonly awaitingApproval: "等待批准…";
1757
- readonly awaitingApprovalWithPerm: "等待批准({permission})…";
1758
- readonly awaitingApprovalWithRisk: "等待批准({risk})…";
1759
- readonly awaitingAnswers: "等待回答…";
1760
- readonly resumingApproved: "已批准,继续…";
1761
- readonly resumingDenied: "已拒绝,继续…";
1762
- readonly resuming: "继续…";
1763
- readonly autoApprovingWithRisk: "自动批准中({risk})…";
1764
- readonly riskFallback: "风险";
1765
- readonly toolFallback: "工具";
1766
- readonly thinking: "思考中…";
1767
- readonly autoCompactionRequired: "上下文接近上限,需要先压缩。";
1768
- readonly autoCompactionRequiredDetailed: "上下文接近上限 · 下一次请求预计占用 {estimated} tokens,自动压缩阈值为 {threshold} tokens,因此需要先压缩。";
1769
- readonly compressed: "上下文已压缩 · 已将 {removed} 条旧消息折叠为摘要,本轮请求预估少占用 {saved} tokens(耗时 {elapsed}ms)";
1770
- readonly autoCompactedDetailed: "自动压缩完成 · 已将 {removed} 条旧消息折叠为摘要,预估输入 {before} -> {after} tokens,约省 {saved} tokens";
1771
- readonly autoCompactedNotReduced: "自动压缩完成 · 已将 {removed} 条旧消息折叠为摘要,但预估输入变成了 {before} -> {after} tokens,这次没有变小";
1772
- readonly autoCompactedSaved: "自动压缩完成 · 已将 {removed} 条旧消息折叠为摘要,约省 {saved} tokens";
1773
- readonly autoCompactedCountOnly: "自动压缩完成 · 已将 {removed} 条旧消息折叠为摘要";
1774
- readonly interruptedMarkdown: "> **已中断** · 用户已取消响应(`Esc`)。";
1775
- readonly awaitingApprovalPrefix: "等待批准";
1776
- readonly awaitingAnswersPrefix: "等待回答";
1777
- readonly approvalPendingPrefix: "已有其他审批在等待";
1778
- readonly autoApprovingPrefix: "自动批准中";
1779
- };
1780
- readonly chatParts: {
1781
- readonly thinking: "思考";
1782
- readonly plan: "计划";
1783
- readonly todo: "待办";
1784
- };
1785
- readonly chatRender: {
1786
- readonly userLabel: "用户";
1787
- readonly outputLabel: "↳ 输出";
1788
- readonly outputLabelShort: "输出:";
1789
- readonly canceled: "已取消";
1790
- readonly inputLabel: "输入:";
1791
- readonly collapse: "...(收起)";
1792
- readonly moreLines: "...(还有 {count} 行)";
1793
- readonly moreLinesOmitted: "...(已省略 {count} 行;设置 {envVar} 可增加)";
1794
- readonly streamingTail: "…(流式:仅显示最后 {shown} 个字符;已省略 {omitted} 个)";
1795
- readonly copy: "复制";
1796
- readonly userResponses: "用户回复:";
1797
- readonly approvalQueued: "等待前一个审批完成…";
1798
- readonly proposedPlan: {
1799
- readonly title: "实施计划";
1800
- };
1801
- readonly llmMeta: {
1802
- readonly changedFiles: "本轮改动 {count} 个文件:{files}";
1803
- readonly changedFilesMore: "另 {count} 个";
1804
- readonly revertHint: "提示:点击这条消息并选择“撤回消息”可回退本轮改动与消息。";
1805
- readonly changedFilesCardTitle: "本轮改动 {count} 个文件:";
1806
- readonly revertButton: "撤回";
1807
- };
1808
- readonly toolName: {
1809
- readonly explore: "Explore";
1810
- readonly subagent: "Subagent";
1811
- };
1812
- readonly toolSuffix: {
1813
- readonly offset: "偏移 {value}";
1814
- readonly limit: "限制 {value}";
1815
- readonly matches: "{count} 个匹配";
1816
- readonly todos: "{count} 项待办";
1817
- readonly results: "{count} 条结果";
1818
- readonly results_one: "{count} 条结果";
1819
- };
1820
- readonly toolGroup: {
1821
- readonly readFiles: "读取 {count} 个文件";
1822
- readonly writeFiles: "写入 {count} 个文件";
1823
- readonly editFiles: "编辑 {count} 个文件";
1824
- readonly globPatterns: "Glob {count} 个模式";
1825
- readonly globSingle: "Glob {pattern}";
1826
- readonly grepPatterns: "Grep {count} 个模式";
1827
- readonly bashCommands: "执行 {count} 条命令";
1828
- readonly searchQueries: "搜索 {count} 个查询";
1829
- readonly summarySeparator: ",";
1830
- readonly editedFilesDone: "编辑 {count} 个文件";
1831
- readonly searchesDone: "{count} 次搜索";
1832
- readonly bashCommandsDone: "执行 {count} 条命令";
1833
- readonly fetchUrlsDone: "获取 {count} 个 URL";
1834
- readonly subagentsDone: "{count} 个 Subagent";
1835
- readonly taskCount: "{name} x{count}";
1836
- readonly generic: "{name} x{count}";
1837
- };
1838
- };
1839
- readonly toolApproval: {
1840
- readonly reason: {
1841
- readonly search: "搜索可能访问网络。";
1842
- readonly bash: "Bash 可执行命令。";
1843
- readonly edit: "文件变更可能修改本地文件。";
1844
- readonly grep: "Grep 可能读取本地文件。";
1845
- };
1846
- readonly inlineHint: "按 ↑↓←→ 移动,按 Enter 选择。";
1847
- readonly awaitingUserAction: "等待你的操作:请选择允许 / 始终允许 / 拒绝。";
1848
- readonly decision: {
1849
- readonly userDenied: "用户拒绝了审批";
1850
- };
1851
- readonly denied: {
1852
- readonly title: "# 工具权限被拒绝";
1853
- readonly toolLine: "- 工具:`{tool}`";
1854
- readonly permissionLine: "- 权限:`{permission}`";
1855
- readonly hint: "你可以重新选择该 tool_call 并重试。";
1856
- };
1857
- readonly summary: {
1858
- readonly title: "# 已批准并执行工具";
1859
- readonly permissionLine: "已批准 `{permission}` 权限以执行 `{tool}`。";
1860
- };
1861
- readonly required: "需要审批({risk})。";
1862
- readonly args: {
1863
- readonly commandWithDescription: "命令:{command} - {description}";
1864
- readonly command: "命令:{command}";
1865
- readonly description: "说明:{description}";
1866
- readonly raw: "参数:{args}";
1867
- };
1868
- };
1869
- readonly pathPicker: {
1870
- readonly titleWorkspace: "选择工作区";
1871
- readonly titleFile: "选择文件";
1872
- readonly placeholderWorkspace: "输入路径(../ 等)。Tab 补全,Enter 选择目录。";
1873
- readonly placeholderFile: "输入路径(../ 等)。Tab 补全,Enter 选择文件。";
1874
- };
1875
- readonly providerDialogs: {
1876
- readonly customLabel: "自定义";
1877
- readonly customDetail: "自定义";
1878
- readonly nextApiOAuthLabel: "DimCode OAuth";
1879
- readonly nextApiOAuthDetail: "通过 DimCode OAuth 登录";
1880
- readonly addCustomLabel: "添加自定义提供方";
1881
- readonly addCustomDetail: "添加自定义提供方";
1882
- readonly providerFallback: "提供方";
1883
- readonly adapter: {
1884
- readonly openai: "OpenAI";
1885
- readonly openaiOpenRouter: "OpenAI 兼容(OpenRouter)";
1886
- readonly openaiLocal: "OpenAI 兼容(本地端点)";
1887
- readonly openaiResponses: "OpenAI Responses";
1888
- readonly gemini: "Gemini";
1889
- readonly anthropic: "Anthropic";
1890
- };
1891
- readonly status: {
1892
- readonly configured: "已配置";
1893
- readonly notConfigured: "未配置";
1894
- };
1895
- readonly manage: {
1896
- readonly title: "自定义提供方:{provider}";
1897
- readonly connect: "连接";
1898
- readonly connectDetail: "编辑 API Key / Base URL";
1899
- readonly rename: "重命名";
1900
- readonly renameDetail: "编辑提供方名称";
1901
- readonly models: "编辑模型";
1902
- readonly modelsDetail: "更新可用模型 ID";
1903
- readonly delete: "删除";
1904
- readonly deleteDetail: "移除此提供方";
1905
- };
1906
- readonly deleteConfirm: {
1907
- readonly title: "删除 {provider}?";
1908
- readonly confirm: "删除(确认)";
1909
- readonly confirmDetail: "此操作无法撤销";
1910
- readonly cancelDetail: "保留提供方";
1911
- };
1912
- readonly nameDialog: {
1913
- readonly title: "命名自定义提供方";
1914
- readonly label: "提供方名称";
1915
- readonly placeholder: "例如:DeepSeek(代理)";
1916
- };
1917
- readonly modelsDialog: {
1918
- readonly title: "自定义提供方模型";
1919
- readonly modelsTitle: "模型";
1920
- readonly modelsPlaceholder: "模型 ID(, 或换行分隔)";
1921
- readonly hint: ", / 换行分隔 • Shift+Enter 换行 • Enter 应用";
1922
- readonly fetch: "拉取模型";
1923
- readonly fetching: "正在拉取模型…";
1924
- };
1925
- readonly modelsFetchDialog: {
1926
- readonly title: "选择模型";
1927
- readonly searchPlaceholder: "筛选模型";
1928
- readonly hint: "Space 勾选 • Enter 确认 • Esc 取消";
1929
- };
1930
- readonly toast: {
1931
- readonly modelSet: "模型已设置为 {provider} / {model}。";
1932
- readonly noModels: "你目前还没有可用模型,请先连接一个提供方(/connect)。";
1933
- readonly connectFirst: "首次发送前请先连接提供方(/connect)。";
1934
- readonly apiKeyRequired: "需要 API Key。";
1935
- readonly baseUrlRequired: "需要 Base URL。";
1936
- readonly baseUrlInvalid: "Base URL 必须以 http:// 或 https:// 开头。";
1937
- readonly connected: "已连接 {provider}。";
1938
- readonly connectedSelectModel: "已连接 {provider},请选择模型。";
1939
- readonly connectedCheckFailed: "已连接 {provider},但自检失败:{reason}";
1940
- readonly connectionTestPassed: "连接测试通过:{provider}。";
1941
- readonly connectionTestFailed: "连接测试失败:{provider} - {reason}";
1942
- readonly connectionActionUpdateKey: "操作建议:重新打开连接,更新 API Key 后再次测试。";
1943
- readonly connectionActionFixBaseUrl: "操作建议:检查 Base URL 路径(通常以 /v1 结尾)后再次测试。";
1944
- readonly connectionActionSwitchKey: "操作建议:稍后重试,或切换其他 Key/提供方。";
1945
- readonly connectionActionRetryTest: "操作建议:检查网络/代理后再次执行测试连接。";
1946
- readonly noModelsFetching: "暂无模型,正在拉取模型列表…";
1947
- readonly firstUseGuide: "快速上手:1) /connect 2) /models 3) 发送「hello」";
1948
- readonly firstUseSendHello: "下一步:发送第一条消息(例如:「hello」)。";
1949
- readonly connectionCheckUnauthorized: "401 未授权:请检查 API Key 与提供方是否匹配。";
1950
- readonly connectionCheckForbidden: "403 禁止访问:当前 Key 可能无此提供方/模型权限。";
1951
- readonly connectionCheckNotFound: "404 未找到:请检查 Base URL 路径(OpenAI 兼容通常以 /v1 结尾)。";
1952
- readonly connectionCheckRateLimited: "429 限流:请稍后重试,或切换其他 Key/提供方。";
1953
- readonly connectionCheckTimeout: "连接超时:请检查网络/代理后重试。";
1954
- readonly connectionCheckNetwork: "网络连接失败:请检查 DNS/代理/Base URL。";
1955
- readonly connectionCheckFailed: "连接自检失败:{error}";
1956
- readonly apiKeyCleared: "已清除 {provider} 的 API Key。";
1957
- readonly customAdded: "已添加自定义提供方:{provider}。";
1958
- readonly customRenamed: "已重命名自定义提供方:{provider}。";
1959
- readonly customModelsUpdated: "已更新自定义提供方模型:{provider}。";
1960
- readonly customDeleted: "已删除自定义提供方:{provider}。";
1961
- readonly modelsRequired: "至少需要一个模型。";
1962
- readonly modelsEmpty: "未获取到模型。";
1963
- readonly modelsFetchFailed: "模型拉取失败:{error}";
1964
- readonly modelsFetchChatCompletions: "当 Base URL 为 /chat/completions 或 /responses 时不支持拉取模型。";
1965
- readonly manualModelsRequired: "此端点不支持自动发现模型。请在模型配置中手动输入模型名称。";
1966
- readonly nameRequired: "提供方名称不能为空。";
1967
- readonly nameConflict: "提供方名称已存在。";
1968
- };
1969
- };
1970
- readonly copyToast: {
1971
- readonly copiedToClipboard: "已复制到剪贴板";
1972
- };
1973
- };
1974
- };
1975
- export declare const defaultLocale = "en";
1976
- //# sourceMappingURL=index.d.ts.map