返回 DeepSeek-Reasonix
messages_zh.go
根目录 / internal / i18n / messages_zh.go
1 package i18n
2
3 // Chinese is the zh-Hans catalogue. Keep the %s placeholders in the same order
4 // as English unless a phrase genuinely demands re-ordering — call sites pass
5 // arguments positionally and won't reshuffle.
6 var Chinese = Messages{
7 WelcomeTitleFmt: "欢迎使用 %s",
8 NoConfigYet: "还没有配置 — 现在来设置一下吧。",
9
10 InitHint: "项目记忆(AGENTS.md)在会话内由模型生成:运行 `reasonix`,然后 `/init` —— 模型会分析代码库并写入。配置请用 `reasonix setup`。",
11
12 ChatTip: "对话上下文将跨轮保留。输入 'exit' 或按 Ctrl-D 退出。",
13 TurnCancelled: "已取消 — 回到提示符",
14 InterruptedRecovery: "本轮已中断。部分输出会永久保留供查看;只有完整工具调用及结果和有界恢复摘要会进入模型下一轮。继续或回滚前请先检查当前工作区。",
15 FinalReadinessRecovery: "剩余任务或收尾检查已暂停。运行 /continue-checks 可保留已完成证据并继续剩余工作。",
16 ReadinessContinuing: "Reasonix 正在自动完成剩余任务或检查。",
17 RecoveryPaused: "已暂停自动重试。Reasonix 已停止重复尝试,并保留已完成的工作。发送“继续”即可开始新一轮,也可以补充要求来调整方向。",
18 CompletionUncertain: "完成状态未确认。当前结果和已完成工作均已保留。发送“继续”可接着完成,也可以补充说明需要调整的内容。",
19 ReasoningReplayRepair: "模型服务拒绝了本会话历史中的 thinking 块。Reasonix 已从发送给模型的历史中移除这些内容,并重试了一次。",
20 ImageRequestRecovery: "这张图片未能发送给模型。请重新添加图片后发送;如果仍然失败,请检查图片模型设置。聊天记录已保留",
21 ExtensionRequestRecovery: "扩展未能提供可用的模型请求。请在设置中检查最近启用的扩展后重试,聊天记录已保留",
22 ExtensionBlockRecovery: "请根据扩展给出的原因检查其设置后重试。重复发送同一条消息不能解除此拦截。",
23 ContextLimitRecovery: "自动整理上下文后,请求仍然过长。请缩短最新消息,或切换到支持更长上下文的模型。原始聊天记录已保留",
24 SessionSaveRecovery: "聊天记录暂时无法保存。请保留当前会话,并尽可能导出备份;检查磁盘剩余空间和目录写入权限后再继续",
25 EmptyFinal: "没有生成可见回复,已要求助手重新作答。",
26 ExecutorHandoff: "助手尚未执行必要操作,已要求它使用相应工具。",
27 ToolBudget: "工具调用轮数已达上限,已要求助手总结当前进展。",
28 TaskBudget: "本任务已达花费预算上限,已要求给出最终回答。",
29 LoopGuard: "助手没有取得有效进展,已要求它重新评估当前步骤。",
30 ProgressGuard: "助手在没有新证据的情况下反复做重复工作,已要求它更换方法。",
31 OperationNeedsUser: "同一处改动连续两次以相同原因失败,已暂停并交给你处理,不再自动重试。",
32 SoftBudgetConverge: "正在收敛这场耗时较长的只读调查。",
33 EvidenceNudge: "有多处改动尚未验证,已要求执行成本最低的判别性检查。",
34 ReasoningGovernor: "当前处于高思考开销的探索阶段,在开始实证工作前将保持较低的推理深度。",
35 UnappliedSteerFmt: "本条引导未能应用,因为当前回合在处理它之前已结束。如仍需要,请重新发送:\n%s",
36 DeprecatedContextRetention: "agent.keep 和 agent.recent_keep 已弃用。",
37 FinishReasonLength: "回复被截断:达到最大输出 token 数上限",
38 FinishReasonContentFilter: "回复被内容过滤器拦截",
39 FinishReasonRepetition: "回复被截断:检测到模型重复输出",
40 StreamInterruptedIdleTimeout: "模型流式响应停滞:空闲超时前未收到任何数据;请检查供应商网关或网络代理",
41 StreamInterruptedPrematureEOF: "模型流式响应在完成前结束;供应商网关或网络代理断开了连接",
42 StreamInterruptedConnectionReset: "模型连接被重置;请检查供应商网关或网络代理",
43 ToolOutputTruncatedFmt: "工具输出已截断:省略 %d 字节(共 %d 字节)",
44 IncompleteReadFinishBlocked: "一个文件读取仍有未读内容,Reasonix 已拒绝结束本轮。",
45 ReadContinuationRequired: "Reasonix 正在继续或收窄一次未完成的文件读取,完成后才允许改动或收尾。",
46 IncompleteReadDetected: "Reasonix 检测到一次不完整的文件读取,已准备自动续读。",
47 ReadStrategyRequired: "完整文件放不进动态上下文预算,Reasonix 已进入受限搜索/读取模式。",
48 ReadStrategyProgress: "Reasonix 已记录受限读取策略中的有效进展。",
49 ReadStrategyResolved: "Reasonix 已验证收窄后的读取策略回执。",
50 ReadLocalSafetyPaged: "Reasonix 已将一条较大的本地 read_file 结果安全分页。",
51 ReadCompleted: "Reasonix 已恢复该文件的完整读取。",
52 ReadRestrictedStrategyFmt: "read_file 已切换为受限策略:estimated_tokens=%d budget_tokens=%d",
53 ContextRecoveryAdjustBudget: "已调整输出预算以适配共享上下文窗口。",
54 PromptTruncatedByServerNotice: "服务端接受了该请求,但静默丢弃了部分提示词,模型没有收到完整的指令或工具定义。请调大服务端自身的上下文长度(Ollama:OLLAMA_CONTEXT_LENGTH 或 Modelfile 的 num_ctx),再把 context_window 设为相同的值。",
55 ContextRecoveryCompacted: "共享窗口溢出,已压缩上下文并重试。",
56 PlannerFallback: "规划器失败,本轮仅由主模型继续。",
57 PlannerSafetyFallback: "规划器在安全边界处停止且未给出最终计划,本轮由主模型继续。",
58 PlannerPlanAwaitingApproval: "计划已就绪,未经批准不会开始执行。",
59 PlannerPlanNotApproved: "计划未获批准,未执行任何操作。回复即可继续。",
60 PlannerPlanOnly: "计划已就绪;本次请求明确不包含执行。",
61 CapabilityProxyFmt: "能力代理:%s → %s",
62 ReceiptVerified: "没有未经验证的部分",
63 ReceiptGapsHeader: "未验证:",
64 ReceiptRisksHeader: "已申报的风险:",
65 ReceiptMore: "另有 %d 项",
66 ReceiptGapKinds: map[string]string{
67 "unbacked_claim": "声称过但账本不支持",
68 "unproven_criterion": "验收项没有证据",
69 "missing_check": "预期的检查从未通过",
70 "failed_verification": "验证失败",
71 "stale_verification": "验证早于最后一次改动",
72 "unverified_change": "改动了但没有任何验证",
73 "unreviewed_change": "改动后再没看过",
74 "declared_unverified": "自己申报未验证",
75 },
76 NoSessionToResume: "没有可恢复的会话 — 用 `reasonix` 开一个新的",
77 ResumeRequiresTTY: "--resume 需要交互式终端;用 --continue 直接恢复最近一次",
78 AmbiguousResumeHint: "用上面任一 id 重新运行 `--resume <id>`",
79 PickSessionLabel: "恢复哪个会话?",
80
81 ResumeBusy: "请先完成或取消当前这一轮再恢复会话",
82 ResumeBadIndexFmt: "请选择 1–%d 的会话(用 /resume 查看列表)",
83 ResumeAlreadyActive: "已在该会话中",
84 ResumedTitle: "已恢复会话",
85
86 RenameUsage: "用法:/rename <新名称> 或 /rename <序号> <新名称>",
87 RenameNoSession: "当前没有活跃会话可重命名",
88 RenameDoneFmt: "会话已重命名为 %q",
89 ResumePickTitle: "选择要恢复的会话",
90 ResumePickHint: "↑/↓ 移动 · Enter 恢复 · Esc 取消",
91 ResumeRecoveryBadgeFmt: "[冲突副本 · 父会话 %s]",
92
93 ChatThinking: "思考中…",
94 ChatThoughtForFmt: "思考了 %d 秒",
95 ChatStatusThinkingFmt: "%s 思考中… (%d 秒 · Esc 取消)",
96 TurnPhaseWorking: "工作中",
97 ReadStatusReadingFmt: "正在读取 %s",
98 ReadStatusCoveredFmt: "正在读取 %s · 已覆盖 %s 行",
99 ReadStatusDoneFmt: "已读取 %s · %s 行",
100 ReadStatusPausedFmt: "读取已暂停:%s",
101 ReadStatusRecovery: "未能在读取预算内验证剩余内容;可缩小读取范围或继续独立工作,全文审查尚未完成",
102 TurnPhaseChecking: "检查中",
103 TurnPhaseVerifying: "验证中",
104 TurnPhaseReviewing: "复审中",
105 CompletionSummaryBlocked: "本轮任务受阻,请查看改动详情。",
106 CompletionSummaryNeedsAttention: "本轮仍有验证或复审缺口。",
107 ChatToolWorkingFmt: "%s 运行中 · %d 秒",
108 ChatSubagentPhaseQueued: "排队中",
109 ChatSubagentPhaseRunning: "运行中",
110 ChatSubagentPhaseReasoning: "思考中",
111 ChatSubagentPhaseResponding: "生成中",
112 ChatSubagentPhaseTool: "使用工具",
113 ChatSubagentPhaseRetrying: "重试中",
114 ChatSubagentPhaseCompleted: "已完成",
115 ChatSubagentPhaseFailed: "失败",
116 ChatSubagentPhaseCancelled: "已取消",
117 ChatSubagentProgressFmt: "%s · %d 秒 · %d 秒前",
118 ChatSubagentProgressDoneFmt: "%s · %d 秒",
119 ChatSubagentPreviewLabel: "▎",
120 ChatStatusRetryingFmt: "%s 正在重试 (%d/%d)… (Esc 取消)",
121 ChatStatusCancellingFmt: "%s 正在停止… (%d 秒 · Ctrl+C 退出)",
122 ChatStatusIdle: "就绪",
123 ChatStatusCycleHint: "Shift+Tab 循环仅可查看/工作区内修改/YOLO/计划 · Ctrl+Y YOLO",
124 ChatStatusCycleHintCompact: "Shift+Tab 仅可查看/工作区内修改/YOLO/计划 · Ctrl+Y YOLO",
125 ChatTurnReceiptLabel: "本轮",
126 RateBandPeak: "高峰",
127 RateBandOffPeak: "低峰",
128 RateBandMixed: "混合档位",
129 ChatStatusModelLabel: "模型",
130 ChatStatusEffortLabel: "强度",
131 ChatStatusPresetLabel: "预设",
132 ChatStatusCacheLabel: "缓存",
133 ChatStatusContextLabel: "上下文",
134 ChatStatusCompactLabel: "压缩",
135 ChatStatusJobsLabel: "任务",
136 ChatStatusBalanceLabel: "余额",
137 ChatStatusCostLabel: "费用",
138 ChatStatusCacheNowFmt: "本次命中 %s",
139 ChatStatusCacheAvgFmt: "平均 %s",
140 ChatStatusPlanApproval: "1 开始执行 · 2 修改计划 · 3 暂不执行并退出 · n/Esc 继续规划 · PgUp/PgDn/Ctrl+Home/End 滚动",
141 PlanApprovalPrompt: "计划已生成(见上方)— 请选择下一步操作",
142 PlanApprovalChoices: "1. 开始执行\n2. 修改计划(继续规划)\n3. 暂不执行,退出计划模式\n选择 [1/2/3](y 开始执行;n/Esc 继续规划)",
143 ChatStatusToolApproval: "1 本次允许 · 2 本会话允许此范围 · 提供时 3/4 为前缀或保存 · n/Esc 拒绝 · Ctrl-C 取消本轮",
144 AskTypeSomething: "自己输入",
145 AskTypingHint: "输入后按 Enter 确认",
146 AskChatInstead: "先不选择,直接回复",
147 ChatStatusQuestion: "↑/↓ 选 · 数字快选 · 空格多选 · Enter 确认 · ←/→ 切换问题 · Esc 取消",
148 StatusResumePicker: "↑/↓ 移动 · Enter 恢复 · Esc 取消",
149 AskSubmitTitle: "提交答案",
150 AskUnanswered: "(未答)",
151 AskSubmitHint: "Enter 提交 · ← 返回修改",
152 ElicitURLHint: "o 打开链接 · Enter 接受 · d 拒绝 · Esc 取消",
153 ElicitConfirmOnly: "Enter 确认;d 拒绝;Esc 取消。",
154 ElicitUnanswered: "(未填写)",
155 ElicitSubmit: "提交",
156 ElicitSubmitHint: "Enter 编辑字段 · tab 下一项 · 提交行:Enter 接受、d 拒绝、Esc 取消",
157 ToolApprovalPromptFmt: "需要你的许可\n\n将调用工具 %s%s。\n%s\n%s",
158 ToolApprovalChoices: "1. 本次允许\n2. 本会话允许 %s\n3. 拒绝\n选择 [1/2/3](兼容 y/a/n)",
159 BashPrefixChoices: "1. 本次允许\n2. 本会话允许 %s\n3. 拒绝\n选择 [1/2/3](兼容 y/a/n)",
160 PlanModeReadOnlyCommandChoices: "1. 本次信任\n2. 本会话信任此前缀\n3. 总是在计划模式信任此前缀(保存到配置)\n4. 拒绝\n选择 [1/2/3/4](兼容 y/a/p/n)",
161 FreshHumanApprovalChoices: "1. 本次允许\n2. 拒绝\n选择 [1/2](兼容 y/n)",
162 RecoveryApprovalChoices: "1. 继续一次\n2. 换个方案",
163 RecoveryPlanChangeChoices: "1. 采用新计划并继续\n2. 不采用,让 Auto 调整",
164 RecoveryPlanDecisionPrompt: "执行计划需要你的决定",
165 RecoveryPlanBeforeFmt: "原计划:%s",
166 RecoveryPlanAfterFmt: "新计划:%s",
167 RecoveryTaskGrantChoices: "1. 继续一次\n2. 继续,并在本任务内允许同类操作\n3. 换个方案",
168 SandboxEscapeApprovalChoices: "1. 允许一次\n2. 本会话使用真实环境\n3. 拒绝\n选择 [1/2/3](兼容 y/a/n)",
169 ApprovalNeededFmt: "需要审批:%s",
170 ApprovalNeededWithSubjectFmt: "需要审批:%s %s",
171 ToolApprovalSourceFmt: "来源: %s",
172 ToolApprovalBuiltIn: "内置工具",
173 ToolApprovalImageUse: "将读取提供的图片用于图像理解。",
174 ApprovalToolLabelBash: "bash",
175 ApprovalToolLabelEditFile: "编辑文件",
176 ApprovalToolLabelWriteFile: "写入文件",
177 ApprovalToolLabelMultiEdit: "批量编辑",
178 ApprovalToolLabelMoveFile: "移动文件",
179 ApprovalToolLabelWebFetch: "读取网页",
180 ApprovalToolLabelRunSkill: "运行技能",
181 ApprovalToolLabelRemember: "保存记忆",
182 ApprovalToolLabelForget: "删除记忆",
183 ApprovalToolLabelSandboxEscape: "bash 沙箱降级审批",
184 ApprovalToolLabelPlanModeReadOnly: "计划模式只读命令",
185 MemoryApprovalSaveUpdate: "保存/更新记忆",
186 MemoryApprovalBodyLabel: "正文",
187 MemoryApprovalArchiveFmt: "归档记忆 %q",
188 PlanModeBashTrustSubjectFmt: "在计划模式中信任 %q 为只读命令前缀\n命令:%s",
189 PlanModeBashTrustReason: "这条 bash 命令不在 Reasonix 内置只读集合中。只有在确认这个精确前缀用于计划和研究时是只读的,才应批准。权限预设不能代替这次信任确认。",
190 PlanModeBashTrustDeclined: "用户拒绝将这条 bash 命令信任为计划模式只读命令;不要重试它,请继续使用其它已信任的只读工具,或询问用户希望如何继续。",
191 SandboxEscapeSubjectFallback: "仅本次不进沙箱运行 shell 命令",
192 SandboxEscapeSubjectPrefix: "仅本次不进沙箱运行:",
193 SandboxEscapeWrapReason: "Windows 不提供这条命令所需的 OS 级 Bash 沙箱。是否仅本次不受限运行?这只会对此命令绕过 OS 隔离。",
194 SandboxEscapeRuntimeReason: "OS 沙箱无法启动这条命令。是否仅本次不受限运行?这只会对此命令绕过 OS 隔离。",
195 SandboxEscapeDeclined: "用户拒绝在没有 OS 沙箱的情况下运行这条命令;不要不进沙箱重试,请询问用户希望如何继续。",
196 ApprovalToolLabelConfigWrite: "Reasonix 配置写入审批",
197 ConfigWriteSubjectPrefix: "写入 Reasonix 配置:",
198 ConfigWriteReason: "这次写入的目标是工作区之外的 Reasonix 托管配置文件。它可以改变后续会话的模型服务商、沙箱规则、权限和 MCP 服务器,因此需要你的明确批准。",
199 ConfigWriteDeclined: "用户拒绝了这次 Reasonix 配置写入;不要重试,请询问用户希望如何继续。",
200 ConfigWriteApprovalChoices: "1. 允许一次\n2. 本会话允许\n3. 拒绝\n选择 [1/2/3](兼容 y/a/n)",
201 WriteAccessApprovalChoices: "1. 仅本次允许\n2. 本会话允许此范围\n3. 拒绝\n选择 [1/2/3](兼容 y/a/n)",
202 WriteAccessHomeWarning: "这将授权写入整个用户主目录。Reasonix 会话和运行时状态文件仍受保护。",
203 WriteAccessMergedPermissionHint: "此选择也会授权当前匹配的工具操作。",
204 WriteAccessProjectHint: "加入项目会把 [sandbox].allow_write(以及需要时的权限规则)写入当前工作区的 reasonix.toml。",
205 PermissionSavedFmt: "授权已保存到 %s:%s",
206 PermissionAlreadyAllowedFmt: "授权已由 %s 中的规则覆盖:%s",
207 PermissionSaveFailedFmt: "保存授权 %s 失败:%v",
208 PlanModeReadOnlyCommandTrustSavedFmt: "计划模式只读命令信任已保存到 %s:%s",
209 PlanModeReadOnlyCommandTrustAlreadyFmt: "计划模式只读命令信任已保存在 %s:%s",
210 PlanModeReadOnlyCommandTrustFailedFmt: "保存计划模式只读命令信任 %s 失败:%v",
211 DiffFoldedFmt: "… 还有 %d 行",
212 DiffFoldEnabledFmt: "diff 已折叠至 %d 行(/diff-fold 展开)",
213 DiffFoldDisabled: "diff 已展开 — 显示全部行(/diff-fold 折叠)",
214
215 OutputStyleNone: "没有可用的输出风格",
216 ThemeHeader: "主题:",
217 ThemeHint: "使用 /theme <auto|light|dark|style> 切换",
218 ThemeChangedFmt: "已切换主题为 %s / %s",
219 ThemeUnknownFmt: "未知主题 %q",
220 LanguageHeader: "语言:",
221 LanguageHint: "使用 /language <auto|en|zh> 切换",
222 LanguageChangedFmt: "语言已设为 %s(当前解析为:%s)",
223 CurrencyHeader: "费用展示币种:",
224 CurrencyHint: "使用 /currency <auto|CNY|USD> 切换",
225 CurrencyChangedFmt: "费用展示币种已设为 %s(当前解析为:%s)",
226 RuntimeRefreshBusy: "请先完成或取消当前工作,并停止后台任务后再修改此设置",
227 RuntimeRefreshUnavailable: "本会话不支持刷新运行时",
228
229 CompactionWorking: "正在压缩对话…",
230 CompactionTitle: "上下文已压缩",
231 CompactionUnit: "条消息",
232 CompactionAuto: "自动",
233 CompactionManual: "手动",
234 CompactionStopping: "正在停止压缩…",
235 CompactionSaving: "正在保存压缩结果…",
236 CompactionNoHistory: "暂无可压缩的历史",
237 CompactionStopped: "已停止压缩",
238 CompactionStoppedPartial: "已停止压缩;部分上下文已压缩",
239 CompactionRecoveryRequired: "压缩需要恢复处理",
240 CompactionInterrupted: "上次压缩已中断",
241 CompactionEstimatedTokens: "估算 token",
242
243 ExtFormFieldsHint: "字段将通过逐项提问收集",
244 ExtRunActionFmt: "运行 %s",
245 SlashCompactFailed: "压缩失败",
246 SlashNewDone: "已开启新会话 — 之前的对话已存档",
247 SlashNewFailed: "新建会话失败",
248 SlashClearPrompt: "清空当前上下文且不保存?",
249 SlashClearDone: "已清空当前上下文",
250 SlashClearFailed: "清空当前上下文失败",
251 SlashClsDone: "已清屏(LLM 上下文保留)",
252 SlashUnknown: "未知命令",
253 SlashUnknownSentAsMessage: "已作为普通消息发送",
254 SlashTodoCleared: "已清除任务清单",
255
256 SkillPickerAvailableFmt: "%d 个可用",
257 SkillPickerMatchingFmt: "%d 个匹配 · 共 %d 个",
258 SkillPickerHint: "↑↓ 移动 · Space 开关 · Enter 保存 · / 搜索 · s 来源 · r 重新扫描 · Esc 取消",
259 SkillPickerDetailHint: "↑↓ 移动 · Enter 选择 · Space 开关 · Esc 返回",
260 SkillPickerSearchEmpty: "没有匹配的 skill",
261 SkillPickerSearchPlaceholder: "搜索 skills...",
262 SkillPickerSourceTitle: "来源",
263 SkillPickerSourceActiveFmt: "%d 个有效",
264 SkillPickerSourceHint: "↑↓ 移动 · Enter 查看技能 · d 诊断 · s skills · r 重新扫描 · Esc 关闭",
265 SkillPickerDiagHidden: "d 展开诊断",
266 SkillPickerDiagShown: "d 收起诊断",
267 SkillPickerBuiltinSource: "内置",
268 SkillPickerRescanned: "已重新扫描 skills",
269 SkillPickerNoDescription: "(无描述)",
270 SkillPickerScopeProject: "项目",
271 SkillPickerScopeCustom: "自定义",
272 SkillPickerScopeGlobal: "全局",
273 SkillPickerScopeBuiltin: "内置",
274 SkillPickerSubagent: "子代理",
275 SkillPickerAvailableLabel: "可用",
276 SkillPickerDisabledLabel: "关闭",
277 SkillPickerNoChanges: "Skills 对话框已关闭:没有更改",
278 SkillPickerSourceSkillsHint: "↑↓ 移动 · Space 开关 · Enter 详情 · Esc 返回来源",
279 SkillPickerSourceSkillsEmpty: "这个来源下没有 skill",
280 SkillPickerActionToggle: "切换启用状态",
281 SkillPickerActionDelete: "删除 skill",
282 SkillPickerDeleteTitleFmt: "删除 skill /%s?",
283 SkillPickerDeleteConfirm: "删除",
284 SkillPickerDeleteCancel: "取消",
285 SkillPickerDeleteHint: "Enter 确认 · y 删除 · n/Esc 取消",
286 SkillPickerDeletedFmt: "已删除 skill %s",
287 SkillPickerMoreAboveFmt: "↑ 上方还有 %d 个",
288 SkillPickerMoreBelowFmt: "↓ 下方还有 %d 个",
289 SkillPickerTokenFmt: "~%d tok",
290 SkillPickerDetailMetaFmt: "范围: %s 运行方式: %s",
291 SkillPickerSkillsUnit: "个 skill",
292 SkillPickerLinesUnit: "行",
293 SkillPickerStatusLabel: "技能选择器",
294 SkillPickerStatusOK: "有效",
295 SkillPickerStatusMissing: "缺失",
296 SkillPickerStatusNotDir: "非目录",
297 SkillPickerStatusUnreadable: "无权限",
298 SlashPromptEmpty: "该 MCP prompt 没有返回可发送的内容",
299 SlashMCPNone: "没有配置 MCP 服务器 — 在 reasonix.toml 加一个 [[plugins]] 条目",
300 CtrlCQuitHint: "再按一次 Ctrl+C 退出",
301 CompHintSlash: "↑/↓ 移动 · Tab/Enter 选中 · Esc 关闭",
302 CompHintFile: "↑/↓ 移动 · Tab/Enter 进入文件夹或选中文件 · Esc 关闭",
303 MouseCopiedHint: "已复制到剪贴板",
304 ClipboardCopyOSC52Hint: "已通过 OSC 52 请求复制 — 可能需要终端授权",
305 ClipboardCopyFallbackHint: "系统剪贴板不可用 — 已回退到 OSC 52",
306 ClipboardTextPasteRemoteHint: "SSH 下鼠标粘贴无法读取本地剪贴板或 PRIMARY 选区 — 请使用终端粘贴快捷键或 /mouse",
307 ClipboardTextPasteFailedFmt: "粘贴文本失败:%v",
308 ClipboardImagePastingHint: "正在粘贴图片…",
309 ClipboardImagePasteFailedFmt: "粘贴图片失败:%v",
310 ClipboardPasteEmptyNotice: "剪贴板中没有可粘贴的文本或受支持的图片(PNG/JPEG/GIF/WebP)",
311 MouseCaptureOnHint: "鼠标接管已开启 — 应用内拖拽选中/滚动条/滚轮生效",
312 MouseCaptureOffHint: "鼠标接管已关闭 — 由终端原生处理选中和右键菜单",
313 MouseCaptureTag: "终端原生鼠标",
314
315 ShellExecEmpty: "用法:!<命令> (例如 !ls -la)",
316 ShellExecFailedFmt: "Shell 命令执行失败:%v",
317 ShellExecTimeoutFmt: "Shell 命令超时(>%s)",
318 ShellModeHint: "Enter 执行 Shell · Esc 取消 · 点击输出展开",
319
320 CmdNew: "开启新会话并保存历史",
321 CmdClear: "丢弃当前上下文",
322 CmdCls: "清屏(保留 LLM 上下文)",
323 CmdCompact: "压缩上下文",
324 CmdContinueChecks: "继续已暂停的任务收尾检查",
325 CmdContext: "查看上下文窗口、阈值与上次维护结果",
326 CmdRewind: "回滚到更早的一轮",
327 CmdTree: "查看对话分支树",
328 CmdBranch: "创建对话分支",
329 CmdSwitchBranch: "切换对话分支",
330 CmdResume: "恢复已保存的会话",
331 CmdRename: "重命名会话",
332 CmdModel: "切换模型",
333 CmdStatus: "显示会话状态",
334 CmdWorkMode: "会话质量底线:standard / delivery",
335 CmdDocs: "搜索与当前版本匹配的内置文档",
336 CmdMemory: "查看指令、记忆与恢复状态",
337 CmdMigrate: "重试旧数据迁移",
338 CmdGoal: "设置或清除当前目标",
339 CmdRemember: "保存一条记忆",
340 CmdForget: "归档一条已存记忆",
341 CmdMcp: "MCP 服务器",
342 CmdRemote: "远程 SSH 主机",
343 CmdHooks: "管理 hooks",
344 CmdPlugins: "管理插件包",
345 CmdPasteImage: "粘贴剪贴板图片",
346 CmdOutputStyle: "列出输出风格",
347 CmdTheme: "切换 CLI 主题",
348 CmdLanguage: "切换 CLI 语言",
349 CmdCurrency: "切换费用展示币种",
350 CmdSkill: "管理 skills",
351 CmdVerbose: "切换 thinking 原文显示",
352 CmdReloadCmd: "重载自定义命令",
353 CmdReload: "重载 agent 运行时(工具、技能、命令、钩子、模型供应商),保留当前会话",
354 CmdDiffFold: "切换 diff 折叠/展开",
355 CmdSandbox: "查看沙箱状态",
356 CmdEffort: "设置推理强度",
357 CmdMouse: "切换鼠标接管(关闭后由终端原生处理选中/右键)",
358 CmdReasonLang: "设置可见思考语言",
359 CmdHelp: "查看命令列表",
360 CmdWeb: "在 Web UI 中继续当前会话",
361 CmdTodo: "清除任务清单",
362 CmdQuit: "退出会话",
363 CmdCopy: "选择回复复制到剪贴板",
364 CmdExport: "将会话导出为 Markdown",
365 SlashCopyDone: "已复制到剪贴板",
366 SlashCopyEmpty: "没有可复制的助手回复",
367 SlashCopyListHeader: "选择要复制的回复:",
368 SlashExportDoneFmt: "会话已导出到 %s",
369 SlashExportEmpty: "没有可导出的消息",
370 ArgSkillShow: "查看 skill 内容",
371 ArgSkillNew: "新建一个 skill",
372 ArgSkillPaths: "显示发现路径",
373 ArgMcpAdd: "连接一个服务器",
374 ArgMcpRemove: "断开一个服务器",
375 ArgMcpConnected: "已连接",
376 ArgHooksList: "列出生效的 hooks",
377 ArgModelCurrent: "当前",
378 ArgEffortAuto: "使用模型默认值",
379 ArgEffortLow: "较轻推理",
380 ArgEffortMedium: "均衡推理",
381 ArgEffortHigh: "较深推理",
382 ArgEffortXHigh: "超高推理",
383 ArgEffortMax: "最高推理",
384 ArgPresetStandard: "自适应默认档",
385 ArgPresetDelivery: "交付级完成门槛",
386 ArgThemeCurrent: "当前",
387 ArgLanguageAuto: "从 REASONIX_LANG / 系统 locale 自动检测",
388 ArgLanguageEn: "English",
389 ArgLanguageZh: "中文",
390
391 ListModelsHeaderFmt: "模型(当前:%s)",
392 ListModelsHint: "用底部的模型切换器,或输入 /model <provider/model>",
393 ListMemorySaved: "保存的记忆",
394 ListMemoryArchived: "归档的记忆",
395 ListMemoryNone: "暂无记忆 — 用 “/remember <内容>” 添加,或运行 /init 生成 AGENTS.md",
396 ListSkillsHeaderFmt: "skills(%d 个)",
397 ListSkillsNone: "暂无 skill — 调用内置的(如 /init),或用 install_skill 创建一个",
398 ListHooksHeaderFmt: "hooks(生效 %d 个)",
399 ListHooksNone: "无生效 hooks — 在 .reasonix/settings.json(项目)或 <Reasonix home>/settings.json(全局)配置",
400 ListMcpHeader: "MCP 服务器",
401 ListMcpNone: "未连接 MCP 服务器 — 在 reasonix.toml([[plugins]])或项目 .mcp.json 中添加",
402
403 MemoryEditHint: "可直接编辑记忆文档,或输入 “/remember 内容” 快速记录;文档改动会在下次会话生效",
404 ForgetUsage: "用法:/forget <name> — name 是 /memory 中显示的条目标识",
405 ForgetDoneFmt: "已归档记忆:%s",
406 QuickRememberEmpty: "没有要记录的内容",
407 QuickRememberDoneFmt: "已记住 → %s",
408 GoalEmpty: "目标:无 — 用 /goal <目标> 设置",
409 GoalCurrentFmt: "目标:%s",
410 GoalSetFmt: "目标已设置 → %s",
411 GoalCleared: "目标已清除",
412 GoalNotRunning: "没有运行中的目标可暂停",
413 GoalNotPaused: "没有已暂停或被阻塞的目标可恢复",
414 GoalPaused: "目标已暂停 — /goal resume 可继续",
415 GoalPausedReason: "用户手动暂停",
416 GoalPausedFmt: "目标已暂停(%s)— 使用 /goal resume 继续",
417 GoalRuntimeFmt: "运行状态:轮次 %d · 请求 %d · token %d · 工作时间 %s",
418 GoalRuntimeLastReason: "最近原因",
419 ModelSwitchUnavailable: "本会话不支持切换模型",
420 ModelSwitchBusy: "请先完成或取消当前工作,并停止后台任务后再切换模型",
421 ModelAlreadyOnFmt: "已经在使用 %s",
422 ModelSwitchingFmt: "正在切换到 %s…",
423 ModelSwitchedFmt: "已切换到 %s(会保留当前对话,但提示词缓存会重新计算)",
424 ModelListHeader: "模型(/model <provider/model> 切换)",
425 RuntimeSwitchPending: "请等待当前运行时切换完成",
426 RuntimeReloadQueued: "已加入重载队列——当前工作完成后执行",
427 RuntimeReloaded: "运行时已重载",
428 RuntimeReloadedGenerationFmt: "运行时已重载(构建代号 %d)",
429 WorkModeUsage: "用法:/preset <旧模式值>(已退役;已知值统一使用标准执行)",
430 WorkModeDeprecatedNotice: "执行模式已退役。已知旧值仅为兼容而接受,并统一使用标准执行。",
431 QualityFloorApplied: "执行模式已退役;当前继续使用标准执行。",
432 RewindNone: "暂无可回滚的内容",
433 RewindCodeConversation: "代码 + 对话",
434 RewindConversationOnly: "仅对话",
435 RewindCodeOnly: "仅代码",
436 RewindFork: "分叉",
437 RewindSummarizeFrom: "压缩此处之后(保留历史)",
438 RewindSummarizeUpto: "压缩此处之前(保留历史)",
439 RewindPickTitle: "⟲ 回滚 — 选择一轮",
440 RewindPickHint: "↑/↓ 移动 · Enter 选择 · Esc 关闭",
441 RewindRestoreTitleFmt: "⟲ 恢复到第 %d 轮 ",
442 RewindApplyHint: "↑/↓ · Enter 应用 · Esc 返回",
443 RewindCoverageTitle: "⚠ 文件覆盖不完整",
444 RewindCoverageWarningFmt: "检测到 %d 个覆盖缺口,部分文件修改可能无法恢复。",
445 RewindConfirmHint: "Enter/y 确认 · Esc 返回",
446 RewindUnavailableFmt: "无法回滚:%s",
447 RewindEmpty: "(空)",
448
449 EnterAPIKeysHeader: "输入 API key(回车跳过、稍后再设):",
450 WroteFileFmt: "已写入 %s",
451 SetupComplete: "设置完成。",
452 SetupCancelled: "设置已取消。",
453 TryHintFmt: "试试: %s",
454 NextHint: "下一步:设置 API key(运行 `reasonix setup` 或 export DEEPSEEK_API_KEY=...),然后运行 `reasonix run \"你的任务\"`。",
455 ConfirmReconfigureFmt: "%s 已存在。重新配置并覆盖?",
456 NotOverwritingFmt: "%s 已存在,不覆盖",
457 SetupManagerTitle: "供应商配置",
458 SetupAddOpenAI: "添加 OpenAI 兼容供应商",
459 SetupAddAnthropic: "添加 Anthropic 兼容供应商",
460 SetupProviderExistsFmt: "供应商 %q 已存在。请进入现有供应商管理来编辑模型或设置。",
461 SetupSaveExit: "保存并退出",
462 SetupSaveExitDesc: "写入当前暂存的修改",
463 SetupCancel: "取消",
464 SetupCancelDesc: "放弃全部暂存修改",
465 SetupModelsUnit: "个模型",
466 SetupKeySet: "已设置 Key",
467 SetupKeyMissing: "缺少 Key",
468 SetupDefaultBadge: "默认",
469 SetupProviderActionsFmt: "管理 %s",
470 SetupEditProvider: "编辑供应商",
471 SetupUpdateKey: "更新 API Key",
472 SetupTestRefresh: "测试连接 / 刷新模型列表",
473 SetupSetDefault: "设置默认模型",
474 SetupRemoveProvider: "删除供应商",
475 SetupBack: "返回",
476 SetupPromptModels: "模型列表(用逗号分隔)",
477 SetupSharedKeyWarningFmt: "%s 已被 %s(%s)使用。确认共享这项凭据?",
478 SetupKeyEnvTakenFmt: "%s 已被 provider %s 使用;把这个 key 存进去会替换那个 provider 的 key。",
479 SetupKeyEnvStoredFmt: "%s 已经保存了一项凭据;把这个 key 存进去会覆盖原来的值。",
480 SetupKeyEnvSettingFmt: "%s 已被机器人或远程主机设置读取;把这个 key 存进去会让那项设置拿到你的 key。",
481 SetupKeyEnvShellFmt: "%s 已在 Reasonix 运行的环境变量中设置;把这个 key 存进去会覆盖那个值。",
482 SetupKeyEnvRetry: "请换一个变量名,或直接回车由 Reasonix 分配独立变量。",
483 SetupPromptAPIKeyFmt: "输入 %s 的新值",
484 SetupSelectDefaultModel: "选择默认模型",
485 SetupConfirmRemoveFmt: "确认删除供应商 %s?",
486 SetupSummaryTitle: "待保存修改:",
487 SetupSummaryAddedFmt: "新增:%s",
488 SetupSummaryEditedFmt: "编辑:%s",
489 SetupSummaryRemovedFmt: "删除:%s",
490 SetupSummaryDefaultFmt: "默认模型:%s",
491 SetupSummaryKeysFmt: "更新 API Key:%d 项",
492 SetupSummaryNoChanges: "没有修改",
493 SetupConfirmSave: "保存这些修改?",
494 SetupConcurrentChangeFmt: "setup 打开期间配置已被修改(%s)。本次暂存修改未写入,请重新运行 setup 检查最新配置。",
495
496 // model fetching
497 FetchingModelsFmt: "正在获取 %s 的模型列表...",
498 FetchModelsSuccessFmt: "发现 %d 个 %s 模型",
499 FetchModelsFailedFmt: "获取 %s 模型失败: %v",
500 FetchModelsUsingPresetsFmt: "无法在线获取 %s 的模型,使用预设列表",
501 SelectModelsLabel: "选择要启用的 %s 模型",
502 CustomFetchEmpty: "/models 返回为空,回退到手动输入",
503 AnthropicFetchEmpty: "/models 返回为空 — Anthropic 兼容服务通常不提供此端点,回退到手动输入",
504 APIKeyAlreadySetFmt: "复用已设置的 %s",
505 APIKeyResetPromptFmt: "重新输入 %s?",
506 InvalidAPIKeyEnvFmt: "%q 不是有效的 API Key 变量名。只能使用字母、数字和下划线(例如 MY_PROVIDER_API_KEY);这里不要填写模型名。",
507 RepairedAPIKeyEnvFmt: "provider %s:已将无效的 API Key 变量名 %q 修复为 %q",
508
509 // custom provider
510 CustomProviderDesc: "添加第三方 OpenAI 兼容模型",
511 CustomAddMethodLabel: "添加第三方 OpenAI 兼容模型 - 选择添加方式",
512 CustomMethodManual: "手动输入模型名称",
513 CustomMethodURL: "从 URL 获取模型列表",
514 CustomPromptModel: "请输入模型名称",
515 CustomPromptBaseURL: "请输入 Base URL",
516 CustomPromptKeyEnv: "API Key 变量名(直接回车由 Reasonix 自动分配,不是模型名)",
517 CustomPromptAPIKey: "请输入 API Key",
518 CustomPromptWindow: "上下文窗口(tokens,填得比模型真实窗口小会导致过早压缩)",
519 CustomAddedFmt: "已添加自定义模型: %s",
520
521 // Anthropic 兼容 provider
522 AnthropicProviderDesc: "添加第三方 Anthropic 兼容模型",
523 AnthropicAddMethodLabel: "添加第三方 Anthropic 兼容模型 - 选择添加方式",
524 AnthropicMethodManual: "手动输入模型名称",
525 AnthropicMethodURL: "从 URL 获取模型列表",
526 AnthropicPromptModel: "请输入模型名称",
527 AnthropicPromptBaseURL: "请输入 Base URL",
528 AnthropicPromptKeyEnv: "API Key 变量名(直接回车由 Reasonix 自动分配,不是模型名)",
529 AnthropicPromptAPIKey: "请输入 API Key",
530 AnthropicAddedFmt: "已添加 Anthropic 兼容模型: %s",
531 AnthropicFetchingModelsFmt: "正在获取 %s 的模型列表...",
532 AnthropicFetchModelsSuccessFmt: "发现 %d 个 %s 模型",
533 AnthropicFetchModelsFailedFmt: "获取 %s 模型失败: %v",
534 AnthropicSelectModelsLabel: "选择要启用的 %s 模型",
535
536 RemoteConnectingFmt: "正在连接 %s…",
537 RemoteConnectedFmt: "已连接到 %s",
538 RemoteReconnectingFmt: "正在重连 %s(第 %d 次)…",
539 RemoteDegradedFmt: "已连接到 %s,但部分端口转发未建立",
540 RemoteDisconnected: "已断开(远端 serve 仍在运行)",
541 RemoteServeReadyFmt: "远端 serve 就绪:%s",
542 RemoteHostKeyPromptFmt: "未知的主机密钥 %s\n 类型:%s\n 指纹:%s",
543 RemotePassphrasePromptFmt: "%s 的密钥口令:",
544 RemotePasswordPromptFmt: "%s 的登录密码:",
545 RemoteBootstrapStepFmt: "远端 serve:%s %s",
546 RemoteNoHostsHint: "尚未配置远程主机;用 `reasonix remote add <名称> [user@]host` 添加",
547
548 UnknownCommandFmt: "未知命令 %q",
549 UsageRunHint: "用法:reasonix -p [--model NAME] <task>",
550 ErrorPrefix: "错误:",
551 ReconfigureOnUnknownModel: "配置的模型已不可用 —— 重新运行引导配置。",
552 WriteConfigErr: "写入配置失败:",
553 WriteEnvErr: "写入 .env 失败:",
554
555 ProviderErrBadRequest: "请求格式错误 (HTTP 400):请求体被拒绝,通常是程序缺陷。若持续出现请反馈。",
556 ProviderErrContextOverflowFmt: "请求超出共享上下文窗口:prompt %d + 输出 %d = %d tokens,窗口只有 %d。请压缩、用更小的输出上限重试、分叉或回溯后再发送。",
557 ProviderErrAuth: "认证失败 (HTTP 401):未读到 API key(缺失或未设置)。请在 .env 中配置密钥,或运行 `reasonix setup`。",
558 ProviderErrAuthRejected: "认证失败 (HTTP 401):服务端拒绝了你的 API key。可能是 key 错误或已过期,也可能是服务端出现瞬时鉴权/额度问题。请稍后再试,或检查 .env 中的密钥 / 运行 `reasonix setup`。",
559 ProviderErrModelFormatMismatch: "模型/API 格式不匹配:服务端不支持当前模型使用所选 provider 线路。这不是 API key 失效;请选择支持该模型的 provider 线路。",
560 ProviderErrOpenCodeGoGrokRoute: "OpenCode Go 的 `grok-4.5` 请使用 OpenCode Go Responses 预设。",
561 ProviderErrQuotaExhaustedFmt: "%s:供应商余额或套餐额度不足(HTTP %d)。请检查账户额度后继续。",
562 ProviderErrReasonMissing: "上游拒绝了请求,但未提供具体原因。",
563 ProviderErrStreamInterruptedFmt: "模型回复中断,已收到的内容会保留。确认服务恢复后可重新发送。\n详细信息:%s",
564 ProviderErrDisconnectedFmt: "模型连接在完成前断开,请检查供应商或代理连接后重新发送。\n详细信息:%s",
565 ProviderErrNonStreamingFmt: "模型端点返回了完整页面而非流式响应,请把 request_url 或 base_url 指向完整的 API 端点(而非网关根路径)后重新发送。\n详细信息:%s",
566 SearchSourcesNotProvided: "搜索已完成,供应商未提供可用的结构化来源。",
567 SearchModelUnavailable: "指定的网页搜索模型不可用;不会改用其他账号。",
568 ProtocolRecoveryLabel: "从有效历史恢复",
569 ProviderErrInsufficientBalance: "余额不足 (HTTP 402):账户余额不足,请前往充值后重试。",
570 ProviderErrNotFound: "请求地址不存在(HTTP 404)。请检查 API 格式和请求地址。",
571 ProviderErrUnprocessable: "参数错误 (HTTP 422):某个请求参数被拒绝,通常是程序缺陷。若持续出现请反馈。",
572 ProviderErrInputSensitive: "输入被 MiniMax 内容审查拒绝(错误码 1026)。审查对象可能包含会话历史和工具结果;请调整相关内容,或新建会话仅保留必要上下文。原样重试通常无效。",
573 ProviderErrOutputSensitive: "MiniMax 生成的内容被内容审查拒绝(错误码 1027)。请调整请求内容后重试;若持续出现,可改用其他服务商。",
574 ProviderErrRateLimited: "请求速率达到上限 (HTTP 429):请求过于频繁 (TPM/RPM)。请放慢速率或稍后再试。",
575 ProviderErrServer: "服务器故障 (HTTP 500):服务端内部错误。请稍后再试。",
576 ProviderErrServerBusy: "服务器繁忙 (HTTP 503):服务端负载过高。请稍后再试。",
577 ProviderErrWaitExhaustedFmt: "已等待 %s,供应商始终无法连接,Reasonix 已停止等待。请检查网络、代理或供应商状态页,然后重新发送。",
578
579 SelectOneHint: "(↑/↓ · Enter · q 取消;/ 搜索)",
580 SelectManyHint: "(↑/↓ · Space · Enter · q;/ 搜索)",
581
582 SelectMoreAboveFmt: " ↑ 上方还有 %d 个",
583 SelectMoreBelowFmt: " ↓ 下方还有 %d 个",
584 SelectSearchHint: "/ 搜索 · 输入关键词过滤 · Esc 取消搜索",
585
586 CmdProvider: "切换供应商",
587 ProviderListHeader: "供应商(/provider <名称> 切换)",
588 ProviderAlreadyOnFmt: "已经在使用供应商 %s",
589 ProviderUnknownFmt: "未知供应商 %q",
590 ProviderPickLabel: "选择 %s 的一个模型",
591 ProviderNoModelsFmt: "供应商 %s 没有已配置的模型",
592
593 // 自更新
594 UpgradeChecking: "正在检查更新…",
595 UpgradeChannelDeprecated: "发布渠道已停用;将使用最新正式版。",
596 UpgradeDevBuild: "开发版本无法自更新",
597 UpgradeFetchFailed: "检查更新失败:%v",
598 UpgradeInvalidVersion: "远程版本不是有效的 semver",
599 UpgradeAlreadyLatest: "已是最新版本。",
600 UpgradeForcing: "强制重新安装当前版本…",
601 UpgradeAvailableFmt: "当前:%s → 最新:%s",
602 UpgradeNoAssetFmt: "未找到 %s 的安装包",
603 UpgradeDownloadingFmt: "正在下载 %s(%s)…",
604 UpgradeDownloadFailed: "下载失败:%v",
605 UpgradeVerifying: "正在校验 SHA256…",
606 UpgradeChecksumFailed: "无法获取校验文件:%v",
607 UpgradeChecksumMismatchFmt: "SHA256 不匹配:得到 %s,期望 %s",
608 UpgradeChecksumNotFoundFmt: "SHA256SUMS 中未找到 %s",
609 UpgradeExtractFailed: "解压二进制文件失败:%v",
610 UpgradeApplying: "正在替换二进制文件…",
611 UpgradeApplyFailed: "应用更新失败:%v",
612 UpgradeSuccessFmt: "已更新 %s → %s",
613
614 ReportNoPending: "没有待处理的 CLI 崩溃报告。",
615 ReportHeaderFmt: "CLI 崩溃报告 %s",
616 ReportCapturedFmt: "捕获时间:%s",
617 ReportPreviewOnlyFmt: "当前仅预览。运行 `reasonix report send %s` 可发送这份报告。",
618 ReportSendPrompt: "将这份已脱敏报告发送到 crash.reasonix.io?",
619 ReportKept: "报告已保留在本地。",
620 ReportDeletedFmt: "已删除 CLI 崩溃报告 %s。",
621 ReportSentFmt: "已发送 CLI 崩溃报告 %s。",
622 ReportConfigFailedFmt: "无法加载网络配置:%v",
623 ReportUploadFailedFmt: "报告上传失败;本地报告已保留:%v",
624 ReportSentDeleteFailedFmt: "报告已发送,但无法删除本地副本:%v",
625 ReportUsageBody: `用法:
626 reasonix report 预览最新本地报告并确认是否发送
627 reasonix report list 列出本地 CLI 崩溃报告
628 reasonix report show [ID] 预览报告(省略 ID 时使用最新一份)
629 reasonix report send [ID] 发送已审阅报告,成功后删除本地副本
630 reasonix report delete [ID] 不发送,直接删除本地报告`,
631
632 CLITelemetryConsentNotice: "Reasonix 可以向 crash.reasonix.io 发送匿名、完全不含内容的 CLI 使用统计:随机安装 ID、版本、操作系统和固定质量分桶。绝不会发送 prompt、回答、代码、路径、模型或工具内容、环境变量。之后可运行 `reasonix config telemetry off` 关闭。",
633 CLITelemetryConsentPrompt: "允许发送匿名 CLI 使用统计吗?",
634 CLITelemetryConsentInvalid: "请输入 y 或 n。",
635 CLITelemetryConsentSaveFailedFmt: "由于无法保存偏好设置,CLI 使用统计仍保持关闭:%v",
636 CLITelemetryConsentCleanupFailedFmt: "CLI 使用统计已关闭,但无法删除待发送统计:%v",
637
638 UsageBody: `reasonix — 由配置和插件驱动的 coding agent(多模型)
639
640 用法:
641 reasonix [--model NAME] [-c|--continue] [-r|--resume [QUERY]] [--permission-mode MODE] [--effort LEVEL] [--add-dir PATH] 交互式会话
642 reasonix -p|--print [--model NAME] [--output-format text|json|stream-json] [--allowed-tools RULES] [--add-dir PATH] <task>
643 reasonix run [--model NAME] [--max-steps N] [-c|--continue] [--resume PATH] [--copy] [--output-format FORMAT] <task>
644 reasonix run --events-jsonl [--model NAME] <task> 输出脱敏结构化事件 JSONL
645 reasonix review [--base BRANCH] [--commit SHA] [--model NAME] AI 代码审查(基于本地 diff)
646 reasonix web [--model NAME] [--addr HOST:PORT] [--no-open] 启动本地 Web UI 并用默认浏览器打开
647 reasonix serve [--model NAME] [--addr HOST:PORT] [--auth none|token|password] [--token STR] [--password STR] [--hash-password] 通过 HTTP+SSE 提供服务(支持可选认证)
648 reasonix acp [--model NAME] 通过 stdio 提供 Agent Client Protocol(也可用:reasonix --acp)
649 reasonix setup [path] 交互式配置向导;生成 reasonix.toml(及 .env)
650 reasonix config reasoning-language [auto|zh|en] 配置可见思考语言
651 reasonix config compact-ratio [--local] [30..85] 配置自动压缩阈值
652 reasonix config telemetry [auto|on|off] 配置不含内容的 CLI 使用统计
653 reasonix report [list|show|send|delete] [ID] 审阅并明确发送本地 CLI 崩溃报告
654 reasonix mcp <add|remove|list|import> 管理 reasonix.toml 里的 MCP 服务器
655 reasonix subagent <list|create|edit|delete|try|run> 管理和运行隔离子智能体 profile
656 reasonix init 查看如何生成项目记忆(AGENTS.md)
657 reasonix doctor [--json] 输出脱敏的本地诊断信息
658 reasonix doctor session <branch-id> [--zip] [--out PATH] 导出会话冲突诊断 zip
659 reasonix session list --json [--dir PATH] 为机器客户端列出脱敏会话
660 reasonix session show|status <machine-session-id> --json [--dir PATH] 查询单个脱敏会话
661 reasonix session recovery [<machine-session-id>] --json [--dir PATH] 查询脱敏恢复状态
662 reasonix hook list|status --json [--dir PATH] 查看脱敏 Hook 状态
663 reasonix trust [--dir PATH] [--yes|--revoke] 审阅并批准本项目要运行的程序
664 reasonix task list|show|status|events|stop|cancel|monitor|tmux --json [--dir PATH]
665 查看或控制脱敏 Task
666 reasonix bot start|doctor|weixin-login 多渠道 IM bot 网关
667 reasonix upgrade [--check] [--force] 更新到最新正式版(别名:reasonix update)
668 reasonix completion bash|zsh|fish 打印 shell 补全脚本到 stdout
669 reasonix version [--verbose|--json] 打印版本(单行)或构建元信息
670 reasonix --version | -v 单行版本(脚本安全)
671 reasonix help
672
673 示例:
674 reasonix
675 reasonix --continue
676 reasonix --resume provider-config
677 reasonix web
678 reasonix run "把 main.go 里的 TODO 实现掉"
679 reasonix run --model mimo-pro "给这个函数补单元测试"
680 reasonix -p "总结这个仓库" --output-format json
681 reasonix subagent run review "审查当前改动"
682 echo "解释这段代码" | reasonix run
683
684 配置:
685 优先级:flag > ./reasonix.toml > <Reasonix home>/config.toml > 内置默认值
686 密钥通过 api_key_env 从环境变量注入(如 DEEPSEEK_API_KEY)。
687 运行 'reasonix setup' 生成配置;详见 docs/SPEC.md。
688 `,
689 }
690
690 lines GO