reasonix 0.48.0 → 0.49.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +9 -0
- package/dashboard/dist/app.js +123 -16
- package/dashboard/dist/app.js.map +1 -1
- package/dist/cli/{acp-4ROCGYNH.js → acp-WFQIC6SO.js} +52 -135
- package/dist/cli/acp-WFQIC6SO.js.map +1 -0
- package/dist/cli/chat-D32JGNVH.js +51 -0
- package/dist/cli/{chunk-S2RMQULY.js → chunk-23ZPCIPR.js} +12 -9
- package/dist/cli/chunk-23ZPCIPR.js.map +1 -0
- package/dist/cli/{chunk-TKVXTQ3T.js → chunk-3ZZXQ3CZ.js} +27 -27
- package/dist/cli/chunk-3ZZXQ3CZ.js.map +1 -0
- package/dist/cli/{chunk-5OHHAQ4W.js → chunk-7AST3QQ3.js} +2 -2
- package/dist/cli/{chunk-MRZG4GBF.js → chunk-7JTKBJ2G.js} +3 -3
- package/dist/cli/{chunk-X53B3JIX.js → chunk-7X4JJOO7.js} +2 -61
- package/dist/cli/{chunk-X53B3JIX.js.map → chunk-7X4JJOO7.js.map} +1 -1
- package/dist/cli/{chunk-MOJYKO2A.js → chunk-ASOLXV67.js} +3 -3
- package/dist/cli/{chunk-7M4YYMKW.js → chunk-AWEULQG6.js} +49 -56
- package/dist/cli/{chunk-7M4YYMKW.js.map → chunk-AWEULQG6.js.map} +1 -1
- package/dist/cli/{chunk-HR5NBKEM.js → chunk-DFX5ZH5L.js} +2 -2
- package/dist/cli/{chunk-3WGTGXO4.js → chunk-GNS7BAT2.js} +4 -4
- package/dist/cli/chunk-GNS7BAT2.js.map +1 -0
- package/dist/cli/{chunk-TE5UIIFL.js → chunk-J2IHQGPQ.js} +12 -6
- package/dist/cli/chunk-J2IHQGPQ.js.map +1 -0
- package/dist/cli/{chunk-I4M5QJNL.js → chunk-JGTX4RRQ.js} +3 -3
- package/dist/cli/{chunk-FY4S7TJZ.js → chunk-JNTMOX7G.js} +10 -2
- package/dist/cli/chunk-JNTMOX7G.js.map +1 -0
- package/dist/cli/{chunk-OB4BUJBL.js → chunk-MGTBP7GG.js} +5 -2
- package/dist/cli/chunk-MGTBP7GG.js.map +1 -0
- package/dist/cli/{chunk-OPYALNTT.js → chunk-MQWO32ZD.js} +387 -184
- package/dist/cli/chunk-MQWO32ZD.js.map +1 -0
- package/dist/cli/{chunk-2QSTA2QV.js → chunk-O5LIHAMP.js} +8 -4
- package/dist/cli/chunk-O5LIHAMP.js.map +1 -0
- package/dist/cli/{chunk-NMQSUNLB.js → chunk-PB3MAFEI.js} +6 -3
- package/dist/cli/chunk-PB3MAFEI.js.map +1 -0
- package/dist/cli/{chunk-H4CCXMDD.js → chunk-PEMG6CUB.js} +2 -2
- package/dist/cli/{chunk-RUDBUHO4.js → chunk-PXBQ6IZ7.js} +3 -3
- package/dist/cli/{chunk-J2TQAWOM.js → chunk-Q46B3Z7H.js} +25 -10
- package/dist/cli/{chunk-J2TQAWOM.js.map → chunk-Q46B3Z7H.js.map} +1 -1
- package/dist/cli/{chunk-6MZTZO7A.js → chunk-QF32ROX2.js} +2152 -2613
- package/dist/cli/chunk-QF32ROX2.js.map +1 -0
- package/dist/cli/{chunk-OG5JANQ4.js → chunk-QX5TWXRZ.js} +2 -2
- package/dist/cli/{chunk-V4Y732RQ.js → chunk-TAIKVL35.js} +2 -2
- package/dist/cli/{chunk-B5CZL2SE.js → chunk-TEDWJKEI.js} +4 -9
- package/dist/cli/chunk-TEDWJKEI.js.map +1 -0
- package/dist/cli/{chunk-EMMENC4O.js → chunk-U5XQDCK7.js} +5 -5
- package/dist/cli/{chunk-DOWEOA6E.js → chunk-W46ZMNKO.js} +3 -3
- package/dist/cli/{chunk-CDVSFSAK.js → chunk-WMTMMSXU.js} +184 -8
- package/dist/cli/chunk-WMTMMSXU.js.map +1 -0
- package/dist/cli/{chunk-YW63N3ZR.js → chunk-YEF7C4XI.js} +270 -96
- package/dist/cli/chunk-YEF7C4XI.js.map +1 -0
- package/dist/cli/{chunk-JMDE6IO3.js → chunk-ZAEJWKXB.js} +2 -2
- package/dist/cli/chunk-ZWHSHFDP.js +6173 -0
- package/dist/cli/chunk-ZWHSHFDP.js.map +1 -0
- package/dist/cli/{code-PMPJWXEO.js → code-R4IHI7SR.js} +30 -30
- package/dist/cli/{commands-QS6TG4G3.js → commands-DRHFCYMO.js} +4 -4
- package/dist/cli/{commit-XPRSKUBF.js → commit-AG5KB4YP.js} +3 -3
- package/dist/cli/{desktop-562OPWIU.js → desktop-JGL6GORA.js} +60 -23
- package/dist/cli/desktop-JGL6GORA.js.map +1 -0
- package/dist/cli/{diff-I6W4AUWJ.js → diff-4Z7ETWZO.js} +9 -9
- package/dist/cli/{doctor-6XVZKT4U.js → doctor-VA3RHQLB.js} +9 -9
- package/dist/cli/index.js +37 -36
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/{mcp-7W7ANO2Y.js → mcp-LZO4HXFA.js} +34 -23
- package/dist/cli/mcp-LZO4HXFA.js.map +1 -0
- package/dist/cli/{mcp-browse-LA4I4YIZ.js → mcp-browse-C3GXVMYZ.js} +3 -3
- package/dist/cli/{mcp-inspect-LWXXU7BY.js → mcp-inspect-ZMYUNFDS.js} +2 -2
- package/dist/cli/{prompt-RKZD4X6Y.js → prompt-MC3U5KRP.js} +5 -4
- package/dist/cli/{prune-sessions-SEWX7GP6.js → prune-sessions-OEPFH4N6.js} +11 -7
- package/dist/cli/prune-sessions-OEPFH4N6.js.map +1 -0
- package/dist/cli/{replay-2X7MVXOI.js → replay-4TP7ZUMZ.js} +10 -10
- package/dist/cli/{run-TPKXIJ27.js → run-6MXQYBOE.js} +16 -15
- package/dist/cli/run-6MXQYBOE.js.map +1 -0
- package/dist/cli/{server-NHQ3QXOZ.js → server-Z3IMJNNI.js} +65 -12
- package/dist/cli/server-Z3IMJNNI.js.map +1 -0
- package/dist/cli/{sessions-2A4DGSHA.js → sessions-NXQ5SAV7.js} +18 -18
- package/dist/cli/sessions-NXQ5SAV7.js.map +1 -0
- package/dist/cli/{setup-GOLP7J4C.js → setup-LHZELI6I.js} +6 -6
- package/dist/cli/{stats-CGDAFDKI.js → stats-SUIJ3QWY.js} +6 -6
- package/dist/cli/{version-FIL4ZFOS.js → version-BIFONEUB.js} +13 -13
- package/dist/index.d.ts +71 -17
- package/dist/index.js +1040 -391
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/dist/cli/acp-4ROCGYNH.js.map +0 -1
- package/dist/cli/chat-GZNB5625.js +0 -51
- package/dist/cli/chunk-2QSTA2QV.js.map +0 -1
- package/dist/cli/chunk-3WGTGXO4.js.map +0 -1
- package/dist/cli/chunk-6MZTZO7A.js.map +0 -1
- package/dist/cli/chunk-B5CZL2SE.js.map +0 -1
- package/dist/cli/chunk-CDVSFSAK.js.map +0 -1
- package/dist/cli/chunk-FY4S7TJZ.js.map +0 -1
- package/dist/cli/chunk-NMQSUNLB.js.map +0 -1
- package/dist/cli/chunk-OB4BUJBL.js.map +0 -1
- package/dist/cli/chunk-OPYALNTT.js.map +0 -1
- package/dist/cli/chunk-S2RMQULY.js.map +0 -1
- package/dist/cli/chunk-TE5UIIFL.js.map +0 -1
- package/dist/cli/chunk-TKVXTQ3T.js.map +0 -1
- package/dist/cli/chunk-WZGNXR6E.js +0 -2020
- package/dist/cli/chunk-WZGNXR6E.js.map +0 -1
- package/dist/cli/chunk-YW63N3ZR.js.map +0 -1
- package/dist/cli/desktop-562OPWIU.js.map +0 -1
- package/dist/cli/mcp-7W7ANO2Y.js.map +0 -1
- package/dist/cli/prune-sessions-SEWX7GP6.js.map +0 -1
- package/dist/cli/run-TPKXIJ27.js.map +0 -1
- package/dist/cli/server-NHQ3QXOZ.js.map +0 -1
- package/dist/cli/sessions-2A4DGSHA.js.map +0 -1
- /package/dist/cli/{chat-GZNB5625.js.map → chat-D32JGNVH.js.map} +0 -0
- /package/dist/cli/{chunk-5OHHAQ4W.js.map → chunk-7AST3QQ3.js.map} +0 -0
- /package/dist/cli/{chunk-MRZG4GBF.js.map → chunk-7JTKBJ2G.js.map} +0 -0
- /package/dist/cli/{chunk-MOJYKO2A.js.map → chunk-ASOLXV67.js.map} +0 -0
- /package/dist/cli/{chunk-HR5NBKEM.js.map → chunk-DFX5ZH5L.js.map} +0 -0
- /package/dist/cli/{chunk-I4M5QJNL.js.map → chunk-JGTX4RRQ.js.map} +0 -0
- /package/dist/cli/{chunk-H4CCXMDD.js.map → chunk-PEMG6CUB.js.map} +0 -0
- /package/dist/cli/{chunk-RUDBUHO4.js.map → chunk-PXBQ6IZ7.js.map} +0 -0
- /package/dist/cli/{chunk-OG5JANQ4.js.map → chunk-QX5TWXRZ.js.map} +0 -0
- /package/dist/cli/{chunk-V4Y732RQ.js.map → chunk-TAIKVL35.js.map} +0 -0
- /package/dist/cli/{chunk-EMMENC4O.js.map → chunk-U5XQDCK7.js.map} +0 -0
- /package/dist/cli/{chunk-DOWEOA6E.js.map → chunk-W46ZMNKO.js.map} +0 -0
- /package/dist/cli/{chunk-JMDE6IO3.js.map → chunk-ZAEJWKXB.js.map} +0 -0
- /package/dist/cli/{code-PMPJWXEO.js.map → code-R4IHI7SR.js.map} +0 -0
- /package/dist/cli/{commands-QS6TG4G3.js.map → commands-DRHFCYMO.js.map} +0 -0
- /package/dist/cli/{commit-XPRSKUBF.js.map → commit-AG5KB4YP.js.map} +0 -0
- /package/dist/cli/{diff-I6W4AUWJ.js.map → diff-4Z7ETWZO.js.map} +0 -0
- /package/dist/cli/{doctor-6XVZKT4U.js.map → doctor-VA3RHQLB.js.map} +0 -0
- /package/dist/cli/{mcp-browse-LA4I4YIZ.js.map → mcp-browse-C3GXVMYZ.js.map} +0 -0
- /package/dist/cli/{mcp-inspect-LWXXU7BY.js.map → mcp-inspect-ZMYUNFDS.js.map} +0 -0
- /package/dist/cli/{prompt-RKZD4X6Y.js.map → prompt-MC3U5KRP.js.map} +0 -0
- /package/dist/cli/{replay-2X7MVXOI.js.map → replay-4TP7ZUMZ.js.map} +0 -0
- /package/dist/cli/{setup-GOLP7J4C.js.map → setup-LHZELI6I.js.map} +0 -0
- /package/dist/cli/{stats-CGDAFDKI.js.map → stats-SUIJ3QWY.js.map} +0 -0
- /package/dist/cli/{version-FIL4ZFOS.js.map → version-BIFONEUB.js.map} +0 -0
|
@@ -3,7 +3,7 @@ import { createRequire as __cr } from 'node:module'; if (typeof globalThis.requi
|
|
|
3
3
|
import {
|
|
4
4
|
loadLanguage,
|
|
5
5
|
saveLanguage
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WMTMMSXU.js";
|
|
7
7
|
|
|
8
8
|
// src/i18n/EN.ts
|
|
9
9
|
var EN = {
|
|
@@ -48,7 +48,17 @@ var EN = {
|
|
|
48
48
|
missingApiKey: "DEEPSEEK_API_KEY is not set and stdin is not a TTY (cannot prompt).\nSet the env var, or run `reasonix chat` once interactively to save a key.\n"
|
|
49
49
|
},
|
|
50
50
|
sessions: {
|
|
51
|
-
emptyHint: "no saved sessions yet \u2014 run `reasonix chat` (sessions are auto-saved unless --no-session)."
|
|
51
|
+
emptyHint: "no saved sessions yet \u2014 run `reasonix chat` (sessions are auto-saved unless --no-session).",
|
|
52
|
+
listHeader: "Saved sessions (~/.reasonix/sessions/):",
|
|
53
|
+
inspectHint: "Inspect: reasonix sessions <name>",
|
|
54
|
+
resumeHint: "Resume: reasonix chat --session <name>",
|
|
55
|
+
noSession: 'no session named "{name}" (or it\u2019s empty).',
|
|
56
|
+
lookedAt: "looked at: {path}",
|
|
57
|
+
noIdleSessions: "no sessions idle \u2265{days} days. Nothing pruned.",
|
|
58
|
+
wouldPrune: "would prune {count} session(s) idle \u2265{days} days:",
|
|
59
|
+
dryRunHint: "re-run without --dry-run to actually delete.",
|
|
60
|
+
prunedCount: "pruned {count} session(s) idle \u2265{days} days:",
|
|
61
|
+
daysInvalid: "--days must be a positive integer (got {days})."
|
|
52
62
|
},
|
|
53
63
|
ui: {
|
|
54
64
|
welcome: "Run `reasonix` any time to start chatting \u2014 your settings are remembered.",
|
|
@@ -152,10 +162,6 @@ var EN = {
|
|
|
152
162
|
title: "copy / paste",
|
|
153
163
|
rows: [
|
|
154
164
|
{ key: "select text", text: "drag to select \u2014 terminal-native (no modifier needed)" },
|
|
155
|
-
{
|
|
156
|
-
key: "/copy",
|
|
157
|
-
text: "vim/tmux-style copy mode \u2014 works in SSH/mosh/tmux where drag-select can't extend past the viewport"
|
|
158
|
-
},
|
|
159
165
|
{
|
|
160
166
|
key: "copy",
|
|
161
167
|
text: "Ctrl+Shift+C (Win/Linux) \xB7 Cmd+C (macOS) \u2014 or auto-copy-on-select if your terminal does it"
|
|
@@ -246,9 +252,6 @@ var EN = {
|
|
|
246
252
|
},
|
|
247
253
|
slash: {
|
|
248
254
|
help: { description: "show the full command reference" },
|
|
249
|
-
copy: {
|
|
250
|
-
description: "open vim/tmux-style copy mode \u2014 j/k navigate, v select, y yank to clipboard"
|
|
251
|
-
},
|
|
252
255
|
status: { description: "current model, flags, context, session" },
|
|
253
256
|
preset: {
|
|
254
257
|
description: "model bundle \u2014 auto escalates flash \u2192 pro, flash/pro lock",
|
|
@@ -400,8 +403,8 @@ var EN = {
|
|
|
400
403
|
argsHint: "<question>"
|
|
401
404
|
},
|
|
402
405
|
"search-engine": {
|
|
403
|
-
description: "switch web search backend \u2014
|
|
404
|
-
argsHint: "<
|
|
406
|
+
description: "switch web search backend \u2014 bing (default, works from CN without proxy), searxng (self-hosted), metaso (free 100/d), tavily (free 1000/mo), perplexity (AI-native), or exa (AI-native)",
|
|
407
|
+
argsHint: "<bing|searxng|metaso|tavily|perplexity|exa> [<key>]"
|
|
405
408
|
}
|
|
406
409
|
},
|
|
407
410
|
wizard: {
|
|
@@ -564,6 +567,8 @@ var EN = {
|
|
|
564
567
|
verboseOn: "\u25B8 verbose mode on \u2014 full reasoning + tool output",
|
|
565
568
|
verboseOff: "\u25B8 verbose mode off \u2014 head/tail elision restored",
|
|
566
569
|
commandFailed: "! command failed",
|
|
570
|
+
steerInjected: "\u25B8 steering queued \u2014 will be added after the current step",
|
|
571
|
+
steerCommandRejected: "\u25B8 commands are disabled while steering a busy turn",
|
|
567
572
|
btwUsage: "\u25B8 /btw <question> \u2014 ask a side question without polluting the conversation context.",
|
|
568
573
|
btwHeader: "\u226B btw",
|
|
569
574
|
btwFailed: "/btw failed",
|
|
@@ -607,7 +612,11 @@ var EN = {
|
|
|
607
612
|
editHistoryHelpShow: "/show <id> \u2192 per-file summary \xB7 /show <id> <path> \u2192 full diff of one file",
|
|
608
613
|
editHistoryHelpUndo: "/undo \u2192 newest non-undone \xB7 /undo <id> [path] \u2192 target a specific batch or file",
|
|
609
614
|
editHistoryAlreadyReverted: "(already reverted \u2014 /history shows the batch-level status)",
|
|
610
|
-
editHistoryRevertFile: "/undo {id} {path} \u2192 revert just this file"
|
|
615
|
+
editHistoryRevertFile: "/undo {id} {path} \u2192 revert just this file",
|
|
616
|
+
mcpFailed: "MCP {name} failed",
|
|
617
|
+
mcpWarn: "MCP {name} warn",
|
|
618
|
+
unknownTheme: "unknown theme: {name}\navailable: {choices}",
|
|
619
|
+
themeSaved: "theme saved: {name}\nactive on next launch: {active}"
|
|
611
620
|
},
|
|
612
621
|
hooks: {
|
|
613
622
|
head: "hook {tag} `{cmd}` {decision}{truncTag}",
|
|
@@ -630,9 +639,9 @@ var EN = {
|
|
|
630
639
|
abortedAtIter: "aborted at iter {iter} \u2014 stopped without producing a summary (press \u2191 + Enter or /retry to resume)",
|
|
631
640
|
toolUploadStatus: "tool result uploaded \xB7 model thinking before next response\u2026",
|
|
632
641
|
preflightTruncateStatus: "preflight: context near full, truncating oldest history\u2026",
|
|
633
|
-
preflightTruncated: "preflight: request ~{estimate}/{ctxMax} tokens ({pct}%) \u2014 truncated {beforeMessages} messages \u2192 {afterMessages}. Sending.",
|
|
634
|
-
preflightTruncatedStillFull: "preflight: request still ~{estimate}/{ctxMax} tokens ({pct}%) after truncating {beforeMessages} messages \u2192 {afterMessages}. DeepSeek will likely 400. Run /clear or /new to start fresh.",
|
|
635
|
-
preflightNoFold: "preflight: request ~{estimate}/{ctxMax} tokens ({pct}%) and nothing left to truncate \u2014 DeepSeek will likely 400. Run /clear or /new to start fresh.",
|
|
642
|
+
preflightTruncated: "preflight: request ~{estimate}/{ctxMax} tokens ({pct}%) \xB7 body {bodyKB} KB \u2014 truncated {beforeMessages} messages \u2192 {afterMessages}. Sending.",
|
|
643
|
+
preflightTruncatedStillFull: "preflight: request still ~{estimate}/{ctxMax} tokens ({pct}%) \xB7 body {bodyKB} KB after truncating {beforeMessages} messages \u2192 {afterMessages}. DeepSeek will likely 400. Run /clear or /new to start fresh.",
|
|
644
|
+
preflightNoFold: "preflight: request ~{estimate}/{ctxMax} tokens ({pct}%) \xB7 body {bodyKB} KB and nothing left to truncate \u2014 DeepSeek will likely 400. Run /clear or /new to start fresh.",
|
|
636
645
|
flashEscalation: "\u21E7 flash requested escalation \u2014 retrying this turn on {model}{reasonSuffix}",
|
|
637
646
|
harvestStatus: "extracting plan state from reasoning\u2026",
|
|
638
647
|
repeatToolCallWarning: "Caught a repeated tool call \u2014 let the model see the issue and retry with a different approach.",
|
|
@@ -651,6 +660,7 @@ var EN = {
|
|
|
651
660
|
balance402: "Out of balance (DeepSeek 402): {inner}. Top up at https://platform.deepseek.com/top_up \u2014 the panel header shows your balance once it's non-zero.",
|
|
652
661
|
badparam422: "Invalid parameter (DeepSeek 422): {inner}",
|
|
653
662
|
badrequest400: "Bad request (DeepSeek 400): {inner}",
|
|
663
|
+
concurrency429: "DeepSeek concurrency limit hit (429): {inner}. The account has too many in-flight requests (cap: 500 for v4-pro, 2500 for v4-flash, summed across API keys account-wide). Usually means another Reasonix process is sharing the same key, or a parallel subagent fan-out overshot. Wait a few seconds and retry, reduce parallelism, or request a higher cap at https://platform.deepseek.com.",
|
|
654
664
|
deepseek5xxHead: "DeepSeek service unavailable ({status}) \u2014 this is a DeepSeek-side problem, not Reasonix. Already retried 4\xD7 with backoff.",
|
|
655
665
|
deepseek5xxReachable: " DeepSeek's main API answered our health check, but /chat/completions is failing \u2014 partial outage on their side.",
|
|
656
666
|
deepseek5xxUnreachable: " DeepSeek API is unreachable from your network \u2014 could be a wider DS outage or a local network issue.",
|
|
@@ -919,6 +929,12 @@ var EN = {
|
|
|
919
929
|
statusMcp: " mcp {servers} server(s), {tools} tool(s) in registry",
|
|
920
930
|
statusEdits: " edits {count} pending (/apply to commit, /discard to drop)",
|
|
921
931
|
statusPlan: " plan ON \u2014 writes gated (submit_plan + approval)",
|
|
932
|
+
statusLifecycle: " lifecycle {mode}/{state} \xB7 {progress}{evidence}",
|
|
933
|
+
lifecycleNoPlan: "no plan",
|
|
934
|
+
lifecycleEvidencePending: "evidence pending",
|
|
935
|
+
lifecycleRejected: "lifecycle: {tool} blocked in {state} \u2014 next: {next}",
|
|
936
|
+
lifecycleEvidenceRejected: "lifecycle: step {stepId} needs evidence \u2014 next: {next}",
|
|
937
|
+
lifecycleRepeatedRejected: "lifecycle: repeated {tool} rejection \u2014 do not retry identical args",
|
|
922
938
|
statusModeYolo: " mode YOLO \u2014 edits + shell auto-run with no prompt (/undo still rolls back \xB7 Shift+Tab to flip)",
|
|
923
939
|
statusModeAuto: " mode AUTO \u2014 edits apply immediately (u to undo within 5s \xB7 Shift+Tab to flip)",
|
|
924
940
|
statusModeReview: " mode review \u2014 edits queue for /apply or y (Shift+Tab to flip)",
|
|
@@ -930,6 +946,9 @@ var EN = {
|
|
|
930
946
|
activeNone: "\u25B8 active plan: (none)",
|
|
931
947
|
noArchives: "no archived plans yet for this session \u2014 they auto-archive when every step is done",
|
|
932
948
|
archivedHeader: "Archived ({count}):",
|
|
949
|
+
evidencePending: " ! evidence pending \u2014 current step needs verification/diff/checkpoint/manual evidence",
|
|
950
|
+
evidenceLine: " evidence {stepId}: {summary}",
|
|
951
|
+
archivedEvidenceLine: " evidence: {summary}",
|
|
933
952
|
replayNoSession: "no session attached \u2014 `/replay` is per-session. Run `reasonix code` in a project to get a session.",
|
|
934
953
|
replayNoArchives: "no archived plans yet for this session \u2014 `/replay` lights up once a plan completes (auto-archives when every step is done).",
|
|
935
954
|
replayInvalidIndex: "invalid index \u2014 `/replay` takes 1..{max} (newest = 1). Use `/plans` to see the list.",
|
|
@@ -1024,7 +1043,7 @@ var EN = {
|
|
|
1024
1043
|
currentEngine: "Current web search engine: {engine}",
|
|
1025
1044
|
endpoint: "SearXNG endpoint: {url}",
|
|
1026
1045
|
usageHeader: "Usage:",
|
|
1027
|
-
|
|
1046
|
+
usageBing: " /search-engine bing use Bing (default, works from CN without proxy)",
|
|
1028
1047
|
usageSearxng: " /search-engine searxng use SearXNG at default endpoint",
|
|
1029
1048
|
usageSearxngUrl: " /search-engine searxng <url> use SearXNG at custom endpoint",
|
|
1030
1049
|
usageMetaso: " /search-engine metaso use Metaso API (100/d free, configure your own API key for more)",
|
|
@@ -1089,7 +1108,8 @@ var EN = {
|
|
|
1089
1108
|
evt: " evt",
|
|
1090
1109
|
editsLabel: "edits:",
|
|
1091
1110
|
mcpLoading: "MCP",
|
|
1092
|
-
ctx: "ctx"
|
|
1111
|
+
ctx: "ctx",
|
|
1112
|
+
shortcutsHint: "Ctrl+P shortcuts"
|
|
1093
1113
|
},
|
|
1094
1114
|
editMode: {
|
|
1095
1115
|
plan: "PLAN MODE",
|
|
@@ -1119,7 +1139,9 @@ var EN = {
|
|
|
1119
1139
|
editorFailed: "external editor:",
|
|
1120
1140
|
editorMissing: "no $EDITOR / $VISUAL / $GIT_EDITOR set \u2014 export one (e.g. `export EDITOR=nano`) and retry",
|
|
1121
1141
|
editorExited: "editor exited with code {code}",
|
|
1122
|
-
typeaheadStaged: "\u25B8 {count} line(s) staged \xB7 esc recall"
|
|
1142
|
+
typeaheadStaged: "\u25B8 {count} line(s) staged \xB7 esc recall",
|
|
1143
|
+
steerPlaceholder: "type to steer the current task \u2014 commands are disabled while busy",
|
|
1144
|
+
steerHint: "send \u2014 injected mid-turn"
|
|
1123
1145
|
},
|
|
1124
1146
|
pathConfirm: {
|
|
1125
1147
|
title: "Outside-sandbox path",
|
|
@@ -1138,7 +1160,13 @@ var EN = {
|
|
|
1138
1160
|
denyDesc: "press Tab to add context telling the model why",
|
|
1139
1161
|
pathLabel: "path",
|
|
1140
1162
|
sandboxLabel: "sandbox",
|
|
1141
|
-
allowPrefixLabel: "prefix"
|
|
1163
|
+
allowPrefixLabel: "prefix",
|
|
1164
|
+
promptTitleRead: "Access path \u2014 read",
|
|
1165
|
+
promptTitleWrite: "Access path \u2014 write",
|
|
1166
|
+
actionAllowRead: "Allow read",
|
|
1167
|
+
actionAllowWrite: "Allow write",
|
|
1168
|
+
actionAlwaysAllow: "Always allow \u2014 {prefix}",
|
|
1169
|
+
actionDeny: "Deny"
|
|
1142
1170
|
},
|
|
1143
1171
|
shellConfirm: {
|
|
1144
1172
|
title: "Shell command",
|
|
@@ -1160,7 +1188,12 @@ var EN = {
|
|
|
1160
1188
|
timeoutLabel: "timeout",
|
|
1161
1189
|
waitLabel: "wait",
|
|
1162
1190
|
previewMore: "\u2026 {n} more line hidden \u2014 press esc, ask the model to split it",
|
|
1163
|
-
previewMorePlural: "\u2026 {n} more lines hidden \u2014 press esc, ask the model to split it"
|
|
1191
|
+
previewMorePlural: "\u2026 {n} more lines hidden \u2014 press esc, ask the model to split it",
|
|
1192
|
+
promptTitleRunCommand: "Run command",
|
|
1193
|
+
promptTitleRunBackground: "Run background command",
|
|
1194
|
+
actionRunOnce: "Run once",
|
|
1195
|
+
actionAlwaysAllow: "Always allow \u2014 {prefix}",
|
|
1196
|
+
actionDeny: "Deny"
|
|
1164
1197
|
},
|
|
1165
1198
|
editConfirm: {
|
|
1166
1199
|
footer: "[y/Enter] apply \xB7 [n] reject with reason \xB7 [a] apply rest \xB7 [A] flip AUTO \xB7 [\u2191\u2193/Space] scroll \xB7 [Esc] abort",
|
|
@@ -1301,36 +1334,37 @@ var EN = {
|
|
|
1301
1334
|
probeFailed: "probe failed \u2014 {message}"
|
|
1302
1335
|
},
|
|
1303
1336
|
webErrors: {
|
|
1304
|
-
status: "web_search {status} \u2014 try: the search backend returned an error; rephrase the query, or switch engine with /search-engine
|
|
1337
|
+
status: "web_search {status} \u2014 try: the search backend returned an error; rephrase the query, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1305
1338
|
rateLimit429: "web_search 429 \u2014 try: wait 10s before retrying, or rephrase the query; the search backend is rate-limiting this client",
|
|
1306
|
-
forbidden403: "web_search 403 \u2014 try: the search backend is blocking this client; switch engine with /search-engine
|
|
1339
|
+
forbidden403: "web_search 403 \u2014 try: the search backend is blocking this client; switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa, or wait and retry later",
|
|
1307
1340
|
serverError5xx: "web_search {status} \u2014 try: open the search URL in a browser; if it loads this is transient and a retry in 30s may help",
|
|
1308
|
-
|
|
1309
|
-
|
|
1341
|
+
bingBlocked: "web_search: Bing anti-bot page \u2014 rate-limited or blocked \u2014 try: wait 30s and retry, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1342
|
+
bingNoResults: "web_search: 0 results but response doesn't look like a real empty page ({chars} chars, first 120: {preview}) \u2014 try: rephrase the query with simpler terms, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1310
1343
|
invalidEndpoint: 'web_search: invalid SearXNG endpoint "{endpoint}" \u2014 try: set a valid URL with /search-endpoint http://host:port',
|
|
1311
1344
|
endpointMustBeHttp: "web_search: SearXNG endpoint must be http(s), got {protocol} \u2014 try: set a valid URL with /search-endpoint http://host:port",
|
|
1312
|
-
cannotReach: "web_search: Cannot reach SearXNG server at {endpoint} \u2014 try: install and start SearXNG (https://github.com/searxng/searxng, e.g. `docker run -d -p 8080:8080 searxng/searxng`), or switch to another engine with /search-engine
|
|
1313
|
-
searxngNoResults: "web_search: 0 results but SearXNG response doesn't look like an empty results page ({chars} chars) \u2014 try: rephrase the query with simpler terms, or switch engine with /search-engine
|
|
1314
|
-
|
|
1345
|
+
cannotReach: "web_search: Cannot reach SearXNG server at {endpoint} \u2014 try: install and start SearXNG (https://github.com/searxng/searxng, e.g. `docker run -d -p 8080:8080 searxng/searxng`), or switch to another engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1346
|
+
searxngNoResults: "web_search: 0 results but SearXNG response doesn't look like an empty results page ({chars} chars) \u2014 try: rephrase the query with simpler terms, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1347
|
+
metasoMissingKey: "web_search: Metaso requires an API key \u2014 set METASO_API_KEY or configure one with /search-engine metaso <key>. Get one at https://metaso.cn/search-api/playground",
|
|
1348
|
+
metasoDailyLimit: "web_search: Metaso daily search limit reached \u2014 set METASO_API_KEY or get a key at https://metaso.cn/search-api/playground",
|
|
1315
1349
|
metasoUnauthorized: "web_search: Metaso API key rejected \u2014 check METASO_API_KEY or get one at https://metaso.cn/search-api/playground",
|
|
1316
1350
|
metasoRateLimit: "web_search: Metaso rate-limited \u2014 wait and retry, or get your own API key at https://metaso.cn/search-api/playground",
|
|
1317
|
-
metasoServerError: "web_search: Metaso server error ({status}) \u2014 try again later, or switch engine with /search-engine
|
|
1351
|
+
metasoServerError: "web_search: Metaso server error ({status}) \u2014 try again later, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1318
1352
|
metasoParseError: "web_search: Metaso returned unparseable response (HTTP {status}) \u2014 try again later",
|
|
1319
1353
|
metasoApiError: "web_search: Metaso API error (code {code}: {message}) \u2014 try again later",
|
|
1320
1354
|
tavilyMissingKey: "web_search: Tavily backend requires an API key \u2014 set TAVILY_API_KEY env var or `tavilyApiKey` in ~/.reasonix/config.json; free 1000/mo signup at https://tavily.com",
|
|
1321
1355
|
tavilyUnauthorized: "web_search: Tavily API key rejected \u2014 check TAVILY_API_KEY or get one at https://tavily.com",
|
|
1322
|
-
tavilyRateLimit: "web_search: Tavily rate-limited or monthly quota exceeded \u2014 wait, switch engine with /search-engine
|
|
1323
|
-
tavilyServerError: "web_search: Tavily server error ({status}) \u2014 try again later, or switch engine with /search-engine
|
|
1356
|
+
tavilyRateLimit: "web_search: Tavily rate-limited or monthly quota exceeded \u2014 wait, switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa, or upgrade your Tavily plan",
|
|
1357
|
+
tavilyServerError: "web_search: Tavily server error ({status}) \u2014 try again later, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1324
1358
|
tavilyParseError: "web_search: Tavily returned unparseable response (HTTP {status}) \u2014 try again later",
|
|
1325
1359
|
perplexityMissingKey: "web_search: Perplexity backend requires an API key \u2014 set PERPLEXITY_API_KEY env var or `perplexityApiKey` in ~/.reasonix/config.json; get one at https://perplexity.ai/settings/api",
|
|
1326
1360
|
perplexityUnauthorized: "web_search: Perplexity API key rejected \u2014 check PERPLEXITY_API_KEY or get one at https://perplexity.ai/settings/api",
|
|
1327
|
-
perplexityRateLimit: "web_search: Perplexity rate-limited \u2014 wait and retry, or switch engine with /search-engine
|
|
1328
|
-
perplexityServerError: "web_search: Perplexity server error ({status}) \u2014 try again later, or switch engine with /search-engine
|
|
1361
|
+
perplexityRateLimit: "web_search: Perplexity rate-limited \u2014 wait and retry, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1362
|
+
perplexityServerError: "web_search: Perplexity server error ({status}) \u2014 try again later, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1329
1363
|
perplexityParseError: "web_search: Perplexity returned unparseable response (HTTP {status}) \u2014 try again later",
|
|
1330
1364
|
exaMissingKey: "web_search: Exa backend requires an API key \u2014 set EXA_API_KEY env var or `exaApiKey` in ~/.reasonix/config.json; free 1000/mo signup at https://exa.ai",
|
|
1331
1365
|
exaUnauthorized: "web_search: Exa API key rejected \u2014 check EXA_API_KEY or get one at https://exa.ai",
|
|
1332
1366
|
exaRateLimit: "web_search: Exa API rate-limited or monthly quota exceeded \u2014 wait or upgrade at https://exa.ai/pricing",
|
|
1333
|
-
exaServerError: "web_search: Exa server error ({status}) \u2014 try again later, or switch engine with /search-engine
|
|
1367
|
+
exaServerError: "web_search: Exa server error ({status}) \u2014 try again later, or switch engine with /search-engine bing|searxng|metaso|tavily|perplexity|exa",
|
|
1334
1368
|
exaParseError: "web_search: Exa returned unparseable response (HTTP {status}) \u2014 try again later",
|
|
1335
1369
|
fetchStatus: "web_fetch {status} for {url} \u2014 try: confirm the URL resolves in a browser; status suggests the host returned an error page",
|
|
1336
1370
|
fetchRateLimit429: "web_fetch 429 for {url} \u2014 try: wait 10s before retrying; the host is rate-limiting this client",
|
|
@@ -1422,19 +1456,6 @@ var EN = {
|
|
|
1422
1456
|
categoryProject: "project",
|
|
1423
1457
|
categoryReference: "reference"
|
|
1424
1458
|
},
|
|
1425
|
-
copyMode: {
|
|
1426
|
-
title: "\u2500\u2500 COPY MODE \u2500\u2500",
|
|
1427
|
-
help: "j/k or \u2191/\u2193 move \xB7 v select \xB7 y yank \xB7 g/G top/bottom \xB7 q quit",
|
|
1428
|
-
statusBar: "line {cur}/{total} \xB7 selection: {sel}",
|
|
1429
|
-
statusYanked: "yanked {size} chars (osc52={osc52})",
|
|
1430
|
-
statusEmpty: "nothing selected",
|
|
1431
|
-
empty: "(no chat content yet \u2014 say something to the model first)",
|
|
1432
|
-
labelUser: "you",
|
|
1433
|
-
labelAssistant: "assistant",
|
|
1434
|
-
labelReasoning: "reasoning",
|
|
1435
|
-
yankedToast: "\u25B8 copied {size} chars to clipboard (osc52)",
|
|
1436
|
-
yankedToastFile: "\u25B8 copied {size} chars \xB7 file: {path}"
|
|
1437
|
-
},
|
|
1438
1459
|
mcpHealth: {
|
|
1439
1460
|
noData: "no inspect data",
|
|
1440
1461
|
healthy: "healthy \xB7 {ms}ms",
|
|
@@ -1503,7 +1524,13 @@ var EN = {
|
|
|
1503
1524
|
noResources: "No resources on any connected MCP server (or no servers connected). `/mcp` shows the current set.",
|
|
1504
1525
|
readOne: "Read one: `/resource <uri>` \u2014 or use Tab in the picker.",
|
|
1505
1526
|
noPrompts: "No prompts on any connected MCP server (or no servers connected). `/mcp` shows the current set.",
|
|
1506
|
-
fetchOne: "Fetch one: `/prompt <name>` \u2014 args are not supported yet; prompts with required args will surface an error from the server."
|
|
1527
|
+
fetchOne: "Fetch one: `/prompt <name>` \u2014 args are not supported yet; prompts with required args will surface an error from the server.",
|
|
1528
|
+
noServerForResource: 'no server exposes resource "{name}"',
|
|
1529
|
+
resourceHint: "`/resource` with no arg lists what's available.",
|
|
1530
|
+
readFailed: "readResource failed",
|
|
1531
|
+
noServerForPrompt: 'no server exposes prompt "{name}"',
|
|
1532
|
+
promptHint: "`/prompt` with no arg lists what's available.",
|
|
1533
|
+
fetchFailed: "getPrompt failed"
|
|
1507
1534
|
},
|
|
1508
1535
|
mcpLifecycle: {
|
|
1509
1536
|
handshake: "handshake\u2026",
|
|
@@ -1516,7 +1543,9 @@ var EN = {
|
|
|
1516
1543
|
disabledDetail: "via /mcp disable {name}",
|
|
1517
1544
|
failedSetupHint: "\u2192 run `reasonix setup` to remove this entry, or fix the underlying issue (missing npm package, network, etc.).",
|
|
1518
1545
|
failedSetupConfigHint: "\u2192 run `reasonix setup` to remove broken entries from your saved config.",
|
|
1519
|
-
abortedHint: "MCP startup aborted \u2014 {count} server(s) skipped. Run /mcp to retry once you've fixed the underlying issue."
|
|
1546
|
+
abortedHint: "MCP startup aborted \u2014 {count} server(s) skipped. Run /mcp to retry once you've fixed the underlying issue.",
|
|
1547
|
+
toolsReady: "tools ready",
|
|
1548
|
+
warnLabel: "warn"
|
|
1520
1549
|
},
|
|
1521
1550
|
checkpointPicker: {
|
|
1522
1551
|
title: "restore a checkpoint \u2014 {workspace}",
|
|
@@ -1562,6 +1591,64 @@ var EN = {
|
|
|
1562
1591
|
noRecords: "no records",
|
|
1563
1592
|
untracked: "(untracked)",
|
|
1564
1593
|
churned: "(churned \xD7{count})"
|
|
1594
|
+
},
|
|
1595
|
+
builtinSkills: {
|
|
1596
|
+
explore: "Explore the codebase in an isolated subagent \u2014 wide-net read-only investigation that returns one distilled answer. Best for: 'find all places that\u2026', 'how does X work across the project', 'survey the code for Y'.",
|
|
1597
|
+
research: "Research a question by combining web search + code reading in an isolated subagent. Best for: 'is X feature supported by lib Y', 'what\u2019s the canonical way to do Z', 'compare our impl against the spec'.",
|
|
1598
|
+
review: "Review the pending changes (current branch diff by default) in an isolated subagent \u2014 flags correctness, security, missing tests, hidden behavior changes; reports verdict + per-issue file:line. Read-only; the parent decides what to act on.",
|
|
1599
|
+
securityReview: "Security-focused review of the current branch diff in an isolated subagent \u2014 flags injection/authz/secrets/deserialization/path-traversal/crypto issues, severity-tagged. Read-only. Use when shipping changes that touch auth, input parsing, file IO, or external requests.",
|
|
1600
|
+
test: "Run the project\u2019s test suite, diagnose failures, propose SEARCH/REPLACE fixes, re-run until green (or stop after 2 fix attempts on the same failure). Inlined \u2014 runs in the parent loop so you see the edit blocks and can /apply them. Detects npm/pnpm/yarn/pytest/go/cargo."
|
|
1601
|
+
},
|
|
1602
|
+
shortcutsHelp: {
|
|
1603
|
+
title: "Shortcuts",
|
|
1604
|
+
groupInput: "Input",
|
|
1605
|
+
groupNavigation: "Navigation",
|
|
1606
|
+
groupSession: "Session",
|
|
1607
|
+
groupSystem: "System",
|
|
1608
|
+
descEnter: "Send message",
|
|
1609
|
+
descShiftEnter: "New line",
|
|
1610
|
+
descCtrlEnter: "New line",
|
|
1611
|
+
descCtrlJ: "New line",
|
|
1612
|
+
descCtrlU: "Clear input",
|
|
1613
|
+
descCtrlW: "Delete word",
|
|
1614
|
+
descCtrlP: "Show/hide shortcuts",
|
|
1615
|
+
descCtrlX: "Open in editor",
|
|
1616
|
+
descArrows: "Input history",
|
|
1617
|
+
descPgUpDown: "Scroll page",
|
|
1618
|
+
descCtrlL: "Clear screen",
|
|
1619
|
+
descCtrlB: "Toggle sidebar",
|
|
1620
|
+
descNewSession: "New session",
|
|
1621
|
+
descListSessions: "List sessions",
|
|
1622
|
+
descSwitchModel: "Switch model",
|
|
1623
|
+
descSwitchPreset: "Switch preset",
|
|
1624
|
+
descSwitchTheme: "Switch theme",
|
|
1625
|
+
descCtrlC: "Quit",
|
|
1626
|
+
descEsc: "Stop / Cancel",
|
|
1627
|
+
descCtrlR: "Toggle verbose",
|
|
1628
|
+
descCtrlO: "Expand reply (streaming only)",
|
|
1629
|
+
descHelp: "Show all commands",
|
|
1630
|
+
descShiftTab: "Switch edit mode"
|
|
1631
|
+
},
|
|
1632
|
+
mcpCli: {
|
|
1633
|
+
bundledCatalog: "Bundled MCP servers (offline catalog):",
|
|
1634
|
+
justFetched: "just fetched",
|
|
1635
|
+
cachedAge: "cached, {age}",
|
|
1636
|
+
moreAvailable: "more available",
|
|
1637
|
+
allLoaded: "all loaded",
|
|
1638
|
+
morePagesAvailable: "\u25B8 more pages available \u2014 `reasonix mcp list --pages <n>` or --all",
|
|
1639
|
+
installHint: "Install: reasonix mcp install <name>",
|
|
1640
|
+
usageSearch: "usage: reasonix mcp search <query>",
|
|
1641
|
+
usageInstall: "usage: reasonix mcp install <name>",
|
|
1642
|
+
noMatchesFor: 'No matches for "{q}" across {count} loaded entries ({source})',
|
|
1643
|
+
matchCount: '{count} match(es) for "{q}" in {source} registry ({loaded} entries scanned):',
|
|
1644
|
+
moreLoaded: "\u2026 {count} more loaded \u2014 use `reasonix mcp search <query>` to filter",
|
|
1645
|
+
moreMatches: "\u2026 {count} more matches",
|
|
1646
|
+
installed: "Installed: {spec}",
|
|
1647
|
+
noServerFound: 'No MCP server named "{target}" found after walking {pages} page(s) of the {source} registry.',
|
|
1648
|
+
noServerTryMore: "Try: reasonix mcp install {target} --max-pages 100",
|
|
1649
|
+
noInstallMeta: 'Could not derive install metadata for "{name}" \u2014 try `npx -y @smithery/cli install {name}` directly.',
|
|
1650
|
+
buildSpecFailed: "Cannot build install spec for {name}: {message}",
|
|
1651
|
+
alreadyInstalled: "Already installed: {spec}"
|
|
1565
1652
|
}
|
|
1566
1653
|
};
|
|
1567
1654
|
|
|
@@ -1608,7 +1695,17 @@ var zhCN = {
|
|
|
1608
1695
|
missingApiKey: "\u672A\u8BBE\u7F6E DEEPSEEK_API_KEY \u4E14\u6807\u51C6\u8F93\u5165\u4E0D\u662F TTY\uFF08\u65E0\u6CD5\u4EA4\u4E92\u5F0F\u8F93\u5165\uFF09\u3002\n\u8BF7\u8BBE\u7F6E\u73AF\u5883\u53D8\u91CF\uFF0C\u6216\u5148\u8FD0\u884C `reasonix chat` \u4EA4\u4E92\u4E00\u6B21\u4EE5\u4FDD\u5B58\u5BC6\u94A5\u3002\n"
|
|
1609
1696
|
},
|
|
1610
1697
|
sessions: {
|
|
1611
|
-
emptyHint: "\u6682\u65E0\u5DF2\u4FDD\u5B58\u7684\u4F1A\u8BDD \u2014 \u8FD0\u884C `reasonix chat`\uFF08\u4F1A\u8BDD\u4F1A\u81EA\u52A8\u4FDD\u5B58\uFF0C\u9664\u975E\u4F7F\u7528\u4E86 --no-session\uFF09\u3002"
|
|
1698
|
+
emptyHint: "\u6682\u65E0\u5DF2\u4FDD\u5B58\u7684\u4F1A\u8BDD \u2014 \u8FD0\u884C `reasonix chat`\uFF08\u4F1A\u8BDD\u4F1A\u81EA\u52A8\u4FDD\u5B58\uFF0C\u9664\u975E\u4F7F\u7528\u4E86 --no-session\uFF09\u3002",
|
|
1699
|
+
listHeader: "\u4FDD\u5B58\u7684\u4F1A\u8BDD (~/.reasonix/sessions/)\uFF1A",
|
|
1700
|
+
inspectHint: "\u67E5\u770B\uFF1Areasonix sessions <name>",
|
|
1701
|
+
resumeHint: "\u6062\u590D\uFF1Areasonix chat --session <name>",
|
|
1702
|
+
noSession: '\u627E\u4E0D\u5230\u4F1A\u8BDD "{name}"\uFF08\u6216\u4E3A\u7A7A\uFF09\u3002',
|
|
1703
|
+
lookedAt: "\u4F4D\u7F6E\uFF1A{path}",
|
|
1704
|
+
noIdleSessions: "\u6CA1\u6709\u95F2\u7F6E \u2265{days} \u5929\u7684\u4F1A\u8BDD\u3002\u65E0\u9700\u6E05\u7406\u3002",
|
|
1705
|
+
wouldPrune: "\u5C06\u6E05\u7406 {count} \u4E2A\u95F2\u7F6E \u2265{days} \u5929\u7684\u4F1A\u8BDD\uFF1A",
|
|
1706
|
+
dryRunHint: "\u53BB\u6389 --dry-run \u53EF\u5B9E\u9645\u6267\u884C\u5220\u9664\u3002",
|
|
1707
|
+
prunedCount: "\u5DF2\u6E05\u7406 {count} \u4E2A\u95F2\u7F6E \u2265{days} \u5929\u7684\u4F1A\u8BDD\uFF1A",
|
|
1708
|
+
daysInvalid: "--days \u5FC5\u987B\u662F\u6B63\u6574\u6570\uFF08\u4F20\u5165\u4E86 {days}\uFF09\u3002"
|
|
1612
1709
|
},
|
|
1613
1710
|
ui: {
|
|
1614
1711
|
welcome: "\u968F\u65F6\u8FD0\u884C `reasonix` \u5F00\u59CB\u804A\u5929 \u2014 \u60A8\u7684\u8BBE\u7F6E\u5C06\u88AB\u8BB0\u4F4F\u3002",
|
|
@@ -1706,10 +1803,6 @@ var zhCN = {
|
|
|
1706
1803
|
title: "\u590D\u5236 / \u7C98\u8D34",
|
|
1707
1804
|
rows: [
|
|
1708
1805
|
{ key: "\u9009\u4E2D\u6587\u5B57", text: "\u76F4\u63A5\u62D6\u52A8 \u2014 \u7EC8\u7AEF\u539F\u751F\uFF08\u4E0D\u9700\u8981\u4EFB\u4F55\u4FEE\u9970\u952E\uFF09" },
|
|
1709
|
-
{
|
|
1710
|
-
key: "/copy",
|
|
1711
|
-
text: "vim/tmux \u98CE\u683C\u590D\u5236\u6A21\u5F0F \u2014 SSH / mosh / tmux \u4E0B\u62D6\u9009\u8D8A\u8FC7\u53EF\u89C6\u533A\u65E0\u6548\u65F6\u7528\u8FD9\u4E2A"
|
|
1712
|
-
},
|
|
1713
1806
|
{
|
|
1714
1807
|
key: "\u590D\u5236",
|
|
1715
1808
|
text: "Ctrl+Shift+C\uFF08Win/Linux\uFF09\xB7 Cmd+C\uFF08macOS\uFF09\u2014 \u6216\u9009\u4E2D\u5373\u590D\u5236\uFF08\u770B\u7EC8\u7AEF\u8BBE\u7F6E\uFF09"
|
|
@@ -1800,9 +1893,6 @@ var zhCN = {
|
|
|
1800
1893
|
},
|
|
1801
1894
|
slash: {
|
|
1802
1895
|
help: { description: "\u663E\u793A\u5B8C\u6574\u547D\u4EE4\u53C2\u8003" },
|
|
1803
|
-
copy: {
|
|
1804
|
-
description: "\u8FDB\u5165 vim/tmux \u98CE\u683C\u590D\u5236\u6A21\u5F0F \u2014 j/k \u79FB\u52A8\u3001v \u8D77\u9009\u533A\u3001y \u590D\u5236\u5230\u526A\u8D34\u677F"
|
|
1805
|
-
},
|
|
1806
1896
|
status: { description: "\u5F53\u524D\u6A21\u578B\u3001\u6807\u5FD7\u3001\u4E0A\u4E0B\u6587\u3001\u4F1A\u8BDD" },
|
|
1807
1897
|
preset: {
|
|
1808
1898
|
description: "\u6A21\u578B\u7EC4\u5408 \u2014 \u81EA\u52A8\u5728 flash \u2192 pro \u4E4B\u95F4\u5207\u6362\uFF0C\u6216\u9501\u5B9A flash/pro",
|
|
@@ -1958,8 +2048,8 @@ var zhCN = {
|
|
|
1958
2048
|
argsHint: "<question>"
|
|
1959
2049
|
},
|
|
1960
2050
|
"search-engine": {
|
|
1961
|
-
description: "\u5207\u6362\u7F51\u7EDC\u641C\u7D22\u540E\u7AEF \u2014
|
|
1962
|
-
argsHint: "<
|
|
2051
|
+
description: "\u5207\u6362\u7F51\u7EDC\u641C\u7D22\u540E\u7AEF \u2014 bing\uFF08\u9ED8\u8BA4\uFF0C\u56FD\u5185\u88F8 IP \u76F4\u8FDE\uFF09\u3001searxng\uFF08\u81EA\u6258\u7BA1\uFF09\u3001metaso\uFF08\u6BCF\u65E5 100 \u6B21\uFF09\u3001tavily\uFF08\u6BCF\u6708 1000 \u6B21\u514D\u8D39\uFF09\u3001perplexity\uFF08AI \u76F4\u63A5\u56DE\u7B54\uFF09\u6216 exa\uFF08AI \u76F4\u63A5\u56DE\u7B54\uFF09",
|
|
2052
|
+
argsHint: "<bing|searxng|metaso|tavily|perplexity|exa> [<key>]"
|
|
1963
2053
|
}
|
|
1964
2054
|
},
|
|
1965
2055
|
wizard: {
|
|
@@ -2122,6 +2212,8 @@ var zhCN = {
|
|
|
2122
2212
|
verboseOn: "\u25B8 \u8BE6\u7EC6\u6A21\u5F0F\u5DF2\u5F00 \u2014 \u663E\u793A\u5B8C\u6574\u63A8\u7406 + \u5DE5\u5177\u8F93\u51FA",
|
|
2123
2213
|
verboseOff: "\u25B8 \u8BE6\u7EC6\u6A21\u5F0F\u5DF2\u5173 \u2014 \u6062\u590D\u5934\u5C3E\u7701\u7565",
|
|
2124
2214
|
commandFailed: "! \u547D\u4EE4\u5931\u8D25",
|
|
2215
|
+
steerInjected: "\u25B8 \u5DF2\u52A0\u5165\u5F15\u5BFC\u961F\u5217 \u2014 \u5C06\u5728\u5F53\u524D\u6B65\u9AA4\u540E\u6CE8\u5165",
|
|
2216
|
+
steerCommandRejected: "\u25B8 \u5F53\u524D\u8F6E\u6B21\u5FD9\u788C\u65F6\u4E0D\u80FD\u63D0\u4EA4\u547D\u4EE4\uFF0C\u53EA\u80FD\u8F93\u5165\u666E\u901A\u5F15\u5BFC\u6D88\u606F",
|
|
2125
2217
|
btwUsage: "\u25B8 /btw <\u95EE\u9898> \u2014 \u987A\u4FBF\u95EE\u4E2A\u9898\u5916\u8BDD\uFF0C\u4E0D\u4F1A\u5199\u5165\u5F53\u524D\u4F1A\u8BDD\u4E0A\u4E0B\u6587\u3002",
|
|
2126
2218
|
btwHeader: "\u226B btw",
|
|
2127
2219
|
btwFailed: "/btw \u8C03\u7528\u5931\u8D25",
|
|
@@ -2165,7 +2257,11 @@ var zhCN = {
|
|
|
2165
2257
|
editHistoryHelpShow: "/show <id> \u2192 \u6587\u4EF6\u6458\u8981 \xB7 /show <id> <path> \u2192 \u67D0\u4E2A\u6587\u4EF6\u7684\u5B8C\u6574 diff",
|
|
2166
2258
|
editHistoryHelpUndo: "/undo \u2192 \u6700\u65B0\u7684\u672A\u64A4\u9500\u9879 \xB7 /undo <id> [path] \u2192 \u6307\u5B9A\u6279\u6B21\u6216\u6587\u4EF6",
|
|
2167
2259
|
editHistoryAlreadyReverted: "\uFF08\u5DF2\u64A4\u9500 \u2014 /history \u663E\u793A\u6279\u6B21\u7EA7\u72B6\u6001\uFF09",
|
|
2168
|
-
editHistoryRevertFile: "/undo {id} {path} \u2192 \u4EC5\u8FD8\u539F\u6B64\u6587\u4EF6"
|
|
2260
|
+
editHistoryRevertFile: "/undo {id} {path} \u2192 \u4EC5\u8FD8\u539F\u6B64\u6587\u4EF6",
|
|
2261
|
+
mcpFailed: "MCP {name} \u5931\u8D25",
|
|
2262
|
+
mcpWarn: "MCP {name} \u8B66\u544A",
|
|
2263
|
+
unknownTheme: "\u672A\u77E5\u4E3B\u9898\uFF1A{name}\n\u53EF\u7528\u4E3B\u9898\uFF1A{choices}",
|
|
2264
|
+
themeSaved: "\u4E3B\u9898\u5DF2\u4FDD\u5B58\uFF1A{name}\n\u4E0B\u6B21\u542F\u52A8\u751F\u6548\uFF1A{active}"
|
|
2169
2265
|
},
|
|
2170
2266
|
hooks: {
|
|
2171
2267
|
head: "\u94A9\u5B50 {tag} `{cmd}` {decision}{truncTag}",
|
|
@@ -2188,9 +2284,9 @@ var zhCN = {
|
|
|
2188
2284
|
abortedAtIter: "\u5728\u7B2C {iter} \u6B21\u5DE5\u5177\u8C03\u7528\u5904\u4E2D\u65AD \u2014 \u672A\u751F\u6210\u603B\u7ED3\u5373\u505C\u6B62\uFF08\u6309 \u2191 + Enter \u6216 /retry \u6062\u590D\uFF09",
|
|
2189
2285
|
toolUploadStatus: "\u5DE5\u5177\u7ED3\u679C\u5DF2\u4E0A\u4F20 \xB7 \u6A21\u578B\u5728\u751F\u6210\u4E0B\u4E00\u6761\u54CD\u5E94\u524D\u601D\u8003\u4E2D\u2026",
|
|
2190
2286
|
preflightTruncateStatus: "\u9884\u68C0\uFF1A\u4E0A\u4E0B\u6587\u63A5\u8FD1\u4E0A\u9650\uFF0C\u6B63\u5728\u88C1\u526A\u6700\u65E9\u5386\u53F2\u2026",
|
|
2191
|
-
preflightTruncated: "\u9884\u68C0\uFF1A\u8BF7\u6C42\u7EA6 {estimate}/{ctxMax} tokens\uFF08{pct}%\uFF09\u2014 \u5DF2\u88C1\u526A {beforeMessages} \u6761\u6D88\u606F \u2192 {afterMessages}\u3002\u53D1\u9001\u4E2D\u3002",
|
|
2192
|
-
preflightTruncatedStillFull: "\u9884\u68C0\uFF1A\u88C1\u526A {beforeMessages} \u6761\u6D88\u606F \u2192 {afterMessages} \u540E\uFF0C\u8BF7\u6C42\u4ECD\u7EA6 {estimate}/{ctxMax} tokens\uFF08{pct}%\uFF09\u2014 DeepSeek \u5927\u6982\u7387\u4F1A\u8FD4\u56DE 400\u3002\u8BF7\u8FD0\u884C /clear \u6216 /new \u91CD\u65B0\u5F00\u59CB\u3002",
|
|
2193
|
-
preflightNoFold: "\u9884\u68C0\uFF1A\u8BF7\u6C42\u7EA6 {estimate}/{ctxMax} tokens\uFF08{pct}%\uFF09\u4E14\u6CA1\u6709\u53EF\u88C1\u526A\u7684\u5185\u5BB9 \u2014 DeepSeek \u5927\u6982\u7387\u4F1A\u8FD4\u56DE 400\u3002\u8BF7\u8FD0\u884C /clear \u6216 /new \u91CD\u65B0\u5F00\u59CB\u3002",
|
|
2287
|
+
preflightTruncated: "\u9884\u68C0\uFF1A\u8BF7\u6C42\u7EA6 {estimate}/{ctxMax} tokens\uFF08{pct}%\uFF09\xB7 body {bodyKB} KB \u2014 \u5DF2\u88C1\u526A {beforeMessages} \u6761\u6D88\u606F \u2192 {afterMessages}\u3002\u53D1\u9001\u4E2D\u3002",
|
|
2288
|
+
preflightTruncatedStillFull: "\u9884\u68C0\uFF1A\u88C1\u526A {beforeMessages} \u6761\u6D88\u606F \u2192 {afterMessages} \u540E\uFF0C\u8BF7\u6C42\u4ECD\u7EA6 {estimate}/{ctxMax} tokens\uFF08{pct}%\uFF09\xB7 body {bodyKB} KB \u2014 DeepSeek \u5927\u6982\u7387\u4F1A\u8FD4\u56DE 400\u3002\u8BF7\u8FD0\u884C /clear \u6216 /new \u91CD\u65B0\u5F00\u59CB\u3002",
|
|
2289
|
+
preflightNoFold: "\u9884\u68C0\uFF1A\u8BF7\u6C42\u7EA6 {estimate}/{ctxMax} tokens\uFF08{pct}%\uFF09\xB7 body {bodyKB} KB \u4E14\u6CA1\u6709\u53EF\u88C1\u526A\u7684\u5185\u5BB9 \u2014 DeepSeek \u5927\u6982\u7387\u4F1A\u8FD4\u56DE 400\u3002\u8BF7\u8FD0\u884C /clear \u6216 /new \u91CD\u65B0\u5F00\u59CB\u3002",
|
|
2194
2290
|
flashEscalation: "\u21E7 flash \u8BF7\u6C42\u5347\u7EA7 \u2014 \u672C\u8F6E\u6539\u7528 {model}{reasonSuffix}",
|
|
2195
2291
|
harvestStatus: "\u6B63\u5728\u4ECE\u63A8\u7406\u8FC7\u7A0B\u63D0\u53D6\u8BA1\u5212\u72B6\u6001\u2026",
|
|
2196
2292
|
repeatToolCallWarning: "\u62E6\u622A\u5230\u91CD\u590D\u5DE5\u5177\u8C03\u7528 \u2014 \u8BA9\u6A21\u578B\u5BDF\u89C9\u95EE\u9898\u5E76\u6362\u79CD\u65B9\u5F0F\u91CD\u8BD5\u3002",
|
|
@@ -2209,6 +2305,7 @@ var zhCN = {
|
|
|
2209
2305
|
balance402: "\u4F59\u989D\u4E0D\u8DB3\uFF08DeepSeek 402\uFF09\uFF1A{inner}\u3002\u5728 https://platform.deepseek.com/top_up \u5145\u503C \u2014 \u4F59\u989D\u975E\u96F6\u65F6\u9762\u677F\u9876\u680F\u4F1A\u663E\u793A\u3002",
|
|
2210
2306
|
badparam422: "\u53C2\u6570\u9519\u8BEF\uFF08DeepSeek 422\uFF09\uFF1A{inner}",
|
|
2211
2307
|
badrequest400: "\u8BF7\u6C42\u9519\u8BEF\uFF08DeepSeek 400\uFF09\uFF1A{inner}",
|
|
2308
|
+
concurrency429: "DeepSeek \u5E76\u53D1\u8D85\u9650\uFF08429\uFF09\uFF1A{inner}\u3002\u8D26\u53F7\u5728\u8DD1\u7684\u8BF7\u6C42\u8D85\u8FC7\u4E0A\u9650\uFF08v4-pro 500\u3001v4-flash 2500\uFF0C\u8D26\u53F7\u4E0B\u6240\u6709 API key \u7D2F\u52A0\uFF09\u3002\u901A\u5E38\u662F\u540C\u4E00\u8D26\u53F7\u5F00\u4E86\u591A\u4E2A Reasonix \u8FDB\u7A0B\uFF0C\u6216\u8005\u5E76\u884C subagent \u4E00\u6B21\u53D1\u592A\u591A\u3002\u7B49\u51E0\u79D2\u91CD\u8BD5\u3001\u51CF\u5C11\u5E76\u884C\uFF0C\u6216\u5728 https://platform.deepseek.com \u7533\u8BF7\u6269\u5BB9\u3002",
|
|
2212
2309
|
deepseek5xxHead: "DeepSeek \u670D\u52A1\u4E0D\u53EF\u7528\uFF08{status}\uFF09 \u2014 \u8FD9\u662F DeepSeek \u670D\u52A1\u7AEF\u95EE\u9898\uFF0C\u4E0D\u662F Reasonix \u6545\u969C\u3002\u5DF2\u6309\u6307\u6570\u9000\u907F\u91CD\u8BD5 4 \u6B21\u3002",
|
|
2213
2310
|
deepseek5xxReachable: " DeepSeek \u4E3B API \u5065\u5EB7\u68C0\u67E5\u901A\u8FC7\uFF0C\u4F46 /chat/completions \u5728\u6302 \u2014 \u4ED6\u4EEC\u90A3\u8FB9\u90E8\u5206\u670D\u52A1\u5F02\u5E38\u3002",
|
|
2214
2311
|
deepseek5xxUnreachable: " \u65E0\u6CD5\u4ECE\u4F60\u7684\u7F51\u7EDC\u8BBF\u95EE DeepSeek API \u2014 \u53EF\u80FD\u662F DS \u6574\u4F53\u6545\u969C\uFF0C\u4E5F\u53EF\u80FD\u662F\u672C\u5730\u7F51\u7EDC\u95EE\u9898\u3002",
|
|
@@ -2477,6 +2574,12 @@ var zhCN = {
|
|
|
2477
2574
|
statusMcp: " MCP {servers} \u4E2A\u670D\u52A1\u5668\uFF0C\u6CE8\u518C\u8868\u4E2D {tools} \u4E2A\u5DE5\u5177",
|
|
2478
2575
|
statusEdits: " \u7F16\u8F91 {count} \u4E2A\u5F85\u5904\u7406\uFF08/apply \u63D0\u4EA4\uFF0C/discard \u4E22\u5F03\uFF09",
|
|
2479
2576
|
statusPlan: " \u8BA1\u5212 \u5F00\u542F \u2014 \u5199\u5165\u53D7\u9650\uFF08submit_plan + \u5BA1\u6279\uFF09",
|
|
2577
|
+
statusLifecycle: " \u751F\u547D\u5468\u671F {mode}/{state} \xB7 {progress}{evidence}",
|
|
2578
|
+
lifecycleNoPlan: "\u6682\u65E0\u8BA1\u5212",
|
|
2579
|
+
lifecycleEvidencePending: "\u7B49\u5F85 evidence",
|
|
2580
|
+
lifecycleRejected: "lifecycle\uFF1A{tool} \u5728 {state} \u72B6\u6001\u88AB\u62E6\u622A \u2014 \u4E0B\u4E00\u6B65\uFF1A{next}",
|
|
2581
|
+
lifecycleEvidenceRejected: "lifecycle\uFF1A\u6B65\u9AA4 {stepId} \u9700\u8981 evidence \u2014 \u4E0B\u4E00\u6B65\uFF1A{next}",
|
|
2582
|
+
lifecycleRepeatedRejected: "lifecycle\uFF1A{tool} \u88AB\u91CD\u590D\u62E6\u622A \u2014 \u4E0D\u8981\u7528\u76F8\u540C\u53C2\u6570\u53CD\u590D\u91CD\u8BD5",
|
|
2480
2583
|
statusModeYolo: " \u6A21\u5F0F YOLO \u2014 \u7F16\u8F91 + shell \u81EA\u52A8\u8FD0\u884C\uFF0C\u65E0\u63D0\u793A\uFF08/undo \u4ECD\u53EF\u56DE\u6EDA \xB7 Shift+Tab \u5207\u6362\uFF09",
|
|
2481
2584
|
statusModeAuto: " \u6A21\u5F0F AUTO \u2014 \u7F16\u8F91\u7ACB\u5373\u5E94\u7528\uFF085 \u79D2\u5185\u6309 u \u64A4\u6D88 \xB7 Shift+Tab \u5207\u6362\uFF09",
|
|
2482
2585
|
statusModeReview: " \u6A21\u5F0F review \u2014 \u7F16\u8F91\u6392\u961F\u7B49\u5F85 /apply \u6216 y\uFF08Shift+Tab \u5207\u6362\uFF09",
|
|
@@ -2488,6 +2591,9 @@ var zhCN = {
|
|
|
2488
2591
|
activeNone: "\u25B8 \u6D3B\u8DC3\u8BA1\u5212\uFF1A\uFF08\u65E0\uFF09",
|
|
2489
2592
|
noArchives: "\u6B64\u4F1A\u8BDD\u5C1A\u65E0\u5F52\u6863\u8BA1\u5212 \u2014 \u5F53\u6BCF\u4E2A\u6B65\u9AA4\u5B8C\u6210\u65F6\u81EA\u52A8\u5F52\u6863",
|
|
2490
2593
|
archivedHeader: "\u5DF2\u5F52\u6863\uFF08{count}\uFF09\uFF1A",
|
|
2594
|
+
evidencePending: " ! \u7B49\u5F85 evidence \u2014 \u5F53\u524D\u6B65\u9AA4\u9700\u8981 verification/diff/checkpoint/manual evidence",
|
|
2595
|
+
evidenceLine: " evidence {stepId}: {summary}",
|
|
2596
|
+
archivedEvidenceLine: " evidence: {summary}",
|
|
2491
2597
|
replayNoSession: "\u672A\u9644\u52A0\u4F1A\u8BDD \u2014 `/replay` \u662F\u6309\u4F1A\u8BDD\u7684\u3002\u5728\u9879\u76EE\u4E2D\u8FD0\u884C `reasonix code` \u4EE5\u83B7\u53D6\u4F1A\u8BDD\u3002",
|
|
2492
2598
|
replayNoArchives: "\u6B64\u4F1A\u8BDD\u5C1A\u65E0\u5F52\u6863\u8BA1\u5212 \u2014 `/replay` \u5728\u8BA1\u5212\u5B8C\u6210\u540E\u542F\u7528\uFF08\u6BCF\u4E2A\u6B65\u9AA4\u5B8C\u6210\u65F6\u81EA\u52A8\u5F52\u6863\uFF09\u3002",
|
|
2493
2599
|
replayInvalidIndex: "\u65E0\u6548\u7D22\u5F15 \u2014 `/replay` \u63A5\u53D7 1..{max}\uFF08\u6700\u65B0 = 1\uFF09\u3002\u4F7F\u7528 `/plans` \u67E5\u770B\u5217\u8868\u3002",
|
|
@@ -2582,7 +2688,7 @@ var zhCN = {
|
|
|
2582
2688
|
currentEngine: "\u5F53\u524D\u7F51\u9875\u641C\u7D22\u5F15\u64CE\uFF1A{engine}",
|
|
2583
2689
|
endpoint: "SearXNG \u7AEF\u70B9\uFF1A{url}",
|
|
2584
2690
|
usageHeader: "\u7528\u6CD5\uFF1A",
|
|
2585
|
-
|
|
2691
|
+
usageBing: " /search-engine bing \u4F7F\u7528 Bing\uFF08\u9ED8\u8BA4\uFF0C\u56FD\u5185\u88F8 IP \u76F4\u8FDE\uFF0C\u65E0\u9700\u4EE3\u7406\uFF09",
|
|
2586
2692
|
usageSearxng: " /search-engine searxng \u4F7F\u7528 SearXNG \u9ED8\u8BA4\u7AEF\u70B9",
|
|
2587
2693
|
usageSearxngUrl: " /search-engine searxng <url> \u4F7F\u7528 SearXNG \u81EA\u5B9A\u4E49\u7AEF\u70B9",
|
|
2588
2694
|
usageMetaso: " /search-engine metaso \u4F7F\u7528 Metaso API\uFF08\u6BCF\u5929 100 \u6B21\u514D\u8D39\uFF0C\u914D\u7F6E\u4F60\u81EA\u5DF1\u7684 API \u5BC6\u94A5\u53EF\u63D0\u5347\u9650\u989D\uFF09",
|
|
@@ -2647,7 +2753,8 @@ var zhCN = {
|
|
|
2647
2753
|
evt: " \u4E8B\u4EF6",
|
|
2648
2754
|
editsLabel: "\u7F16\u8F91:",
|
|
2649
2755
|
mcpLoading: "MCP",
|
|
2650
|
-
ctx: "\u4E0A\u4E0B\u6587"
|
|
2756
|
+
ctx: "\u4E0A\u4E0B\u6587",
|
|
2757
|
+
shortcutsHint: "Ctrl+P \u5FEB\u6377\u952E"
|
|
2651
2758
|
},
|
|
2652
2759
|
editMode: {
|
|
2653
2760
|
plan: "\u8BA1\u5212",
|
|
@@ -2677,7 +2784,9 @@ var zhCN = {
|
|
|
2677
2784
|
editorFailed: "\u5916\u90E8\u7F16\u8F91\u5668\uFF1A",
|
|
2678
2785
|
editorMissing: "\u672A\u8BBE\u7F6E $EDITOR / $VISUAL / $GIT_EDITOR \u2014 \u8BF7\u5BFC\u51FA\u73AF\u5883\u53D8\u91CF\uFF08\u4F8B\u5982 `export EDITOR=nano`\uFF09\u540E\u91CD\u8BD5",
|
|
2679
2786
|
editorExited: "\u7F16\u8F91\u5668\u5F02\u5E38\u9000\u51FA\uFF0C\u8FD4\u56DE\u7801 {code}",
|
|
2680
|
-
typeaheadStaged: "\u25B8 {count} \u884C\u5DF2\u6682\u5B58 \xB7 esc \u53EC\u56DE"
|
|
2787
|
+
typeaheadStaged: "\u25B8 {count} \u884C\u5DF2\u6682\u5B58 \xB7 esc \u53EC\u56DE",
|
|
2788
|
+
steerPlaceholder: "\u8F93\u5165\u6D88\u606F\u4EE5\u5F15\u5BFC\u5F53\u524D\u4EFB\u52A1 \u2014 \u5FD9\u788C\u65F6\u4E0D\u652F\u6301\u547D\u4EE4",
|
|
2789
|
+
steerHint: "\u53D1\u9001 \u2014 \u56DE\u5408\u5185\u6CE8\u5165"
|
|
2681
2790
|
},
|
|
2682
2791
|
pathConfirm: {
|
|
2683
2792
|
title: "\u6C99\u7BB1\u5916\u8DEF\u5F84",
|
|
@@ -2696,7 +2805,13 @@ var zhCN = {
|
|
|
2696
2805
|
denyDesc: "\u6309 Tab \u6DFB\u52A0\u8BF4\u660E\uFF0C\u544A\u8BC9\u6A21\u578B\u539F\u56E0",
|
|
2697
2806
|
pathLabel: "\u8DEF\u5F84",
|
|
2698
2807
|
sandboxLabel: "\u6C99\u7BB1",
|
|
2699
|
-
allowPrefixLabel: "\u524D\u7F00"
|
|
2808
|
+
allowPrefixLabel: "\u524D\u7F00",
|
|
2809
|
+
promptTitleRead: "\u8BBF\u95EE\u8DEF\u5F84 \u2014 \u8BFB\u53D6",
|
|
2810
|
+
promptTitleWrite: "\u8BBF\u95EE\u8DEF\u5F84 \u2014 \u5199\u5165",
|
|
2811
|
+
actionAllowRead: "\u5141\u8BB8\u8BFB\u53D6",
|
|
2812
|
+
actionAllowWrite: "\u5141\u8BB8\u5199\u5165",
|
|
2813
|
+
actionAlwaysAllow: "\u59CB\u7EC8\u5141\u8BB8 \u2014 {prefix}",
|
|
2814
|
+
actionDeny: "\u62D2\u7EDD"
|
|
2700
2815
|
},
|
|
2701
2816
|
shellConfirm: {
|
|
2702
2817
|
title: "Shell \u547D\u4EE4",
|
|
@@ -2718,7 +2833,12 @@ var zhCN = {
|
|
|
2718
2833
|
timeoutLabel: "\u8D85\u65F6",
|
|
2719
2834
|
waitLabel: "\u7B49\u5F85",
|
|
2720
2835
|
previewMore: "\u2026 \u8FD8\u6709 {n} \u884C\u672A\u663E\u793A \u2014 \u6309 esc \u53D6\u6D88\uFF0C\u8BA9\u6A21\u578B\u62C6\u5206\u540E\u518D\u8BD5",
|
|
2721
|
-
previewMorePlural: "\u2026 \u8FD8\u6709 {n} \u884C\u672A\u663E\u793A \u2014 \u6309 esc \u53D6\u6D88\uFF0C\u8BA9\u6A21\u578B\u62C6\u5206\u540E\u518D\u8BD5"
|
|
2836
|
+
previewMorePlural: "\u2026 \u8FD8\u6709 {n} \u884C\u672A\u663E\u793A \u2014 \u6309 esc \u53D6\u6D88\uFF0C\u8BA9\u6A21\u578B\u62C6\u5206\u540E\u518D\u8BD5",
|
|
2837
|
+
promptTitleRunCommand: "\u8FD0\u884C\u547D\u4EE4",
|
|
2838
|
+
promptTitleRunBackground: "\u8FD0\u884C\u540E\u53F0\u547D\u4EE4",
|
|
2839
|
+
actionRunOnce: "\u8FD0\u884C\u4E00\u6B21",
|
|
2840
|
+
actionAlwaysAllow: "\u59CB\u7EC8\u5141\u8BB8 \u2014 {prefix}",
|
|
2841
|
+
actionDeny: "\u62D2\u7EDD"
|
|
2722
2842
|
},
|
|
2723
2843
|
editConfirm: {
|
|
2724
2844
|
footer: "[y/Enter] \u5E94\u7528 \xB7 [n] \u62D2\u7EDD\u5E76\u8BF4\u660E \xB7 [a] \u5E94\u7528\u5269\u4F59 \xB7 [A] \u5207\u6362 AUTO \xB7 [\u2191\u2193/Space] \u6EDA\u52A8 \xB7 [Esc] \u4E2D\u6B62",
|
|
@@ -2859,36 +2979,37 @@ var zhCN = {
|
|
|
2859
2979
|
probeFailed: "\u63A2\u6D4B\u5931\u8D25 \u2014 {message}"
|
|
2860
2980
|
},
|
|
2861
2981
|
webErrors: {
|
|
2862
|
-
status: "web_search {status} \u2014 try: \u641C\u7D22\u540E\u7AEF\u8FD4\u56DE\u9519\u8BEF\uFF1B\u8BF7\u6539\u5199\u67E5\u8BE2\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
2982
|
+
status: "web_search {status} \u2014 try: \u641C\u7D22\u540E\u7AEF\u8FD4\u56DE\u9519\u8BEF\uFF1B\u8BF7\u6539\u5199\u67E5\u8BE2\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2863
2983
|
rateLimit429: "web_search 429 \u2014 try: \u7B49\u5F85 10 \u79D2\u540E\u91CD\u8BD5\uFF0C\u6216\u6539\u5199\u67E5\u8BE2\uFF1B\u641C\u7D22\u540E\u7AEF\u6B63\u5728\u5BF9\u8BE5\u5BA2\u6237\u7AEF\u8FDB\u884C\u9650\u6D41",
|
|
2864
|
-
forbidden403: "web_search 403 \u2014 try: \u641C\u7D22\u540E\u7AEF\u62D2\u7EDD\u8BE5\u5BA2\u6237\u7AEF\u8BBF\u95EE\uFF1B\u4F7F\u7528 /search-engine
|
|
2984
|
+
forbidden403: "web_search 403 \u2014 try: \u641C\u7D22\u540E\u7AEF\u62D2\u7EDD\u8BE5\u5BA2\u6237\u7AEF\u8BBF\u95EE\uFF1B\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE\uFF0C\u6216\u7A0D\u540E\u91CD\u8BD5",
|
|
2865
2985
|
serverError5xx: "web_search {status} \u2014 try: \u5728\u6D4F\u89C8\u5668\u4E2D\u6253\u5F00\u641C\u7D22 URL\uFF1B\u82E5\u80FD\u52A0\u8F7D\u5219\u5C5E\u4E34\u65F6\u6545\u969C\uFF0C\u7B49 30 \u79D2\u91CD\u8BD5\u5373\u53EF",
|
|
2866
|
-
|
|
2867
|
-
|
|
2986
|
+
bingBlocked: "web_search: Bing \u53CD\u722C\u9875\u9762 \u2014 \u9891\u7387\u9650\u5236\u6216\u88AB\u5C4F\u853D \u2014 try: \u7B49\u5F85 30 \u79D2\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2987
|
+
bingNoResults: "web_search: \u8FD4\u56DE 0 \u6761\u7ED3\u679C\u4F46\u54CD\u5E94\u770B\u8D77\u6765\u4E0D\u662F\u6B63\u5E38\u7A7A\u7ED3\u679C\u9875\uFF08{chars} \u5B57\u7B26\uFF0C\u524D 120 \u5B57\u7B26\uFF1A{preview}\uFF09\u2014 try: \u4F7F\u7528\u66F4\u7B80\u5355\u7684\u5173\u952E\u8BCD\u6539\u5199\u67E5\u8BE2\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2868
2988
|
invalidEndpoint: 'web_search: \u65E0\u6548\u7684 SearXNG \u7AEF\u70B9 "{endpoint}" \u2014 try: \u4F7F\u7528 /search-endpoint http://host:port \u8BBE\u7F6E\u6709\u6548\u7684 URL',
|
|
2869
2989
|
endpointMustBeHttp: "web_search: SearXNG \u7AEF\u70B9\u5FC5\u987B\u662F http(s) \u534F\u8BAE\uFF0C\u5F53\u524D\u4E3A {protocol} \u2014 try: \u4F7F\u7528 /search-endpoint http://host:port \u8BBE\u7F6E\u6709\u6548\u7684 URL",
|
|
2870
|
-
cannotReach: "web_search: \u65E0\u6CD5\u8BBF\u95EE SearXNG \u670D\u52A1\u5668 {endpoint} \u2014 try: \u5B89\u88C5\u5E76\u542F\u52A8 SearXNG\uFF08https://github.com/searxng/searxng\uFF0C\u4F8B\u5982 `docker run -d -p 8080:8080 searxng/searxng`\uFF09\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
2871
|
-
searxngNoResults: "web_search: \u8FD4\u56DE 0 \u6761\u7ED3\u679C\u4F46 SearXNG \u54CD\u5E94\u770B\u8D77\u6765\u4E0D\u662F\u6B63\u5E38\u7A7A\u7ED3\u679C\u9875\uFF08{chars} \u5B57\u7B26\uFF09\u2014 try: \u4F7F\u7528\u66F4\u7B80\u5355\u7684\u5173\u952E\u8BCD\u6539\u5199\u67E5\u8BE2\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
2872
|
-
|
|
2990
|
+
cannotReach: "web_search: \u65E0\u6CD5\u8BBF\u95EE SearXNG \u670D\u52A1\u5668 {endpoint} \u2014 try: \u5B89\u88C5\u5E76\u542F\u52A8 SearXNG\uFF08https://github.com/searxng/searxng\uFF0C\u4F8B\u5982 `docker run -d -p 8080:8080 searxng/searxng`\uFF09\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2991
|
+
searxngNoResults: "web_search: \u8FD4\u56DE 0 \u6761\u7ED3\u679C\u4F46 SearXNG \u54CD\u5E94\u770B\u8D77\u6765\u4E0D\u662F\u6B63\u5E38\u7A7A\u7ED3\u679C\u9875\uFF08{chars} \u5B57\u7B26\uFF09\u2014 try: \u4F7F\u7528\u66F4\u7B80\u5355\u7684\u5173\u952E\u8BCD\u6539\u5199\u67E5\u8BE2\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2992
|
+
metasoMissingKey: "web_search: Metaso \u9700\u8981 API \u5BC6\u94A5 \u2014 \u8BBE\u7F6E METASO_API_KEY\uFF0C\u6216\u4F7F\u7528 /search-engine metaso <key> \u914D\u7F6E\uFF1B\u53EF\u5728 https://metaso.cn/search-api/playground \u83B7\u53D6\u5BC6\u94A5",
|
|
2993
|
+
metasoDailyLimit: "web_search: Metaso \u6BCF\u65E5\u641C\u7D22\u6B21\u6570\u5DF2\u8FBE\u4E0A\u9650 \u2014 \u8BBE\u7F6E METASO_API_KEY\uFF0C\u6216\u5728 https://metaso.cn/search-api/playground \u83B7\u53D6\u5BC6\u94A5",
|
|
2873
2994
|
metasoUnauthorized: "web_search: Metaso API \u5BC6\u94A5\u88AB\u62D2\u7EDD \u2014 \u68C0\u67E5 METASO_API_KEY\uFF0C\u6216\u5728 https://metaso.cn/search-api/playground \u83B7\u53D6\u5BC6\u94A5",
|
|
2874
2995
|
metasoRateLimit: "web_search: Metaso \u8BF7\u6C42\u9891\u7387\u9650\u5236 \u2014 \u7B49\u5F85\u540E\u91CD\u8BD5\uFF0C\u6216\u5728 https://metaso.cn/search-api/playground \u83B7\u53D6\u81EA\u5DF1\u7684\u5BC6\u94A5",
|
|
2875
|
-
metasoServerError: "web_search: Metaso \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
2996
|
+
metasoServerError: "web_search: Metaso \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2876
2997
|
metasoParseError: "web_search: Metaso \u8FD4\u56DE\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\uFF08HTTP {status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5",
|
|
2877
2998
|
metasoApiError: "web_search: Metaso API \u9519\u8BEF\uFF08code {code}: {message}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5",
|
|
2878
2999
|
tavilyMissingKey: "web_search: Tavily \u540E\u7AEF\u9700\u8981 API \u5BC6\u94A5 \u2014 \u8BBE\u7F6E TAVILY_API_KEY \u73AF\u5883\u53D8\u91CF\uFF0C\u6216\u5728 ~/.reasonix/config.json \u4E2D\u914D\u7F6E `tavilyApiKey`\uFF1Bhttps://tavily.com \u6BCF\u6708 1000 \u6B21\u514D\u8D39",
|
|
2879
3000
|
tavilyUnauthorized: "web_search: Tavily API \u5BC6\u94A5\u88AB\u62D2\u7EDD \u2014 \u68C0\u67E5 TAVILY_API_KEY\uFF0C\u6216\u5728 https://tavily.com \u83B7\u53D6\u5BC6\u94A5",
|
|
2880
|
-
tavilyRateLimit: "web_search: Tavily \u8BF7\u6C42\u9891\u7387\u9650\u5236\u6216\u6708\u5EA6\u914D\u989D\u7528\u5C3D \u2014 \u7B49\u5F85\u3001\u7528 /search-engine
|
|
2881
|
-
tavilyServerError: "web_search: Tavily \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
3001
|
+
tavilyRateLimit: "web_search: Tavily \u8BF7\u6C42\u9891\u7387\u9650\u5236\u6216\u6708\u5EA6\u914D\u989D\u7528\u5C3D \u2014 \u7B49\u5F85\u3001\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE\uFF0C\u6216\u5347\u7EA7 Tavily \u8BA1\u5212",
|
|
3002
|
+
tavilyServerError: "web_search: Tavily \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2882
3003
|
tavilyParseError: "web_search: Tavily \u8FD4\u56DE\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\uFF08HTTP {status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5",
|
|
2883
3004
|
perplexityMissingKey: "web_search: Perplexity \u540E\u7AEF\u9700\u8981 API \u5BC6\u94A5 \u2014 \u8BBE\u7F6E PERPLEXITY_API_KEY \u73AF\u5883\u53D8\u91CF\uFF0C\u6216\u5728 ~/.reasonix/config.json \u4E2D\u914D\u7F6E `perplexityApiKey`\uFF1B\u5728 https://perplexity.ai/settings/api \u83B7\u53D6\u5BC6\u94A5",
|
|
2884
3005
|
perplexityUnauthorized: "web_search: Perplexity API \u5BC6\u94A5\u88AB\u62D2\u7EDD \u2014 \u68C0\u67E5 PERPLEXITY_API_KEY\uFF0C\u6216\u5728 https://perplexity.ai/settings/api \u83B7\u53D6\u5BC6\u94A5",
|
|
2885
|
-
perplexityRateLimit: "web_search: Perplexity \u8BF7\u6C42\u9891\u7387\u9650\u5236 \u2014 \u7B49\u5F85\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
2886
|
-
perplexityServerError: "web_search: Perplexity \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
3006
|
+
perplexityRateLimit: "web_search: Perplexity \u8BF7\u6C42\u9891\u7387\u9650\u5236 \u2014 \u7B49\u5F85\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
3007
|
+
perplexityServerError: "web_search: Perplexity \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2887
3008
|
perplexityParseError: "web_search: Perplexity \u8FD4\u56DE\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\uFF08HTTP {status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5",
|
|
2888
3009
|
exaMissingKey: "web_search: Exa \u540E\u7AEF\u9700\u8981 API \u5BC6\u94A5 \u2014 \u8BBE\u7F6E EXA_API_KEY \u73AF\u5883\u53D8\u91CF\uFF0C\u6216\u5728 ~/.reasonix/config.json \u4E2D\u914D\u7F6E `exaApiKey`\uFF1Bhttps://exa.ai \u6BCF\u6708 1000 \u6B21\u514D\u8D39",
|
|
2889
3010
|
exaUnauthorized: "web_search: Exa API \u5BC6\u94A5\u88AB\u62D2\u7EDD \u2014 \u68C0\u67E5 EXA_API_KEY\uFF0C\u6216\u5728 https://exa.ai \u83B7\u53D6\u5BC6\u94A5",
|
|
2890
3011
|
exaRateLimit: "web_search: Exa \u8BF7\u6C42\u9891\u7387\u9650\u5236\u6216\u6708\u5EA6\u914D\u989D\u7528\u5C3D \u2014 \u7B49\u5F85\u5347\u7EA7\uFF0C\u6216\u5728 https://exa.ai/pricing \u67E5\u770B\u8BA1\u5212",
|
|
2891
|
-
exaServerError: "web_search: Exa \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine
|
|
3012
|
+
exaServerError: "web_search: Exa \u670D\u52A1\u5668\u9519\u8BEF\uFF08{status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5\uFF0C\u6216\u4F7F\u7528 /search-engine bing|searxng|metaso|tavily|perplexity|exa \u5207\u6362\u5F15\u64CE",
|
|
2892
3013
|
exaParseError: "web_search: Exa \u8FD4\u56DE\u65E0\u6CD5\u89E3\u6790\u7684\u54CD\u5E94\uFF08HTTP {status}\uFF09\u2014 \u7A0D\u540E\u91CD\u8BD5",
|
|
2893
3014
|
fetchStatus: "web_fetch {status} for {url} \u2014 try: \u5728\u6D4F\u89C8\u5668\u4E2D\u786E\u8BA4\u8BE5 URL \u80FD\u5426\u8BBF\u95EE\uFF1B\u8BE5\u72B6\u6001\u7801\u8868\u660E\u76EE\u6807\u4E3B\u673A\u8FD4\u56DE\u4E86\u9519\u8BEF\u9875\u9762",
|
|
2894
3015
|
fetchRateLimit429: "web_fetch 429 for {url} \u2014 try: \u7B49\u5F85 10 \u79D2\u540E\u91CD\u8BD5\uFF1B\u76EE\u6807\u4E3B\u673A\u6B63\u5728\u5BF9\u8BE5\u5BA2\u6237\u7AEF\u8FDB\u884C\u9650\u6D41",
|
|
@@ -2980,19 +3101,6 @@ var zhCN = {
|
|
|
2980
3101
|
categoryProject: "\u9879\u76EE",
|
|
2981
3102
|
categoryReference: "\u53C2\u8003"
|
|
2982
3103
|
},
|
|
2983
|
-
copyMode: {
|
|
2984
|
-
title: "\u2500\u2500 \u590D\u5236\u6A21\u5F0F \u2500\u2500",
|
|
2985
|
-
help: "j/k \u6216 \u2191/\u2193 \u79FB\u52A8 \xB7 v \u8D77\u9009\u533A \xB7 y \u590D\u5236 \xB7 g/G \u9876/\u5E95 \xB7 q \u9000\u51FA",
|
|
2986
|
-
statusBar: "\u7B2C {cur}/{total} \u884C \xB7 \u9009\u533A\uFF1A{sel}",
|
|
2987
|
-
statusYanked: "\u5DF2\u590D\u5236 {size} \u5B57\u7B26\uFF08osc52={osc52}\uFF09",
|
|
2988
|
-
statusEmpty: "\u672A\u9009\u4E2D\u5185\u5BB9",
|
|
2989
|
-
empty: "\uFF08\u8FD8\u6CA1\u6709\u804A\u5929\u5185\u5BB9 \u2014 \u5148\u548C\u6A21\u578B\u8BF4\u70B9\u4EC0\u4E48\uFF09",
|
|
2990
|
-
labelUser: "\u4F60",
|
|
2991
|
-
labelAssistant: "\u52A9\u624B",
|
|
2992
|
-
labelReasoning: "\u63A8\u7406",
|
|
2993
|
-
yankedToast: "\u25B8 \u5DF2\u590D\u5236 {size} \u5B57\u7B26\u5230\u526A\u8D34\u677F (osc52)",
|
|
2994
|
-
yankedToastFile: "\u25B8 \u5DF2\u590D\u5236 {size} \u5B57\u7B26 \xB7 \u6587\u4EF6\uFF1A{path}"
|
|
2995
|
-
},
|
|
2996
3104
|
mcpHealth: {
|
|
2997
3105
|
noData: "\u65E0\u68C0\u67E5\u6570\u636E",
|
|
2998
3106
|
healthy: "\u6B63\u5E38 \xB7 {ms}ms",
|
|
@@ -3061,7 +3169,13 @@ var zhCN = {
|
|
|
3061
3169
|
noResources: "\u6CA1\u6709\u4EFB\u4F55\u5DF2\u8FDE\u63A5 MCP \u670D\u52A1\u5668\u4E0A\u7684\u8D44\u6E90\uFF08\u6216\u65E0\u670D\u52A1\u5668\u8FDE\u63A5\uFF09\u3002`/mcp` \u663E\u793A\u5F53\u524D\u5217\u8868\u3002",
|
|
3062
3170
|
readOne: "\u8BFB\u53D6\uFF1A`/resource <uri>` \u2014 \u6216\u5728\u9009\u62E9\u5668\u4E2D\u4F7F\u7528 Tab \u952E\u3002",
|
|
3063
3171
|
noPrompts: "\u6CA1\u6709\u4EFB\u4F55\u5DF2\u8FDE\u63A5 MCP \u670D\u52A1\u5668\u4E0A\u7684\u63D0\u793A\uFF08\u6216\u65E0\u670D\u52A1\u5668\u8FDE\u63A5\uFF09\u3002`/mcp` \u663E\u793A\u5F53\u524D\u5217\u8868\u3002",
|
|
3064
|
-
fetchOne: "\u83B7\u53D6\uFF1A`/prompt <name>` \u2014 \u6682\u4E0D\u652F\u6301\u53C2\u6570\uFF1B\u5E26\u5FC5\u9700\u53C2\u6570\u7684\u63D0\u793A\u5C06\u8FD4\u56DE\u670D\u52A1\u5668\u9519\u8BEF\u3002"
|
|
3172
|
+
fetchOne: "\u83B7\u53D6\uFF1A`/prompt <name>` \u2014 \u6682\u4E0D\u652F\u6301\u53C2\u6570\uFF1B\u5E26\u5FC5\u9700\u53C2\u6570\u7684\u63D0\u793A\u5C06\u8FD4\u56DE\u670D\u52A1\u5668\u9519\u8BEF\u3002",
|
|
3173
|
+
noServerForResource: '\u6CA1\u6709\u670D\u52A1\u5668\u66B4\u9732\u8D44\u6E90 "{name}"',
|
|
3174
|
+
resourceHint: "`/resource` \u4E0D\u5E26\u53C2\u6570\u53EF\u67E5\u770B\u53EF\u7528\u5217\u8868\u3002",
|
|
3175
|
+
readFailed: "\u8BFB\u53D6\u8D44\u6E90\u5931\u8D25",
|
|
3176
|
+
noServerForPrompt: '\u6CA1\u6709\u670D\u52A1\u5668\u66B4\u9732 prompt "{name}"',
|
|
3177
|
+
promptHint: "`/prompt` \u4E0D\u5E26\u53C2\u6570\u53EF\u67E5\u770B\u53EF\u7528\u5217\u8868\u3002",
|
|
3178
|
+
fetchFailed: "\u83B7\u53D6 prompt \u5931\u8D25"
|
|
3065
3179
|
},
|
|
3066
3180
|
mcpLifecycle: {
|
|
3067
3181
|
handshake: "\u63E1\u624B\u4E2D\u2026",
|
|
@@ -3074,7 +3188,9 @@ var zhCN = {
|
|
|
3074
3188
|
disabledDetail: "\u901A\u8FC7 /mcp disable {name}",
|
|
3075
3189
|
failedSetupHint: "\u2192 \u8FD0\u884C `reasonix setup` \u79FB\u9664\u6B64\u6761\u76EE\uFF0C\u6216\u4FEE\u590D\u5E95\u5C42\u95EE\u9898\uFF08\u7F3A\u5C11 npm \u5305\u3001\u7F51\u7EDC\u7B49\uFF09\u3002",
|
|
3076
3190
|
failedSetupConfigHint: "\u2192 \u8FD0\u884C `reasonix setup` \u4ECE\u5DF2\u4FDD\u5B58\u914D\u7F6E\u4E2D\u79FB\u9664\u635F\u574F\u7684\u6761\u76EE\u3002",
|
|
3077
|
-
abortedHint: "\u5DF2\u4E2D\u65AD MCP \u542F\u52A8 \u2014 \u8DF3\u8FC7 {count} \u4E2A\u670D\u52A1\u5668\u3002\u95EE\u9898\u4FEE\u590D\u540E\u7528 /mcp \u91CD\u65B0\u8FDE\u63A5\u3002"
|
|
3191
|
+
abortedHint: "\u5DF2\u4E2D\u65AD MCP \u542F\u52A8 \u2014 \u8DF3\u8FC7 {count} \u4E2A\u670D\u52A1\u5668\u3002\u95EE\u9898\u4FEE\u590D\u540E\u7528 /mcp \u91CD\u65B0\u8FDE\u63A5\u3002",
|
|
3192
|
+
toolsReady: "\u5DE5\u5177\u5C31\u7EEA",
|
|
3193
|
+
warnLabel: "\u8B66\u544A"
|
|
3078
3194
|
},
|
|
3079
3195
|
checkpointPicker: {
|
|
3080
3196
|
title: "\u6062\u590D\u68C0\u67E5\u70B9 \u2014 {workspace}",
|
|
@@ -3120,6 +3236,64 @@ var zhCN = {
|
|
|
3120
3236
|
noRecords: "\u65E0\u8BB0\u5F55",
|
|
3121
3237
|
untracked: "\uFF08\u672A\u8FFD\u8E2A\uFF09",
|
|
3122
3238
|
churned: "\uFF08\u5DF2\u53D8\u66F4 \xD7{count}\uFF09"
|
|
3239
|
+
},
|
|
3240
|
+
builtinSkills: {
|
|
3241
|
+
explore: "\u5728\u9694\u79BB\u5B50 agent \u4E2D\u63A2\u7D22\u4EE3\u7801\u5E93 \u2014 \u53EA\u8BFB\u5BBD\u7F51\u8C03\u67E5\uFF0C\u8FD4\u56DE\u4E00\u4E2A\u7CBE\u70BC\u7ED3\u8BBA",
|
|
3242
|
+
research: "\u7ED3\u5408\u4EE3\u7801\u9605\u8BFB\u4E0E\u7F51\u7EDC\u641C\u7D22\u8FDB\u884C\u8C03\u7814 \u2014 \u5728\u9694\u79BB\u5B50 agent \u4E2D\u7EFC\u5408\u4FE1\u606F\u5E76\u8FD4\u56DE\u7ED3\u8BBA",
|
|
3243
|
+
review: "\u5BA1\u67E5\u5F53\u524D\u5206\u652F\u53D8\u66F4 \u2014 \u68C0\u67E5\u6B63\u786E\u6027\u3001\u5B89\u5168\u6027\u3001\u7F3A\u5931\u6D4B\u8BD5\u3001\u9690\u85CF\u884C\u4E3A\u53D8\u66F4",
|
|
3244
|
+
securityReview: "\u5B89\u5168\u4E13\u9879\u5BA1\u67E5 \u2014 \u6807\u8BB0\u6CE8\u5165/\u8BA4\u8BC1/\u5BC6\u94A5/\u53CD\u5E8F\u5217\u5316/\u8DEF\u5F84\u7A7F\u8D8A/\u52A0\u5BC6\u95EE\u9898",
|
|
3245
|
+
test: "\u8FD0\u884C\u6D4B\u8BD5\u5957\u4EF6\u5E76\u8BCA\u65AD\u5931\u8D25 \u2014 \u81EA\u52A8\u8BC6\u522B\u6D4B\u8BD5\u6846\u67B6\uFF0C\u4FEE\u590D\u540E\u91CD\u8DD1\u76F4\u81F3\u901A\u8FC7"
|
|
3246
|
+
},
|
|
3247
|
+
shortcutsHelp: {
|
|
3248
|
+
title: "\u5FEB\u6377\u952E",
|
|
3249
|
+
groupInput: "\u8F93\u5165",
|
|
3250
|
+
groupNavigation: "\u5BFC\u822A",
|
|
3251
|
+
groupSession: "\u4F1A\u8BDD",
|
|
3252
|
+
groupSystem: "\u7CFB\u7EDF",
|
|
3253
|
+
descEnter: "\u53D1\u9001\u6D88\u606F",
|
|
3254
|
+
descShiftEnter: "\u6362\u884C",
|
|
3255
|
+
descCtrlEnter: "\u6362\u884C",
|
|
3256
|
+
descCtrlJ: "\u6362\u884C",
|
|
3257
|
+
descCtrlU: "\u6E05\u7A7A\u8F93\u5165",
|
|
3258
|
+
descCtrlW: "\u5220\u9664\u5355\u8BCD",
|
|
3259
|
+
descCtrlP: "\u663E\u793A/\u9690\u85CF\u5FEB\u6377\u952E",
|
|
3260
|
+
descCtrlX: "\u5728\u7F16\u8F91\u5668\u4E2D\u6253\u5F00",
|
|
3261
|
+
descArrows: "\u6D4F\u89C8\u8F93\u5165\u5386\u53F2",
|
|
3262
|
+
descPgUpDown: "\u7FFB\u9875",
|
|
3263
|
+
descCtrlL: "\u6E05\u5C4F",
|
|
3264
|
+
descCtrlB: "\u5207\u6362\u4FA7\u8FB9\u680F",
|
|
3265
|
+
descNewSession: "\u65B0\u5EFA\u4F1A\u8BDD",
|
|
3266
|
+
descListSessions: "\u5217\u51FA\u4F1A\u8BDD",
|
|
3267
|
+
descSwitchModel: "\u5207\u6362\u6A21\u578B",
|
|
3268
|
+
descSwitchPreset: "\u5207\u6362\u9884\u8BBE",
|
|
3269
|
+
descSwitchTheme: "\u5207\u6362\u4E3B\u9898",
|
|
3270
|
+
descCtrlC: "\u9000\u51FA",
|
|
3271
|
+
descEsc: "\u505C\u6B62/\u53D6\u6D88",
|
|
3272
|
+
descCtrlR: "\u5207\u6362\u8BE6\u7EC6\u6A21\u5F0F",
|
|
3273
|
+
descCtrlO: "\u5C55\u5F00\u56DE\u590D\uFF08\u4EC5\u6D41\u5F0F\u8F93\u51FA\u671F\u95F4\uFF09",
|
|
3274
|
+
descHelp: "\u663E\u793A\u6240\u6709\u547D\u4EE4",
|
|
3275
|
+
descShiftTab: "\u5207\u6362\u7F16\u8F91\u6A21\u5F0F"
|
|
3276
|
+
},
|
|
3277
|
+
mcpCli: {
|
|
3278
|
+
bundledCatalog: "\u5DF2\u6253\u5305\u7684 MCP \u670D\u52A1\u5668\uFF08\u79BB\u7EBF\u76EE\u5F55\uFF09\uFF1A",
|
|
3279
|
+
justFetched: "\u521A\u521A\u83B7\u53D6",
|
|
3280
|
+
cachedAge: "\u7F13\u5B58\uFF0C{age}",
|
|
3281
|
+
moreAvailable: "\u8FD8\u6709\u66F4\u591A",
|
|
3282
|
+
allLoaded: "\u5DF2\u5168\u90E8\u52A0\u8F7D",
|
|
3283
|
+
morePagesAvailable: "\u25B8 \u8FD8\u6709\u66F4\u591A\u9875\u53EF\u7528 \u2014 `reasonix mcp list --pages <n>` \u6216 --all",
|
|
3284
|
+
installHint: "\u5B89\u88C5\uFF1Areasonix mcp install <name>",
|
|
3285
|
+
usageSearch: "\u7528\u6CD5\uFF1Areasonix mcp search <query>",
|
|
3286
|
+
usageInstall: "\u7528\u6CD5\uFF1Areasonix mcp install <name>",
|
|
3287
|
+
noMatchesFor: '\u672A\u627E\u5230 "{q}" \u7684\u5339\u914D\u9879\uFF08\u5DF2\u68C0\u7D22 {count} \u6761\u8BB0\u5F55\uFF0C\u6765\u6E90\uFF1A{source}\uFF09',
|
|
3288
|
+
matchCount: '\u5728 {source} \u4E2D\u627E\u5230 {count} \u6761 "{q}" \u7684\u5339\u914D\u9879\uFF08\u5DF2\u626B\u63CF {loaded} \u6761\u8BB0\u5F55\uFF09\uFF1A',
|
|
3289
|
+
moreLoaded: "\u2026 \u8FD8\u6709 {count} \u6761\u5DF2\u52A0\u8F7D \u2014 \u4F7F\u7528 `reasonix mcp search <query>` \u7B5B\u9009",
|
|
3290
|
+
moreMatches: "\u2026 \u8FD8\u6709 {count} \u6761\u5339\u914D\u9879",
|
|
3291
|
+
installed: "\u5DF2\u5B89\u88C5\uFF1A{spec}",
|
|
3292
|
+
noServerFound: '\u5728 {source} \u4E2D\u904D\u5386\u4E86 {pages} \u9875\u540E\u672A\u627E\u5230\u540D\u4E3A "{target}" \u7684 MCP \u670D\u52A1\u5668\u3002',
|
|
3293
|
+
noServerTryMore: "\u8BD5\u8BD5\uFF1Areasonix mcp install {target} --max-pages 100",
|
|
3294
|
+
noInstallMeta: '\u65E0\u6CD5\u4E3A "{name}" \u83B7\u53D6\u5B89\u88C5\u5143\u6570\u636E \u2014 \u8BD5\u8BD5 `npx -y @smithery/cli install {name}`\u3002',
|
|
3295
|
+
buildSpecFailed: "\u65E0\u6CD5\u4E3A {name} \u6784\u5EFA\u5B89\u88C5 spec\uFF1A{message}",
|
|
3296
|
+
alreadyInstalled: "\u5DF2\u5B89\u88C5\uFF1A{spec}"
|
|
3123
3297
|
}
|
|
3124
3298
|
};
|
|
3125
3299
|
|
|
@@ -3210,4 +3384,4 @@ export {
|
|
|
3210
3384
|
tObj,
|
|
3211
3385
|
t
|
|
3212
3386
|
};
|
|
3213
|
-
//# sourceMappingURL=chunk-
|
|
3387
|
+
//# sourceMappingURL=chunk-YEF7C4XI.js.map
|