ihui-cli 0.0.0-stage → 1.0.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/LICENSE +201 -0
- package/NOTICE +44 -0
- package/README.md +219 -2
- package/dist/index.js +129648 -0
- package/dist/messages/cli/en.json +533 -0
- package/dist/messages/cli/ja.json +533 -0
- package/dist/messages/cli/ko.json +533 -0
- package/dist/messages/cli/zh-CN.json +533 -0
- package/dist/messages/cli/zh-TW.json +533 -0
- package/dist/messages/shared/en.json +2489 -0
- package/dist/messages/shared/ja.json +2489 -0
- package/dist/messages/shared/ko.json +2489 -0
- package/dist/messages/shared/zh-CN.json +2489 -0
- package/dist/messages/shared/zh-TW.json +2489 -0
- package/package.json +31 -4
|
@@ -0,0 +1,533 @@
|
|
|
1
|
+
{
|
|
2
|
+
"common": {
|
|
3
|
+
"notFound": "未找到 {target}"
|
|
4
|
+
},
|
|
5
|
+
"cli": {
|
|
6
|
+
"bgNoticeStatus": "任务 {id} 状态: {status} exitCode: {exitCode}",
|
|
7
|
+
"bgNoticeTimedOut": "[任务超时]",
|
|
8
|
+
"bgNoticeStoppedByUser": "[已由用户停止] 这一条是人为停下的,系统不会自动重发。",
|
|
9
|
+
"bgNoticeStoppedByModel": "[由模型停止] 模型主动结束了这一条;任务还没做完的话,可以重新发起。",
|
|
10
|
+
"bgNoticeStoppedBySuperseded": "[已被取代] 这一条被更新的一次运行取代而停止;还需要它的话,可以重新发起。",
|
|
11
|
+
"bgNoticeStopInitiatorUnknown": "[停止发起方未记录] 这一条是被停下的,但谁停的没有落盘 —— 不作推断。",
|
|
12
|
+
"bgNoticeNoObservableSource": "[无可观察源] 进程已不在、输出与退出码都没有留下、当场也没有等待者接得住 —— 这条终态的结果拿不回来。不得读成成功,也不得据此重跑同一条命令(重跑是另一个决定,不是恢复结果的手段)。",
|
|
13
|
+
"custom": {
|
|
14
|
+
"unknown": "未找到自定义命令 /{name}。在自定义命令目录 {dir} 下新建 {name}.md 即可添加(正文用 $ARGUMENTS 接收全部输入,或用 $1、$2 接收位置参数)。内置命令请用 /help 查看。",
|
|
15
|
+
"reserved": "自定义命令名 /{name} 与内置命令 /{owner} 冲突,已拒绝(内置命令永远优先)。请换一个名字。",
|
|
16
|
+
"invalidName": "自定义命令名 \"{name}\" 不合法:须以小写字母开头,仅可包含小写字母、数字、- 与 _。",
|
|
17
|
+
"emptyBody": "自定义命令 /{name} 的正文为空,没有可发送的内容。请在 {path} 写入正文。",
|
|
18
|
+
"unsupportedShell": "自定义命令 /{name} 使用了暂不支持的动态 shell 展开(! 反引号 或 ```! 代码块),已拒绝执行。请把需要的内容直接写进正文。",
|
|
19
|
+
"missingArgs": "自定义命令 /{name} 需要第 {required} 个参数,但本次只收到 {given} 个。请补全参数后重试,或把正文改为用 $ARGUMENTS 接收全部输入。",
|
|
20
|
+
"saved": "已保存自定义命令 /{name}:{path}"
|
|
21
|
+
},
|
|
22
|
+
"permNoteDefault": "每一步都会请求确认(最保守)",
|
|
23
|
+
"permNotePlan": "只读规划:不会改动你的文件,批准后才执行",
|
|
24
|
+
"permNoteAcceptEdits": "文件编辑自动通过,命令与危险工具仍需确认",
|
|
25
|
+
"permNoteBypass": "不再逐步确认,AI 可直接改动文件与执行命令(高风险)",
|
|
26
|
+
"permNoteManual": "全部操作转人工确认,含只读查询",
|
|
27
|
+
"citationSources": "参考来源:{sources}",
|
|
28
|
+
"steerApplied": "引导已生效:{text}",
|
|
29
|
+
"budgetWarningTitle": "今日 AI 用量较高",
|
|
30
|
+
"budgetCriticalTitle": "今日 AI 用量即将耗尽",
|
|
31
|
+
"budgetNote": "{title}:{detail}",
|
|
32
|
+
"budgetUsedTokens": "已用 {used} / {limit} tokens",
|
|
33
|
+
"budgetResetTomorrow": "明日 0 点重置",
|
|
34
|
+
"budgetTier": "{tier} 档",
|
|
35
|
+
"injectionApplied": "本轮参考上下文:{sources}",
|
|
36
|
+
"injectionSrcDeveloper": "自定义指令",
|
|
37
|
+
"injectionSrcWorkspace": "工作区记忆",
|
|
38
|
+
"injectionSrcRepoWiki": "仓库 Wiki",
|
|
39
|
+
"injectionSrcAutoContext": "{count} 段检索上下文",
|
|
40
|
+
"retryHint": "按 ↑ 可调出上一条提问重发",
|
|
41
|
+
"retryScheduled": "上游暂不可用:第 {attempt}/{max} 次重试,{seconds} 秒后继续",
|
|
42
|
+
"retryScheduledNow": "上游暂不可用:第 {attempt}/{max} 次重试(立即继续)",
|
|
43
|
+
"sessionResumed": "恢复最近会话: {id} ({count, plural, =0 {无历史} other {{count} 条历史}})",
|
|
44
|
+
"sessionResumedWithId": "恢复会话: {id} ({count} 条历史)",
|
|
45
|
+
"noSessions": "暂无历史会话",
|
|
46
|
+
"errorPathIsDir": "路径是目录,不是文件: {path}",
|
|
47
|
+
"errorFileEmpty": "文件内容为空: {path}",
|
|
48
|
+
"errorFileNotFound": "文件不存在: {path}",
|
|
49
|
+
"errorReadFile": "读取文件失败: {message}",
|
|
50
|
+
"errorPromptFile": "--prompt-file 错误: {error}",
|
|
51
|
+
"agentUsage": "用法: ihui agent <task> 或 ihui agent --prompt-file <path>",
|
|
52
|
+
"agentsMdExists": "AGENTS.md 已存在。使用 --force 覆盖。",
|
|
53
|
+
"agentsMdCreated": "已创建: {path}",
|
|
54
|
+
"queue": {
|
|
55
|
+
"enqueued": "已排队 [{id}] (后续输入模式=queue,共 {n} 项待执行)",
|
|
56
|
+
"helpMove": "调整排队项顺序(运行中锁定)",
|
|
57
|
+
"helpEdit": "编辑排队项文本(元数据不变)",
|
|
58
|
+
"helpRun": "打断当前回合并执行队首",
|
|
59
|
+
"helpMode": "设置运行中输入的后续输入模式",
|
|
60
|
+
"usageMove": "用法: /queue move <起始序号> <目标序号>(顺序见 /queue list)",
|
|
61
|
+
"usageEdit": "用法: /queue edit <id> <新文本>",
|
|
62
|
+
"usageMode": "用法: /queue mode <steer|queue>",
|
|
63
|
+
"denied": {
|
|
64
|
+
"reorder": "无法调整排队顺序",
|
|
65
|
+
"undo": "无法撤回排队消息",
|
|
66
|
+
"interject": "当前 Runtime 不支持插话,消息将继续排队"
|
|
67
|
+
},
|
|
68
|
+
"reordered": "✓ 已重排({from} → {to})",
|
|
69
|
+
"edited": "✓ 已编辑 [{id}](元数据未变)",
|
|
70
|
+
"noopMove": "未执行: 序号越界或与原位相同",
|
|
71
|
+
"noopEdit": "未执行: 找不到该 id 或文本为空({id})",
|
|
72
|
+
"interrupting": "正在打断当前回合以执行队首 [{id}]",
|
|
73
|
+
"noRunning": "当前没有进行中的回合; 队首 [{id}] 将在下一次提示循环后执行",
|
|
74
|
+
"runEmpty": "队列为空, 无可执行项",
|
|
75
|
+
"modeSet": "✓ 后续输入模式 = {mode}",
|
|
76
|
+
"degradedNote": "(已降级: {reason})"
|
|
77
|
+
},
|
|
78
|
+
"branch": {
|
|
79
|
+
"usage": "用法: /branch [标题] | /branch -c <会话id> [标题]",
|
|
80
|
+
"usageShort": "/branch [标题] | /branch -c <会话id> [标题]",
|
|
81
|
+
"menu": "分支远端会话:从最近一条回答处开一个新会话",
|
|
82
|
+
"errUnknownFlag": "不支持的参数",
|
|
83
|
+
"errBadConversationId": "会话 id 必须是服务端 UUID",
|
|
84
|
+
"errBadTitle": "标题过长(最多 255 字)",
|
|
85
|
+
"errNoConversations": "账号下没有可分叉的会话",
|
|
86
|
+
"errNoMessages": "该会话还没有消息,无法分叉",
|
|
87
|
+
"errNoBranchable": "该会话的历史里没有服务端消息 id,无法分叉",
|
|
88
|
+
"errRequestFailed": "服务端拒绝了请求",
|
|
89
|
+
"errTransportFailed": "无法连接后端",
|
|
90
|
+
"withDetail": "{reason}: {detail}",
|
|
91
|
+
"failedWithStatus": "分叉失败: {reason}(状态码 {status})",
|
|
92
|
+
"failedNoStatus": "分叉失败: {reason}",
|
|
93
|
+
"resolvedLatest": "未指定会话,已取最近活跃的远端会话「{sourceTitle}」({sourceId})",
|
|
94
|
+
"created": "✓ 已从「{sourceTitle}」分叉出「{branchTitle}」,分叉点={anchor}消息,新会话 id={branchId}",
|
|
95
|
+
"roleAssistant": "助手",
|
|
96
|
+
"roleUser": "用户"
|
|
97
|
+
},
|
|
98
|
+
"hooks": {
|
|
99
|
+
"trustedHeader": "已信任的目录(~/.ihui/trusted-folders):",
|
|
100
|
+
"trustedNone": " 无 —— 任何项目自带的钩子都不会执行",
|
|
101
|
+
"currentDirMark": " ← 当前目录",
|
|
102
|
+
"currentDirUntrusted": " 当前目录未信任:{path}(用 `ihui hooks trust` 信任它)",
|
|
103
|
+
"trustDesc": "信任指定目录(默认当前目录),允许它自带的项目钩子执行",
|
|
104
|
+
"trustErrNotDir": "✗ 目录不存在,未写入信任名单:{path}",
|
|
105
|
+
"trustAlready": "✓ 该目录已在信任名单里:{path}",
|
|
106
|
+
"trustWriteFailed": "✗ 写入 ~/.ihui/trusted-folders 失败:{path}",
|
|
107
|
+
"trustOk": "✓ 已信任目录:{path}",
|
|
108
|
+
"trustWarning": " 该目录下的 .ihui/.claude/.cursor hooks.json 从此会真实执行(command 走 shell,webhook 会外发工具输入输出)。只信任你自己写过的配置。",
|
|
109
|
+
"untrustDesc": "把目录移出信任名单(~/.ihui/trusted-folders)",
|
|
110
|
+
"untrustNotListed": "✓ 该目录本来就不在信任名单里:{path}",
|
|
111
|
+
"untrustOk": "✓ 已取消信任:{path}"
|
|
112
|
+
},
|
|
113
|
+
"commandSafety": {
|
|
114
|
+
"dangerous": "⚠ 危险命令被拦截:命令匹配危险模式 {pattern}\n如确需执行,请设置 IHUI_YOLO=1",
|
|
115
|
+
"alwaysConfirm": "⚠ 命令被拦截:它属于\"永远需要确认\"档(删除 / 强推 / rebase / 发布一类难以撤销的操作),IHUI_YOLO 不得静默放行。\n去掉 IHUI_YOLO 后重试,由你逐条确认。"
|
|
116
|
+
},
|
|
117
|
+
"sandbox": {
|
|
118
|
+
"spawnError": "命令未能启动({code})—— 子进程从未执行,这不是\"跑完了但没有输出\";请检查命令与当前工作目录({cwd})是否存在。",
|
|
119
|
+
"outputLimit": "输出超过 {maxOutputBytes} 字节上限({code}),进程被终止、输出被截断 —— 这是\"输出过长\"的独立终态,不是超时;要拿全量请调大 maxOutputBytes 或收窄命令输出。",
|
|
120
|
+
"outputSpilled": "输出超过 {maxOutputBytes} 字节内存窗口,溢出部分已落盘:{path} —— 全量输出不驻留内存;文件保留供取证,确认后可自行删除。",
|
|
121
|
+
"statusMissing": "缺失",
|
|
122
|
+
"unattributed": "失败类型未判定(保留原始信息:{raw})—— 未归为超时,也未归为正常完成,请人工确认后再重试。",
|
|
123
|
+
"fsProbeUnavailable": "命令空输出且以 {status} 退出,但文件系统状态无法查询({why})—— 未判定:既未定为\"空间/inode 已尽\",也未当作\"什么都没发生\"。",
|
|
124
|
+
"fsExhaustedSpace": "根因诊断:命令空输出且以 {status} 退出,而 {cwd} 所在文件系统实测空间已尽(bavail×bsize≈{availMB}MB,低于 10MB 诊断阈)—— 大概率是磁盘写满导致输出/落盘失败;请清理磁盘空间后重试。",
|
|
125
|
+
"fsExhaustedInodes": "根因诊断:命令空输出且以 {status} 退出,而 {cwd} 所在文件系统实测 inode 已尽(ffree={freeInodes},低于 1000 诊断阈)—— 目录项已满;请清理大量小文件/目录,或检查该文件系统的 inode 配额后重试。",
|
|
126
|
+
"envCredentialReport": "已按凭据形态从子进程 env 剥离以下疑似凭据变量(默认全剥;白名单透传经 MCP server.env / hook 配置):{vars} —— 同一名单随沙盒审计日志(IHUI_SANDBOX_AUDIT_LOG)结构化留档,是第三方 CLI 突然拿不到凭据时的直接取证出口。"
|
|
127
|
+
},
|
|
128
|
+
"goalNotAchieved": "独立校验未通过:本次运行不得宣布完成",
|
|
129
|
+
"truncatedByLength": "本轮输出已达长度上限被截断,回复可能不完整;可让我分次继续,或调高 max_tokens 后重试。",
|
|
130
|
+
"truncationContinuationBadge": "输出已达长度上限,自动续写第 {count}/{max} 次(原因:{reason});若最终仍不完整会再提示。",
|
|
131
|
+
"truncatedContinuationExhausted": "已自动续写 3 次仍被长度上限截断,回复不完整;请调高 max_tokens 或让我分次继续。",
|
|
132
|
+
"partialDoneTitle": "回答被中断,以下内容可能不完整",
|
|
133
|
+
"mcpCredentials": {
|
|
134
|
+
"storePlaintext": "MCP 凭据当前以明文存于 {path}(本机降级)",
|
|
135
|
+
"storeEncrypted": "MCP 凭据已加密存储(后端:{backend})",
|
|
136
|
+
"migrationFailed": "凭据迁移未完成,已保留原文件且未覆盖({reason})"
|
|
137
|
+
}
|
|
138
|
+
},
|
|
139
|
+
"waiting": {
|
|
140
|
+
"agent": {
|
|
141
|
+
"first": {
|
|
142
|
+
"0": "正在准备回复…",
|
|
143
|
+
"1": "正在组织回答思路…",
|
|
144
|
+
"2": "收到,正在思考如何回复…",
|
|
145
|
+
"3": "正在为你生成回复…",
|
|
146
|
+
"4": "已收到问题,正在处理…"
|
|
147
|
+
},
|
|
148
|
+
"middle": {
|
|
149
|
+
"0": "正在继续处理…",
|
|
150
|
+
"1": "正在接着上文思考…",
|
|
151
|
+
"2": "正在整理后续回复…",
|
|
152
|
+
"3": "正在跟进你的问题…",
|
|
153
|
+
"4": "正在生成接下来的回复…"
|
|
154
|
+
},
|
|
155
|
+
"followup": {
|
|
156
|
+
"0": "正在理解你的追问…",
|
|
157
|
+
"1": "结合上文,正在思考…",
|
|
158
|
+
"2": "正在针对追问组织回复…",
|
|
159
|
+
"3": "收到追问,正在处理…",
|
|
160
|
+
"4": "正在补充回答…"
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"computer": {
|
|
164
|
+
"first": {
|
|
165
|
+
"0": "正在调度计算资源…",
|
|
166
|
+
"1": "正在初始化执行环境…",
|
|
167
|
+
"2": "正在启动处理流程…",
|
|
168
|
+
"3": "正在分配算力处理…",
|
|
169
|
+
"4": "正在执行初始计算…"
|
|
170
|
+
},
|
|
171
|
+
"middle": {
|
|
172
|
+
"0": "正在执行中…",
|
|
173
|
+
"1": "计算进行中,请稍候…",
|
|
174
|
+
"2": "正在处理中间结果…",
|
|
175
|
+
"3": "执行未中断,正在推进…",
|
|
176
|
+
"4": "正在运算,请稍候…"
|
|
177
|
+
},
|
|
178
|
+
"followup": {
|
|
179
|
+
"0": "正在重新计算…",
|
|
180
|
+
"1": "正在基于新输入继续执行…",
|
|
181
|
+
"2": "正在追加处理…",
|
|
182
|
+
"3": "正在更新计算结果…",
|
|
183
|
+
"4": "正在处理追加请求…"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"context": {
|
|
187
|
+
"first": {
|
|
188
|
+
"0": "正在回顾对话上下文…",
|
|
189
|
+
"1": "正在加载相关上下文…",
|
|
190
|
+
"2": "正在梳理背景信息…",
|
|
191
|
+
"3": "正在检索相关记忆…",
|
|
192
|
+
"4": "正在准备上下文…"
|
|
193
|
+
},
|
|
194
|
+
"middle": {
|
|
195
|
+
"0": "正在关联上文继续…",
|
|
196
|
+
"1": "正在结合上下文思考…",
|
|
197
|
+
"2": "正在回看前文…",
|
|
198
|
+
"3": "上下文已就绪,正在处理…",
|
|
199
|
+
"4": "正在对照历史消息…"
|
|
200
|
+
},
|
|
201
|
+
"followup": {
|
|
202
|
+
"0": "正在结合前文理解追问…",
|
|
203
|
+
"1": "正在回看相关上下文…",
|
|
204
|
+
"2": "正在关联历史追问…",
|
|
205
|
+
"3": "正在对照上文补充…",
|
|
206
|
+
"4": "结合上下文,正在处理…"
|
|
207
|
+
}
|
|
208
|
+
},
|
|
209
|
+
"plan": {
|
|
210
|
+
"first": {
|
|
211
|
+
"0": "正在制定处理计划…",
|
|
212
|
+
"1": "正在拆解你的需求…",
|
|
213
|
+
"2": "正在规划执行步骤…",
|
|
214
|
+
"3": "正在分析任务要点…",
|
|
215
|
+
"4": "正在拟定回复提纲…"
|
|
216
|
+
},
|
|
217
|
+
"middle": {
|
|
218
|
+
"0": "正在推进计划步骤…",
|
|
219
|
+
"1": "正在执行下一步…",
|
|
220
|
+
"2": "计划进行中,请稍候…",
|
|
221
|
+
"3": "正在按步骤处理…",
|
|
222
|
+
"4": "正在落实后续步骤…"
|
|
223
|
+
},
|
|
224
|
+
"followup": {
|
|
225
|
+
"0": "正在调整计划…",
|
|
226
|
+
"1": "正在根据追问更新步骤…",
|
|
227
|
+
"2": "正在重新规划…",
|
|
228
|
+
"3": "正在补充计划细节…",
|
|
229
|
+
"4": "正在跟进新的要求…"
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
"detail": {
|
|
233
|
+
"first": {
|
|
234
|
+
"0": "正在准备详细说明…",
|
|
235
|
+
"1": "正在组织细节内容…",
|
|
236
|
+
"2": "正在梳理要点…",
|
|
237
|
+
"3": "正在生成详细回复…",
|
|
238
|
+
"4": "正在完善回答细节…"
|
|
239
|
+
},
|
|
240
|
+
"middle": {
|
|
241
|
+
"0": "正在补充细节…",
|
|
242
|
+
"1": "正在展开说明…",
|
|
243
|
+
"2": "正在完善后续内容…",
|
|
244
|
+
"3": "详情整理中,请稍候…",
|
|
245
|
+
"4": "正在细化回复…"
|
|
246
|
+
},
|
|
247
|
+
"followup": {
|
|
248
|
+
"0": "正在补充你问的细节…",
|
|
249
|
+
"1": "正在展开追问的要点…",
|
|
250
|
+
"2": "正在细化相关说明…",
|
|
251
|
+
"3": "正在准备补充内容…",
|
|
252
|
+
"4": "正在完善追问的答复…"
|
|
253
|
+
}
|
|
254
|
+
},
|
|
255
|
+
"vividTail": ",马上就好"
|
|
256
|
+
},
|
|
257
|
+
"cliImportSessions": {
|
|
258
|
+
"sourceClaude": "Claude Code 的会话 transcript",
|
|
259
|
+
"sourceCodex": "Codex CLI 的 rollout 会话日志",
|
|
260
|
+
"sourceCursor": "Cursor 导出的 chat JSON / state.vscdb(SQLite) / cursor-agent 转写",
|
|
261
|
+
"sourceAider": "Aider 写在仓库内的 chat markdown 记录",
|
|
262
|
+
"invalidSource": "无效的会话来源: {valueValue}",
|
|
263
|
+
"validValues": " 有效值: {values}",
|
|
264
|
+
"sourcesHint": " 查看各来源说明: ihui import sessions sources",
|
|
265
|
+
"ambiguousNonInteractive": "发现 {length} 个候选导出文件,非交互环境无法选择。",
|
|
266
|
+
"passPathExplicitly": " 请把目标文件路径直接作为参数传入:ihui import sessions parse <source> <文件路径>",
|
|
267
|
+
"chooseExportFile": "选择要导入的导出文件:",
|
|
268
|
+
"pathNotFound": "路径不存在: {abs}",
|
|
269
|
+
"noImportableFile": "未找到可导入的导出文件。",
|
|
270
|
+
"scannedPaths": " 已扫描: {scanned}",
|
|
271
|
+
"acceptedExtensions": " 可接受后缀: {extensions}",
|
|
272
|
+
"alsoSpecifyPath": " 也可显式指定文件路径:ihui import sessions parse {source} <文件路径>",
|
|
273
|
+
"autoDiscovered": "自动发现导出文件: {first}",
|
|
274
|
+
"candidatesListed": "发现 {length} 个候选导出文件(按修改时间倒序):",
|
|
275
|
+
"fileTooLarge": "文件过大: {size}MB,上限 {limitMb}MB,请先拆分后再导入。",
|
|
276
|
+
"fileMissing": "文件不存在: {absFile}",
|
|
277
|
+
"readFailed": "读取文件失败: {reason}",
|
|
278
|
+
"parseFailed": "解析失败: {error}",
|
|
279
|
+
"untitled": "(无标题)",
|
|
280
|
+
"previewHeader": "\n会话解析预览({label})",
|
|
281
|
+
"previewFile": " 文件: {absFile}",
|
|
282
|
+
"truncatedWarning": " ⚠ 导出过大,服务端已截断,落库消息可能不完整",
|
|
283
|
+
"warningsHeader": " 警告:",
|
|
284
|
+
"noSessionsParsed": " 未解析到任何会话",
|
|
285
|
+
"sessionsCountLine": "\n 共 {length} 个会话(仅展示元信息,不展示消息正文):",
|
|
286
|
+
"noValidContent": "无有效消息内容",
|
|
287
|
+
"skipNoContent": " ✗ #{index} 无有效消息内容,已跳过",
|
|
288
|
+
"importedLine": " ✓ #{index} {detail}",
|
|
289
|
+
"importedSuffix": " · 会话 {conversationId} · {importedMessages} 条消息",
|
|
290
|
+
"importFailed": " ✗ #{index} 导入失败: {error}",
|
|
291
|
+
"importError": " ✗ #{index} 导入异常: {reason}",
|
|
292
|
+
"indexOutOfRange": "序号超出范围: {index}(本次解析到 {total} 个会话)",
|
|
293
|
+
"supportedSources": "\n支持的历史会话来源:",
|
|
294
|
+
"sourceExtensions": " 后缀: {extensions}",
|
|
295
|
+
"sourceDirs": " 常见导出目录: {dirs}",
|
|
296
|
+
"backendDoesParsing": "\n 解析/落库由后端完成,CLI 只负责上传与展示元信息。",
|
|
297
|
+
"noneDiscovered": " 未发现导出文件(已扫描 {scanned})",
|
|
298
|
+
"hintParse": "\n 导入:ihui import sessions parse <source> <文件路径>",
|
|
299
|
+
"hintCommit": " 落库:ihui import sessions commit {source} \"{abs}\" --all(或 --only 1,3)\n",
|
|
300
|
+
"scopeRequired": "请显式指定导入范围:--all 或 --only <序号>。",
|
|
301
|
+
"exampleAll": " 例:ihui import sessions commit claude_code --all",
|
|
302
|
+
"exampleOnly": " 例:ihui import sessions commit claude_code export.jsonl --only 1,3-5",
|
|
303
|
+
"indexesFromPreview": " 序号来自解析预览,先用 ihui import sessions parse 查看。",
|
|
304
|
+
"invalidOnly": "无效的 --only 取值: {only}",
|
|
305
|
+
"onlyFormat": " 格式:逗号分隔的序号,支持区间,如 1,3,5-8",
|
|
306
|
+
"nothingToImport": "没有可导入的会话。",
|
|
307
|
+
"startImport": "\n开始导入 {length} 个会话(串行,单条失败不中断):",
|
|
308
|
+
"importDone": "\n导入完成:",
|
|
309
|
+
"importSucceeded": " 成功: {imported}",
|
|
310
|
+
"importFailedCount": " 失败: {failed}",
|
|
311
|
+
"failureDetails": "\n 失败详情:",
|
|
312
|
+
"noImportHistory": "\n暂无会话导入记录",
|
|
313
|
+
"importHistoryHeader": "\n会话导入历史(按导入时间倒序,显示 {length} 条{suffix}):",
|
|
314
|
+
"importHistoryRow": " 解析 {parsedCount} · 成功 {importedCount} · 失败 {failedCount}{error}",
|
|
315
|
+
"cmdDesc": "外部历史会话导入(Claude Code / Codex / Cursor / Aider)",
|
|
316
|
+
"sourcesDesc": "列出支持的会话来源、可接受后缀与常见导出目录",
|
|
317
|
+
"discoverDesc": "自动发现本地导出文件候选(省略 source 则扫描全部来源)",
|
|
318
|
+
"scanDirDesc": "自定义扫描目录(默认取该来源的常见导出目录)",
|
|
319
|
+
"limitDesc": "最多列出条数(默认 {DEFAULT_DISCOVER_LIMIT})",
|
|
320
|
+
"parseDesc": "上传解析并预览会话(不落库,不打印消息正文)",
|
|
321
|
+
"commitDesc": "解析 + 逐会话串行落库",
|
|
322
|
+
"allDesc": "导入本次解析出的全部会话",
|
|
323
|
+
"onlyDesc": "仅导入指定序号,如 1,3,5-8",
|
|
324
|
+
"historyDesc": "查询会话导入历史(最近 50 条)",
|
|
325
|
+
"conversationMeta": "· {count} 条消息 · 模型 {model} · 起始 {started}",
|
|
326
|
+
"historyCappedSuffix": ",已达服务端 50 条上限",
|
|
327
|
+
"noFixedRoots": "无固定导出目录(请用 --path 指定)",
|
|
328
|
+
"sourceWechat": "微信聊天记录导出物(第三方工具或手工另存的 zip/txt)"
|
|
329
|
+
},
|
|
330
|
+
"cliEntry": {
|
|
331
|
+
"tagline": "IHUI AI Coding Agent — 对标 Claude Code / Codex",
|
|
332
|
+
"modelIdDesc": "模型 ID",
|
|
333
|
+
"workspacePathDesc": "工作区路径",
|
|
334
|
+
"maxIterationsDesc": "最大工具循环次数",
|
|
335
|
+
"maxTurnsDesc": "最大工具循环次数(--max-iterations 别名,P1-3 对齐 OpenAI o1/o3 术语)",
|
|
336
|
+
"apiUrlDesc": "后端 API 地址(默认读 settings.json,兜底 http://localhost:8802)",
|
|
337
|
+
"apiKeyDesc": "API 密钥",
|
|
338
|
+
"resumeDesc": "恢复之前的会话",
|
|
339
|
+
"continueDesc": "继续最近的会话",
|
|
340
|
+
"jsonDesc": "Headless 模式:输出 NDJSON 事件流 (非 TTY 自动启用,CI/CD 友好)",
|
|
341
|
+
"outputFormatDesc": "P1-5 Headless 输出格式: text|json|markdown|yaml (覆盖 --json,默认 text)",
|
|
342
|
+
"mcpFlagDesc": "启用 MCP 工具(从 ~/.ihui/mcp.json 加载 MCP 服务器工具)",
|
|
343
|
+
"allowDangerousDesc": "允许危险工具(run_command/delete_file/git_commit)自动执行,无需确认(默认拒绝,REPL 模式下交互确认)",
|
|
344
|
+
"permissionLeaseDesc": "权限租约:为本次运行显式点名可放宽逐次批准的工具(逗号分隔,如 write_file,git_commit)。默认不给=完全不授予,行为与改前一致",
|
|
345
|
+
"permissionLeaseTtlDesc": "权限租约时长(分钟,默认 10,上限 60;与轮次取先到)",
|
|
346
|
+
"permissionLeaseTurnsDesc": "权限租约轮次上限(默认 1,上限 25;与时长取先到)",
|
|
347
|
+
"permissionLeaseGranted": "ℹ 已授予权限租约: {tools}(时长 {ttl} 分钟 / {turns} 轮,到期 {expiresAt})",
|
|
348
|
+
"permissionLeaseDigestDesc": "开启内容绑定档(收紧,不是放宽):清单内的工具须先拿到一次真人批准才被钉住,此后其调用内容一变旧批准即失效并重新询问;必须与 --permission-lease 同用。关闭:去掉本 flag 或设 IHUI_LEASE_SLOT_DIGEST=0",
|
|
349
|
+
"permissionLeaseDigestGranted": "ℹ 内容绑定档已开启(收紧,不是放宽):清单内工具的首次批准会绑定调用内容,内容变更后旧批准失效、会多问一次。生效时长与轮次见上一行;关闭请去掉 --permission-lease-digest,或设 IHUI_LEASE_SLOT_DIGEST=0",
|
|
350
|
+
"permissionLeaseInvalid": "权限租约无法授予,已终止本次运行: {reason}",
|
|
351
|
+
"replLeaseDesc": "交互式授予/查看/撤销限时权限租约(按点名工具免逐次批准,限时限轮次)",
|
|
352
|
+
"replLeaseUsage": "/lease <工具1,工具2> [--ttl=分钟] [--turns=轮] | /lease | /lease off",
|
|
353
|
+
"replLeaseGranted": "✅ 已授予权限租约: {tools}(时长 {ttl} 分钟 / {turns} 轮,到期 {expiresAt},审计引用 {auditRef})",
|
|
354
|
+
"replLeaseNone": "未授予权限租约(默认档):宽权限操作仍将逐次请求批准",
|
|
355
|
+
"replLeaseActive": "权限租约生效中: scope={scope} 能力={tools} 剩余 {remainingSeconds} 秒,轮次 {turnsUsed}/{turnsTotal},到期 {expiresAt},审计引用 {auditRef}",
|
|
356
|
+
"replLeaseDigestGranted": "ℹ 内容绑定档已开启(收紧,不是放宽):上述工具的首次批准会绑定调用内容,内容一变旧批准即失效并重新询问。关闭:去掉 --digest,或设 IHUI_LEASE_SLOT_DIGEST=0",
|
|
357
|
+
"replLeaseDigestStateOn": "摘要绑定:开(已绑定槽位 {slots} 个;尚未绑定的工具在拿到首次批准前仍会请求批准)",
|
|
358
|
+
"replLeaseDigestStateOff": "摘要绑定:关(能力名匹配即放宽,不按调用内容钉住)",
|
|
359
|
+
"replLeaseExpired": "权限租约已失效(到期或轮次用尽):审计引用 {auditRef}",
|
|
360
|
+
"replLeaseRevoked": "权限租约已立即撤销:审计引用 {auditRef}(此后回到默认档)",
|
|
361
|
+
"replLeaseNothingToRevoke": "当前没有可撤销的权限租约(默认档,无需撤销)",
|
|
362
|
+
"replLeaseInvalid": "✗ 权限租约未授予,当前状态未改变: {reason}",
|
|
363
|
+
"planDesc": "强制 Agent 先输出任务规划(plan 块)再执行工具(长任务推荐)",
|
|
364
|
+
"autoApprovePlanDesc": "P0-C 自动批准 LLM 提出的 plan 块(危险:跳过用户审批门。默认关闭,需显式开启)",
|
|
365
|
+
"temperatureDesc": "LLM 温度(0-2,代码任务推荐 0.2,创意任务推荐 0.7)",
|
|
366
|
+
"maxTokensDesc": "最大生成 token 数",
|
|
367
|
+
"localeDesc": "界面语言(zh-CN/en/ja/ko/zh-TW)",
|
|
368
|
+
"promptFileDesc": "从文件读取 prompt(支持超长 PRD,UTF-8 编码)",
|
|
369
|
+
"toolsAllowDesc": "P0-7 工具白名单(逗号分隔,如 read_file,grep,glob)。非空时仅允许这些工具",
|
|
370
|
+
"toolsDenyDesc": "P0-7 工具黑名单(逗号分隔,如 delete_file,git_commit)。始终拒绝这些工具",
|
|
371
|
+
"permissionModeDesc": "权限模式: default|acceptEdits|bypassPermissions|plan|manual",
|
|
372
|
+
"noUpdateCheckDesc": "P1-15 禁用启动时版本检查(默认每 24h 检查一次 npm registry)",
|
|
373
|
+
"noSetupDesc": "跳过首次运行引导(无 ~/.ihui/settings.json 时不弹交互式问答)",
|
|
374
|
+
"promptFileConflict": "⚠ 同时传了 positional prompt 和 --prompt-file,优先使用 --prompt-file",
|
|
375
|
+
"interruptSaving": "\n⚠ 中断中,正在保存会话...",
|
|
376
|
+
"apiKeyExposedWarn": "⚠ --api-key 会暴露在进程列表中,推荐使用 IHUI_API_KEY 环境变量或 settings.json",
|
|
377
|
+
"chatArgumentDesc": "直接执行的任务 (省略则进入 REPL)",
|
|
378
|
+
"chatModeDesc": "进入对话模式 (多轮)",
|
|
379
|
+
"agentModeDesc": "Agent 模式: 自主多步执行任务 (支持 --json headless 模式,可用 --prompt-file 传入超长 prompt)",
|
|
380
|
+
"initDesc": "在当前目录创建 AGENTS.md 模板",
|
|
381
|
+
"forceDesc": "覆盖已存在的文件",
|
|
382
|
+
"sessionsDesc": "列出历史会话",
|
|
383
|
+
"sessionsHeader": "\n历史会话:",
|
|
384
|
+
"sessionsRow": " 工作区: {workspacePath} 模型: {modelId} 历史: {length} 条",
|
|
385
|
+
"mcpCmdDesc": "MCP 服务器管理",
|
|
386
|
+
"mcpListDesc": "列出已配置的 MCP 服务器",
|
|
387
|
+
"mcpLocalHeader": "\n本地 MCP 服务器配置:",
|
|
388
|
+
"mcpConfigPathLine": " 配置文件: {configPath}",
|
|
389
|
+
"mcpLocalEmpty": "\n本地无 MCP 服务器配置",
|
|
390
|
+
"mcpAddDesc": "添加 MCP 服务器配置",
|
|
391
|
+
"mcpAddArgsDesc": "命令参数 (stdio)",
|
|
392
|
+
"mcpAddTransportDesc": "传输类型: stdio|http|sse",
|
|
393
|
+
"mcpAddUrlDesc": "http/sse 端点 URL",
|
|
394
|
+
"mcpAddTokenDesc": "bearer 认证 token",
|
|
395
|
+
"mcpAddUsage": "用法: ihui mcp add <name> [command] [-t stdio|http|sse] [-u url]",
|
|
396
|
+
"mcpAdded": "已添加 MCP 服务器: {name}",
|
|
397
|
+
"mcpTransportLine": " 传输: {transport}",
|
|
398
|
+
"mcpCommandLine": " 命令: {command}",
|
|
399
|
+
"mcpRemoveDesc": "移除 MCP 服务器配置",
|
|
400
|
+
"mcpRemoved": "已移除 MCP 服务器: {name}",
|
|
401
|
+
"mcpNotFound": "未找到 MCP 服务器: {name}",
|
|
402
|
+
"skillsCmdDesc": "管理/查看 skills(.ihui/skills/*.md 等四级目录平面加载)",
|
|
403
|
+
"skillsListDesc": "列出当前工作区已加载的 skills",
|
|
404
|
+
"skillsEmpty": "暂无 skills(可在以下目录创建 *.md 文件):",
|
|
405
|
+
"skillsLoaded": "\n已加载 {count} 个 skill:",
|
|
406
|
+
"skillsSourceLine": " 来源: {source}",
|
|
407
|
+
"skillShowDesc": "查看指定 skill 的内容",
|
|
408
|
+
"skillShadowReportDesc": "读取 allowed-tools 影子记账记录(只记不挡,尚未生效)",
|
|
409
|
+
"skillNotFound": "未找到 skill: {name}",
|
|
410
|
+
"skillSourceDetail": "来源: {source}",
|
|
411
|
+
"skillDescriptionLine": "描述: {description}\n",
|
|
412
|
+
"settingsCmdDesc": "管理 ~/.ihui/settings.json 统一配置",
|
|
413
|
+
"settingsInitDesc": "创建 settings.json 模板(已存在时需 --force 覆盖)",
|
|
414
|
+
"settingsTemplateCreated": "已创建配置模板: {settingsPath}",
|
|
415
|
+
"settingsEditHint": "编辑该文件设置默认值,CLI flag 优先级最高",
|
|
416
|
+
"settingsAlreadyExists": "配置文件已存在: {settingsPath}",
|
|
417
|
+
"settingsForceHint": "使用 --force 覆盖",
|
|
418
|
+
"settingsPathDesc": "显示 settings.json 路径",
|
|
419
|
+
"acpDesc": "启动 ACP (Agent Client Protocol) server,供 Zed/VSCode/Cursor 等编辑器嵌入",
|
|
420
|
+
"undoDryRunDesc": "只预览将恢复的文件与受影响轮次,不实际回滚",
|
|
421
|
+
"undoPreparing": "正在检查将恢复的文件和受影响轮次…",
|
|
422
|
+
"undoConfirm": "将恢复 {fileCount} 个文件,并同时撤销从这轮开始受影响的 {turnCount} 轮修改。任务记录不会删除。",
|
|
423
|
+
"undoSucceeded": "已恢复 {count} 个文件;任务记录仍然保留。",
|
|
424
|
+
"undoPartialWarning": "部分修改不在 CLI 文件检查点中,撤销结果可能不完整。",
|
|
425
|
+
"undoUnavailable": "文件检查点不可用,工作区未发生变化。",
|
|
426
|
+
"undoFailedChanged": "回退未完成:工作区已发生变化(确切证)。请先查看下方文件清单再决定下一步。",
|
|
427
|
+
"undoFailedUnverifiable": "回退未完成,且无法确认工作区是否发生变化(有文件读不出来)。请人工核对后再试。",
|
|
428
|
+
"undoDesc": "回滚最近 N 步文件改动(默认 1 步,需在 agent 会话工作区内执行)",
|
|
429
|
+
"sessionOptDesc": "指定会话 ID(默认最近会话)",
|
|
430
|
+
"undoNothing": "无可回滚的改动",
|
|
431
|
+
"undoDone": "✓ 已回滚 {undoneSteps} 步改动(剩余可回滚 {remaining} 步):",
|
|
432
|
+
"redoDesc": "重做最近 N 步被 undo 的改动(默认 1 步)",
|
|
433
|
+
"redoNothing": "无可重做的改动",
|
|
434
|
+
"redoDone": "✓ 已重做 {redoneSteps} 步改动(剩余可重做 {remaining} 步):",
|
|
435
|
+
"shareDesc": "生成可分享的会话快照(markdown+HTML+短链+二维码)",
|
|
436
|
+
"shareFormatDesc": "输出格式: markdown|html|json",
|
|
437
|
+
"shareNoToolsDesc": "排除工具调用详情(默认包含)",
|
|
438
|
+
"shareIncludeFilesDesc": "包含文件内容(可能泄露敏感信息,默认关闭)",
|
|
439
|
+
"shareTitleDesc": "快照标题",
|
|
440
|
+
"shareNoSession": "未找到会话,请先用 ihui agent 跑一个会话",
|
|
441
|
+
"shareDone": "✓ 会话快照已生成",
|
|
442
|
+
"shareShortUrl": " 短链: {url}",
|
|
443
|
+
"shareHash": " 防篡改 hash: {hash}",
|
|
444
|
+
"shareSize": " 大小: {sizeBytes} bytes",
|
|
445
|
+
"qrGenerated": " 二维码:已生成(data URL)",
|
|
446
|
+
"qrFallback": " 二维码:降级模式(需引入 qr 库启用)",
|
|
447
|
+
"modeDesc": "查看或切换交互模式: plan(只读调研) | build(执行修改) | review(审查 diff)",
|
|
448
|
+
"modeCurrent": "当前模式: {mode}",
|
|
449
|
+
"modeAvailable": "可用模式: plan(只读) / build(执行) / review(审查)",
|
|
450
|
+
"modeUsage": "用法: ihui mode build # 切换到 build 模式",
|
|
451
|
+
"modeUnknown": "未知模式: {modeArg}(可选: plan/build/review)",
|
|
452
|
+
"auditCmdDesc": "查询/过滤审计日志",
|
|
453
|
+
"auditQueryDesc": "查询审计日志(支持按工具名/时间/成功状态过滤)",
|
|
454
|
+
"auditToolFilterDesc": "按工具名过滤(子串匹配,大小写不敏感)",
|
|
455
|
+
"auditSinceDesc": "起始时间(ISO 字符串或相对时间如 1h/30m/1d)",
|
|
456
|
+
"auditSuccessOnlyDesc": "只显示成功的调用",
|
|
457
|
+
"auditFailureOnlyDesc": "只显示失败的调用",
|
|
458
|
+
"auditLimitDesc": "返回条数上限(默认 50)",
|
|
459
|
+
"auditJsonDesc": "以 JSON 格式输出(便于管道处理)",
|
|
460
|
+
"auditListHeader": "\n📋 审计日志(显示 {count} / 匹配 {filtered} / 总共 {total} 条):",
|
|
461
|
+
"auditStatsDesc": "统计审计日志(按工具名/成功失败聚合)",
|
|
462
|
+
"auditToolArgsDesc": "离线回放历史工具调用的入参偏差台账(不记录入参值)",
|
|
463
|
+
"auditToolArgsLimitDesc": "回放记录数上限(默认 100000)",
|
|
464
|
+
"auditToolArgsHeader": "\n🔍 入参偏差台账(记录 {records} / 命中注册表 {matched} / 未知工具 {unknown} / 有偏差 {invalid} / 偏差行 {rows}):",
|
|
465
|
+
"auditToolArgsNone": "未发现入参偏差({matched} 次调用全部通过校验)",
|
|
466
|
+
"auditToolArgsFooter": "仅发生类型转换 {coerced} 次 · 校验器异常 {threw} 次",
|
|
467
|
+
"auditEmpty": "审计日志为空",
|
|
468
|
+
"auditStatsHeader": "\n📊 审计统计(总共 {total} 条,匹配 {filtered} 条):",
|
|
469
|
+
"auditNoMatch": "无匹配的审计日志(总共 {total} 条)",
|
|
470
|
+
"auditColTool": "工具",
|
|
471
|
+
"auditColTotal": "总数",
|
|
472
|
+
"auditColSuccess": "成功",
|
|
473
|
+
"auditColFailure": "失败",
|
|
474
|
+
"auditColRate": "成功率",
|
|
475
|
+
"goalDesc": "goal 模式:目标原文(配合 --goal-criteria 使用)",
|
|
476
|
+
"goalCriteriaDesc": "goal 模式:硬性指标 JSON 文件(数组,每项含 id/statement,可选 probe_command/expected_exit_code/required)",
|
|
477
|
+
"goalCriteriaBadArg": "--goal-criteria 需要一个文件路径",
|
|
478
|
+
"goalCriteriaUnreadable": "读不到 --goal-criteria 文件 {file}:{error}",
|
|
479
|
+
"goalCriteriaNotAnArray": "{file} 的内容必须是非空 JSON 数组",
|
|
480
|
+
"goalCriteriaBadEntry": "第 {index} 条指标缺少 id 或 statement"
|
|
481
|
+
},
|
|
482
|
+
"cliWorkflows": {
|
|
483
|
+
"contextBadJson": "--context 不是有效的 JSON: {message}",
|
|
484
|
+
"noWorkflows": "(暂无工作流)",
|
|
485
|
+
"listHeader": "\n=== 工作流列表 ===",
|
|
486
|
+
"listRow": " [{id}] {name} [{triggerType}] [{isActive}] [{length} 步]",
|
|
487
|
+
"paginationFooter": "\n共 {total} 条 (第 {page} 页,每页 {pageSize} 条)",
|
|
488
|
+
"detailHeader": "\n=== 工作流详情 ===",
|
|
489
|
+
"detailName": " 名称: {name}",
|
|
490
|
+
"detailDescription": " 描述: {description}",
|
|
491
|
+
"detailTrigger": " 触发类型: {triggerType}",
|
|
492
|
+
"detailActive": " 激活状态: {isActive}",
|
|
493
|
+
"detailSteps": " 步骤数: {length}",
|
|
494
|
+
"detailCreator": " 创建者: {creator}",
|
|
495
|
+
"detailCreatedAt": " 创建时间: {createdAt}",
|
|
496
|
+
"detailUpdatedAt": " 更新时间: {updatedAt}",
|
|
497
|
+
"stepsOverview": "\n步骤概览:",
|
|
498
|
+
"stepLabel": "(步骤 {step})",
|
|
499
|
+
"triggered": "✓ 已触发工作流",
|
|
500
|
+
"instanceTasks": " [instance={id} status={status}] 共 {length} 个任务",
|
|
501
|
+
"noInstances": "(暂无实例)",
|
|
502
|
+
"instanceListHeader": "\n=== 实例列表 ===",
|
|
503
|
+
"instanceListRow": " [{id}] wf={workflowId} [{status}] 开始={startedAt} 完成={completedAt}",
|
|
504
|
+
"instanceDetailHeader": "\n=== 实例详情 ===",
|
|
505
|
+
"instanceDetailId": " 实例 ID: {id}",
|
|
506
|
+
"instanceDetailWorkflow": " 工作流 ID: {workflowId}",
|
|
507
|
+
"instanceDetailProject": " 项目 ID: {projectId}",
|
|
508
|
+
"instanceDetailStatus": " 状态: {status}",
|
|
509
|
+
"instanceDetailStarted": " 开始时间: {startedAt}",
|
|
510
|
+
"instanceDetailCompleted": " 完成时间: {completedAt}",
|
|
511
|
+
"instanceDetailCreatedAt": " 创建时间: {createdAt}",
|
|
512
|
+
"instanceDetailError": " 错误: {error}",
|
|
513
|
+
"tasksHeader": "\n任务 ({length} 个):",
|
|
514
|
+
"noTasks": "\n(无任务)",
|
|
515
|
+
"instanceCancelled": "✓ 已取消实例 id={id} (status={status})",
|
|
516
|
+
"cmdDesc": "工作流管理与执行 (对标 Web 端 /workflows)",
|
|
517
|
+
"listDesc": "列出工作流(分页)",
|
|
518
|
+
"pageDesc": "页码(默认 1)",
|
|
519
|
+
"pageSizeDesc": "每页数量(默认 20)",
|
|
520
|
+
"jsonDesc": "以 JSON 格式输出",
|
|
521
|
+
"notLoggedIn": "✗ 未登录或 token 已失效,请运行: ihui login",
|
|
522
|
+
"showDesc": "查看工作流详情",
|
|
523
|
+
"triggerDesc": "触发工作流,创建 instance + 派发任务",
|
|
524
|
+
"projectIdDesc": "关联项目 ID",
|
|
525
|
+
"contextDesc": "触发上下文(JSON 字符串)",
|
|
526
|
+
"instancesDesc": "列出实例(可按工作流/状态筛选)",
|
|
527
|
+
"filterWorkflowDesc": "按工作流 ID 筛选",
|
|
528
|
+
"filterStatusDesc": "按状态筛选(pending/running/completed/failed/cancelled/timeout)",
|
|
529
|
+
"instanceShowDesc": "查看实例详情(含 tasks)",
|
|
530
|
+
"cancelDesc": "取消运行中实例",
|
|
531
|
+
"unknownValue": "(未知)"
|
|
532
|
+
}
|
|
533
|
+
}
|