codebee 0.1.0 → 0.1.1
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 +413 -392
- package/app/core/catalog.py +32 -11
- package/app/core/gitmod.py +953 -949
- package/app/core/manager.py +1462 -1415
- package/app/core/modelhub.py +10 -4
- package/app/core/paths.py +12 -6
- package/app/ui/app.js +22 -11
- package/app/ui/i18n.js +1711 -1708
- package/app/ui/style.css +1 -1
- package/bin/tutti.js +35 -9
- package/package.json +1 -1
package/app/ui/i18n.js
CHANGED
|
@@ -1,1709 +1,1712 @@
|
|
|
1
|
-
/* CodeBee 多语言:t(key, ...args) 在 zh 模式直接返回 key,在 en 模式查表。
|
|
2
|
-
* 翻译未命中时回落到中文(key 即原文),所以页面永远有显示。
|
|
3
|
-
* 字典 key = 源码里的中文原文(含空格/换行/标点)。
|
|
4
|
-
* 模板字面量里的 HTML+表达式片段没有进字典,保留中文(不完美的折中)。
|
|
5
|
-
*/
|
|
6
|
-
"use strict";
|
|
7
|
-
|
|
8
|
-
(function () {
|
|
9
|
-
// 语言档案名(与 localStorage 一致)
|
|
10
|
-
const LANG_KEY = "orch.lang";
|
|
11
|
-
// 字典:键 = 中文原文;值 = 英文译文。未命中即回落中文。
|
|
12
|
-
const EN = {
|
|
13
|
-
// —— 短片段(拼接用)——
|
|
14
|
-
|
|
15
|
-
// —— 用量统计图表 ——
|
|
16
|
-
|
|
17
|
-
// —— 时间/计数单位 ——
|
|
18
|
-
|
|
19
|
-
// —— 「」包裹的内容片段 ——
|
|
20
|
-
|
|
21
|
-
// —— 提示/标题 ——
|
|
22
|
-
|
|
23
|
-
// —— 头部/状态 ——
|
|
24
|
-
// Git 变更徽章:英文模式回落 git 标准字母(zh 模式直接显示中文单字)
|
|
25
|
-
|
|
26
|
-
// —— 操作按钮/弹框 ——
|
|
27
|
-
|
|
28
|
-
// —— 表单字段/标签 ——
|
|
29
|
-
|
|
30
|
-
// —— 智能/手动 模式 ——
|
|
31
|
-
|
|
32
|
-
// —— 引擎/角色 ——
|
|
33
|
-
|
|
34
|
-
// —— 任务/状态 ——
|
|
35
|
-
|
|
36
|
-
// —— 保存/失败 通用 ——
|
|
37
|
-
|
|
38
|
-
// —— 工作流管理 ——
|
|
39
|
-
|
|
40
|
-
// —— 多端控制 ——
|
|
41
|
-
|
|
42
|
-
// —— 设置 - 保存路径 ——
|
|
43
|
-
|
|
44
|
-
// —— 设置 - 并发 ——
|
|
45
|
-
|
|
46
|
-
// —— 用量 ——
|
|
47
|
-
|
|
48
|
-
// —— 皮肤 ——
|
|
49
|
-
|
|
50
|
-
// —— 模型/导入 ——
|
|
51
|
-
|
|
52
|
-
// —— 模型批量 ——
|
|
53
|
-
|
|
54
|
-
// —— 模型分组/列表 ——
|
|
55
|
-
|
|
56
|
-
// —— 运行详情/日志 ——
|
|
57
|
-
// 详情标签分区(蜂巢=实时监控 / 步骤 / 成果 / 版本=git / 圣经=连载设定)
|
|
58
|
-
|
|
59
|
-
// —— 任务检查器(右缘停靠列)——
|
|
60
|
-
|
|
61
|
-
// —— 连接/QR ——
|
|
62
|
-
|
|
63
|
-
// —— 经验库 ——
|
|
64
|
-
|
|
65
|
-
// —— 模型绑定 ——
|
|
66
|
-
|
|
67
|
-
// —— 智能体管理 ——
|
|
68
|
-
|
|
69
|
-
// —— 模型管理 - 编辑 ——
|
|
70
|
-
|
|
71
|
-
// —— 添加供应商表单 ——
|
|
72
|
-
|
|
73
|
-
// —— 流程管理 ——
|
|
74
|
-
|
|
75
|
-
// —— 编排设置 ——
|
|
76
|
-
|
|
77
|
-
// —— 任务 ——
|
|
78
|
-
|
|
79
|
-
// —— 多源/批量 ——
|
|
80
|
-
|
|
81
|
-
// —— 连接错误/重试 ——
|
|
82
|
-
|
|
83
|
-
// —— 角色表里角色名 ——
|
|
84
|
-
|
|
85
|
-
// —— 状态/控制 ——
|
|
86
|
-
|
|
87
|
-
// —— 流程表单 ——
|
|
88
|
-
|
|
89
|
-
// —— 运行中指挥(详情页消息信箱)——
|
|
90
|
-
"规划": "Plan", "起草": "Draft", "评审": "Review", "修订": "Revise",
|
|
91
|
-
"打磨": "Polish", "合成": "Merge", "实现": "Implement", "执行": "Run",
|
|
92
|
-
|
|
93
|
-
// —— 新建任务:附件与代码版本 ——
|
|
94
|
-
|
|
95
|
-
// —— 补:index.html data-i18n 漏的 key ——
|
|
96
|
-
|
|
97
|
-
// —— 设置 - 自动化 ——
|
|
98
|
-
"周一": "Mon", "周二": "Tue", "周三": "Wed", "周四": "Thu",
|
|
99
|
-
"周五": "Fri", "周六": "Sat", "周日": "Sun",
|
|
100
|
-
|
|
101
|
-
// —— 设置 - 插件市场 ——
|
|
102
|
-
|
|
103
|
-
// —— 设置 - 插件市场·外部目录 ——
|
|
104
|
-
// —— 2026-09-15 第二轮补词条(HTML 拼接片段 + 覆盖率核对) ——
|
|
105
|
-
// —— 2026-09-15 第三轮:后端内置数据(流程/模板/经验包/目录/导入来源) ——
|
|
106
|
-
// 注意:不要在这里再定义 "复制"——它与 181 行的 "Copy" 撞键,后者会被覆盖,
|
|
107
|
-
// 导致文件预览/作品信息的复制按钮显示成 Duplicate(已改走 "复制一份" 独立键)
|
|
108
|
-
|
|
109
|
-
// —— 作品信息一键生成(番茄/七猫建书资料)——
|
|
110
|
-
|
|
111
|
-
// —— GIT 工作台(详情页 Git 页签)——
|
|
112
|
-
// —— 2026-09-16 第四轮:皮肤/代码主题/作品信息/经验包变体/用量占位 ——
|
|
113
|
-
// —— 2026-09-16 第五轮:编排者标签/导入说明/内置教训标题/目录 note 变体 ——
|
|
114
|
-
// —— 2026-09-16 第六轮:内置教训 title+content 全量(真实数据副本核对) ——
|
|
115
|
-
"改": "M",
|
|
116
|
-
"新": "A",
|
|
117
|
-
"删": "D",
|
|
118
|
-
"移": "R",
|
|
119
|
-
"代码设置": "Code Display",
|
|
120
|
-
"设置代码内容的主题、字号和显示方式,不受界面字号影响。": "Choose the theme, font size and display style for code content; independent of the UI font size.",
|
|
121
|
-
"浅色代码主题": "Light code theme",
|
|
122
|
-
"浅色界面下代码内容使用的高亮主题。": "Syntax highlighting theme for code content under the light interface.",
|
|
123
|
-
"深色代码主题": "Dark code theme",
|
|
124
|
-
"深色界面下代码内容使用的高亮主题。": "Syntax highlighting theme for code content under the dark interface.",
|
|
125
|
-
"显示行号": "Show line numbers",
|
|
126
|
-
"在代码内容和差异视图中显示行号。": "Show line numbers in code content and diff views.",
|
|
127
|
-
"长行自动换行": "Wrap long lines",
|
|
128
|
-
"代码内容过长时自动换行。": "Wrap long code lines automatically.",
|
|
129
|
-
"代码字号": "Code font size",
|
|
130
|
-
"调整代码块、文件预览和差异视图的默认字号。": "Default font size for code blocks, file previews and diff views.",
|
|
131
|
-
"代码预览": "Code Preview",
|
|
132
|
-
"同时预览浅色与深色代码主题,当前界面使用的主题会标记为「当前生效」。": "Preview both light and dark code themes side by side; the one matching the current interface is marked “Active”.",
|
|
133
|
-
"浅色预览": "Light preview",
|
|
134
|
-
"深色预览": "Dark preview",
|
|
135
|
-
"当前生效": "Active",
|
|
136
|
-
"深色": "Dark",
|
|
137
|
-
"浅色": "Light",
|
|
138
|
-
"经典浅色,清爽不抢眼,日间界面首选": "Classic light theme — clean and unobtrusive, the top pick for day mode",
|
|
139
|
-
"VS 家族浅色,蓝紫关键词配色": "Visual Studio family light theme with blue-purple keywords",
|
|
140
|
-
"苹果开发工具同款浅色,冷色克制": "Same light theme as Apple's dev tools — cool and restrained",
|
|
141
|
-
"米黄纸感底色,长时间阅读更柔和": "Warm paper-toned background, easier on the eyes for long reads",
|
|
142
|
-
"经典深色,夜间界面首选": "Classic dark theme — the top pick for night mode",
|
|
143
|
-
"VS 家族深色,灰蓝底更沉稳": "Visual Studio family dark theme on a steady gray-blue base",
|
|
144
|
-
"高饱和黄紫粉,老牌编辑器名主题": "High-saturation yellow/purple/pink — the famous classic editor theme",
|
|
145
|
-
"Atom 出品的均衡深色,蓝灰底不刺眼": "Balanced dark theme from Atom on a soft blue-gray base",
|
|
146
|
-
"查看内容": "View content",
|
|
147
|
-
"预览": "Preview",
|
|
148
|
-
"蜂巢": "Hive",
|
|
149
|
-
"对话": "Chat",
|
|
150
|
-
"发送": "Send",
|
|
151
|
-
"继续说…(Enter 发送,Shift+Enter 换行;可直接粘贴截图)": "Keep typing… (Enter to send, Shift+Enter for a new line; paste screenshots directly)",
|
|
152
|
-
"成果": "Results",
|
|
153
|
-
"版本": "Code",
|
|
154
|
-
"圣经": "Bible",
|
|
155
|
-
"详情分区": "Detail sections",
|
|
156
|
-
"点击复制": "Click to copy",
|
|
157
|
-
"当前日志所属的步骤": "The step this log belongs to",
|
|
158
|
-
"关闭日志": "Close log",
|
|
159
|
-
"实时": "Live",
|
|
160
|
-
"预览失败:": "Preview failed: ",
|
|
161
|
-
"提示音已开(点击关闭)": "Sound on (click to mute)",
|
|
162
|
-
"提示音已关(点击开启)": "Sound off (click to unmute)",
|
|
163
|
-
"完成/待裁决提示音": "Sound on completion / pending verdict",
|
|
164
|
-
"同章赛马稿件数": "Race drafts per chapter",
|
|
165
|
-
"故事圣经": "Story bible",
|
|
166
|
-
"story-bible.md · 人物/世界观/伏笔台账,每章起草与评审自动注入": "story-bible.md · characters/world/foreshadowing ledger, auto-injected into every draft and review",
|
|
167
|
-
"运行中不能修改": "Locked while a run is active",
|
|
168
|
-
"尚未创建。点「编辑」写下人物卡/世界观/伏笔台账,下一轮起草即刻生效。": "Not created yet. Click Edit to write character cards / world / foreshadowing — it takes effect from the next chapter.",
|
|
169
|
-
"故事圣经已保存": "Story bible saved",
|
|
170
|
-
"保存失败:": "Save failed: ",
|
|
171
|
-
"代码版本隔离": "Version isolation",
|
|
172
|
-
"任务分支:产物提交在此,原分支未受影响": "Task branch: artifacts are committed here; the original branch is untouched",
|
|
173
|
-
"待裁决": "Pending verdict",
|
|
174
|
-
"已合并": "Merged",
|
|
175
|
-
"已丢弃": "Discarded",
|
|
176
|
-
"基线": "Baseline",
|
|
177
|
-
"分支提交": "Branch commit",
|
|
178
|
-
"收尾出错:": "Finalize error: ",
|
|
179
|
-
"个文件": " files",
|
|
180
|
-
"本次运行没有产生工作区变更。": "No workspace changes were produced in this run.",
|
|
181
|
-
"Git 工具": "Git tools",
|
|
182
|
-
"进度": "Progress",
|
|
183
|
-
"运行统计": "Run stats",
|
|
184
|
-
"完整详情": "Full detail",
|
|
185
|
-
"收起检查器": "Collapse inspector",
|
|
186
|
-
"在主栏打开任务完整详情(全部步骤/日志/报告)": "Open the task's full detail in the main column (all steps / logs / report)",
|
|
187
|
-
"运行": "Runs",
|
|
188
|
-
"步骤": "Steps",
|
|
189
|
-
"成本": "Cost",
|
|
190
|
-
"暂无工作区变更。": "No workspace changes yet.",
|
|
191
|
-
"单击:卡内展开 diff;双击:弹窗查看": "Click: expand diff here; double-click: open in popup",
|
|
192
|
-
"双击弹窗查看该文件的变更": "Double-click to view this file's changes in a popup",
|
|
193
|
-
"复制": "Copy",
|
|
194
|
-
"已复制": "Copied",
|
|
195
|
-
"选择文件夹": "Choose folder",
|
|
196
|
-
"此电脑": "This PC",
|
|
197
|
-
"上级": "Up",
|
|
198
|
-
"选这个": "Select",
|
|
199
|
-
"使用当前目录": "Use this folder",
|
|
200
|
-
"正在读取目录…": "Loading folder…",
|
|
201
|
-
"(没有子目录)": "(no subfolders)",
|
|
202
|
-
"读取失败:": "Failed to read: ",
|
|
203
|
-
"请先进入一个具体目录": "Enter a concrete folder first",
|
|
204
|
-
"浏览本机目录选择": "Browse local folders",
|
|
205
|
-
"检出失败": "Checkout failed",
|
|
206
|
-
"未创建": "not created",
|
|
207
|
-
"处理后点「重试任务」,运行会重新检出任务分支。": "After fixing, click Retry — the run will check out the task branch again.",
|
|
208
|
-
"合并成功,但你之前的未提交改动没能自动还原,": "Merged, but your uncommitted changes could not be restored automatically — ",
|
|
209
|
-
"下载": "Download",
|
|
210
|
-
"二进制文件不预览,可下载查看。": "No preview for binary files — download to view.",
|
|
211
|
-
"内容读取失败:": "Failed to load content: ",
|
|
212
|
-
"未启用代码版本隔离(该任务未指定代码版本)。": "Code-version isolation is off (no code version was chosen for this task).",
|
|
213
|
-
"diff 读取失败:": "Failed to load diff: ",
|
|
214
|
-
"暂无该文件的已保存 diff(运行结束后生成变更快照,或该运行没有保存变更内容)。": "No saved diff for this file yet (the snapshot is written when the run ends, or this run saved no changes).",
|
|
215
|
-
"补充说明或纠偏,将随下一条智能体步骤下达": "Extra guidance or correction, delivered with the next agent step",
|
|
216
|
-
"本次运行没有在工作目录里产出新文件。": "This run produced no new files in the working directory.",
|
|
217
|
-
"合并回原分支": "Merge into base branch",
|
|
218
|
-
"丢弃分支": "Discard branch",
|
|
219
|
-
"合并=采纳产物回原分支;丢弃=删除任务分支(不可恢复)。": "Merge = adopt artifacts into the base branch. Discard = delete the task branch (irreversible).",
|
|
220
|
-
"把任务分支的产物合并回原分支?": "Merge task-branch artifacts into the base branch?",
|
|
221
|
-
"合并": "Merge",
|
|
222
|
-
"已合并:": "Merged: ",
|
|
223
|
-
"个提交 → ": " commits → ",
|
|
224
|
-
"丢弃任务分支?该分支上的产物将永久删除,不可恢复。": "Discard the task branch? Its artifacts will be permanently deleted. This cannot be undone.",
|
|
225
|
-
"丢弃": "Discard",
|
|
226
|
-
"已丢弃任务分支": "Task branch discarded",
|
|
227
|
-
"合并失败:": "Merge failed: ",
|
|
228
|
-
"丢弃失败:": "Discard failed: ",
|
|
229
|
-
"任务累计": "Task total",
|
|
230
|
-
"次运行": "runs",
|
|
231
|
-
"本 run 快照": "this run's snapshot",
|
|
232
|
-
"运行中:工作区变更会实时出现在这里。": "Running: workspace changes will appear here in real time.",
|
|
233
|
-
"运行中指挥": "Steer this run",
|
|
234
|
-
"补充说明或纠偏,将随下一条智能体步骤下达;可直接粘贴截图": "Add guidance or corrections — delivered with the next agent step; screenshots can be pasted directly",
|
|
235
|
-
"附件": "Attach",
|
|
236
|
-
"下达指令": "Send",
|
|
237
|
-
"(仅附件)": "(attachment only)",
|
|
238
|
-
"附件:": "Files: ",
|
|
239
|
-
"将在下一个步骤开始前送达执行者": "Will reach the agent before the next step",
|
|
240
|
-
"指令已入箱,将在下一个步骤下达": "Directive queued — it will be delivered with the next step",
|
|
241
|
-
"发送失败:": "Send failed: ",
|
|
242
|
-
"附件上传失败:": "Upload failed: ",
|
|
243
|
-
"读取文件失败": "Failed to read file",
|
|
244
|
-
":超过 8MB,已跳过": ": over 8MB, skipped",
|
|
245
|
-
"附件最多 ": "Max ",
|
|
246
|
-
"移除": "Remove",
|
|
247
|
-
"已暂停:指令入箱,放行后随下一步送达": "Paused — your directive is queued and will be delivered once resumed",
|
|
248
|
-
"已随步骤送达:": "Delivered with step: ",
|
|
249
|
-
"撤回": "Retract",
|
|
250
|
-
"尚未送达,可撤回": "Not delivered yet — you can retract it",
|
|
251
|
-
"指令已撤回,不会送达执行": "Directive retracted — it will not reach the agent",
|
|
252
|
-
"撤回失败:": "Retract failed: ",
|
|
253
|
-
"蜂巢工作台": "Hive workbench",
|
|
254
|
-
"在岗": "busy",
|
|
255
|
-
"全部空闲": "all idle",
|
|
256
|
-
"工作中": "working",
|
|
257
|
-
"开始于 ": "started at ",
|
|
258
|
-
"结论:": "Conclusion: ",
|
|
259
|
-
"该步骤无日志": "No log for this step",
|
|
260
|
-
"进行中": "active",
|
|
261
|
-
"已暂停:当前步骤跑完后挂起": "Paused — will suspend after the current step finishes",
|
|
262
|
-
"已放行,继续执行": "Resumed",
|
|
263
|
-
"操作失败:": "Operation failed: ",
|
|
264
|
-
"暂停": "Pause",
|
|
265
|
-
"继续执行": "Resume",
|
|
266
|
-
"也可直接粘贴截图": "or paste a screenshot directly",
|
|
267
|
-
"添加附件:截图/文本/代码/PDF 等,创建任务时落盘到工作目录 _attachments/": "Add attachments — screenshots/text/code/PDF; saved to the task workdir under _attachments/ on creation",
|
|
268
|
-
"附件最多 12 个": "Up to 12 attachments",
|
|
269
|
-
"不支持的附件类型:": "Unsupported file type: ",
|
|
270
|
-
"附件超过:": "Attachment over the size limit: ",
|
|
271
|
-
"附件超过 8MB:": "Attachment over 8MB: ",
|
|
272
|
-
"添加附件:截图 / 文本 / Word·Excel·PPT / PDF 等(普通 8MB,Office 24MB),创建任务时落盘到工作目录 _attachments/": "Add attachments — screenshots / text / Word·Excel·PPT / PDF (8MB normal, 24MB Office); saved to the task workdir under _attachments/ on creation",
|
|
273
|
-
"读取失败": "Failed to read",
|
|
274
|
-
"代码版本": "Code version",
|
|
275
|
-
"不切换(用当前分支 %1)": "Keep current branch %1",
|
|
276
|
-
"分支": "Branches",
|
|
277
|
-
"标签": "Tags",
|
|
278
|
-
"最近提交": "Recent commits",
|
|
279
|
-
"当前分支 %1 @ %2": "Current branch %1 @ %2",
|
|
280
|
-
";工作区有 %1 处未提交改动": "; %1 uncommitted change(s)",
|
|
281
|
-
";运行时将从「%1」检出任务分支
|
|
282
|
-
"打开任务详情": "Open task details",
|
|
283
|
-
"收起任务详情": "Hide task details",
|
|
284
|
-
"还没有可展示的任务详情": "No task details to show yet",
|
|
285
|
-
"已归档任务:先在右键菜单里取消归档,再看任务详情": "Archived task — unarchive it from the right-click menu to view details",
|
|
286
|
-
"任务不存在或已删除": "Task not found or deleted",
|
|
287
|
-
"该任务还没跑过(或排队中),还没有任务详情": "This task hasn't run yet (or is queued) — no details to show",
|
|
288
|
-
" 个": " plugins",
|
|
289
|
-
" 个任务": " tasks",
|
|
290
|
-
" 个任务目录": " task directories",
|
|
291
|
-
" 个来源": " sources",
|
|
292
|
-
" 个步骤": " steps",
|
|
293
|
-
" 条": " runs",
|
|
294
|
-
" / 共 ": " of ",
|
|
295
|
-
"只看该类": "Show only this category",
|
|
296
|
-
"该分类下暂无教训": "No lessons in this category yet",
|
|
297
|
-
" 条运行中的记录已保留(请先取消再清除)。": " active runs were kept (cancel them first).",
|
|
298
|
-
" 条运行记录(含全部日志与报告)?不可恢复。": " running records (with all logs and reports)? This cannot be undone.",
|
|
299
|
-
" 条(1 个主模型 + ": " entries (1 primary model + ",
|
|
300
|
-
" 条;另有 ": " removed; another ",
|
|
301
|
-
" 模型": " models",
|
|
302
|
-
" 次 · ": " runs · ",
|
|
303
|
-
" 第": " #",
|
|
304
|
-
" 轮对话上下文)": " turns of context)",
|
|
305
|
-
" 字": " chars",
|
|
306
|
-
" 章": " ch",
|
|
307
|
-
" 万": "0,000",
|
|
308
|
-
" 亿": "00,000,000",
|
|
309
|
-
" 主": "Pri",
|
|
310
|
-
" 备": "Bk",
|
|
311
|
-
"(": " (",
|
|
312
|
-
")": ")",
|
|
313
|
-
":": ": ",
|
|
314
|
-
",续接时 CLI 将在该目录下启动": "; the CLI will start in that directory when resuming",
|
|
315
|
-
",跳过重复 ": ", skipped duplicates ",
|
|
316
|
-
",更新 ": ", updated ",
|
|
317
|
-
",留空=不改)": "; leave blank to keep unchanged)",
|
|
318
|
-
",可点「升级」更新。": ". Click Upgrade to install it.",
|
|
319
|
-
";已迁移 ": "; migrated ",
|
|
320
|
-
"?\n\n将执行:\n": "?\n\nWill run:\n",
|
|
321
|
-
" tokens · 调用 ": " tokens · calls ",
|
|
322
|
-
" · 今天": " · today",
|
|
323
|
-
" · 其他/缓存 ": " · other/cache ",
|
|
324
|
-
" · 已停用": " · disabled",
|
|
325
|
-
" · 缓存 ": " · cache ",
|
|
326
|
-
" · 缓存/其他 ": " · cache/other ",
|
|
327
|
-
" · 自定义": " · custom",
|
|
328
|
-
" · 输出 ": " · output ",
|
|
329
|
-
" 总 ": " Total ",
|
|
330
|
-
" 无用量": " No usage",
|
|
331
|
-
" 每章 ": " per chapter ",
|
|
332
|
-
" | ": " | ",
|
|
333
|
-
" 维度:": " Rubric: ",
|
|
334
|
-
" 阈值:": " Threshold: ",
|
|
335
|
-
":输入 ": ": input ",
|
|
336
|
-
":输出 ": ": output ",
|
|
337
|
-
":缓存 ": ": cache ",
|
|
338
|
-
":其他/缓存 ": ": other/cache ",
|
|
339
|
-
":调用 ": ": calls ",
|
|
340
|
-
")\n调用 ": ")\nCalls ",
|
|
341
|
-
" 分钟前": " min ago",
|
|
342
|
-
" 小时前": " hours ago",
|
|
343
|
-
" 天前": " days ago",
|
|
344
|
-
" 昨天": " yesterday",
|
|
345
|
-
" 刚刚": " just now",
|
|
346
|
-
"(已有 ": "(already ",
|
|
347
|
-
"%(失败 ": "% (failed ",
|
|
348
|
-
"「": "\"",
|
|
349
|
-
"」将变为只读。": "\" will become read-only.",
|
|
350
|
-
"」恢复为内置默认配置?": "\" restored to built-in defaults?",
|
|
351
|
-
"」控制中(点击接管)": "\" is in control (click to take over)",
|
|
352
|
-
"」?已有任务不受影响。": "\"? Existing tasks are not affected.",
|
|
353
|
-
"」?\n停用后它的绑定会回落为 CLI 默认;配置与模型列表保留,可随时再启用。": "\"?\nOnce disabled, its binding reverts to CLI defaults; config and model list are kept and can be re-enabled anytime.",
|
|
354
|
-
"」?\n刷新 / 重新导入模型列表都不会再带回,可在分组底部「恢复全部」找回。": "\"?\nRefresh or re-import won't bring it back; you can recover from \"Restore all\" at the bottom of the group.",
|
|
355
|
-
"任务": "Tasks",
|
|
356
|
-
"运行记录": "Runs",
|
|
357
|
-
"运行详情": "Run detail",
|
|
358
|
-
"用量统计": "Usage",
|
|
359
|
-
"使用统计": "Usage statistics",
|
|
360
|
-
"应用用量": "App usage",
|
|
361
|
-
"Token 活动": "Token activity",
|
|
362
|
-
"热力图粒度": "Heatmap granularity",
|
|
363
|
-
"少": "Less",
|
|
364
|
-
"多": "More",
|
|
365
|
-
"每日": "Daily",
|
|
366
|
-
"累计": "Total",
|
|
367
|
-
"每日 Token 趋势图": "Daily token trend",
|
|
368
|
-
"模型用量": "Model usage",
|
|
369
|
-
"累计 Token 数": "Total tokens",
|
|
370
|
-
"峰值 Token 数": "Peak tokens",
|
|
371
|
-
"调用 ": "Calls ",
|
|
372
|
-
" 次 · 成功率 ": " calls · success ",
|
|
373
|
-
"单日最高 · 日均 ": "Daily peak · avg ",
|
|
374
|
-
"最长单次时长": "Longest call",
|
|
375
|
-
"累计调用 ": "Total call time ",
|
|
376
|
-
"当前连续天数": "Current streak",
|
|
377
|
-
" 天": " days",
|
|
378
|
-
"范围内活跃 ": "Active days in range ",
|
|
379
|
-
"最长连续天数": "Longest streak",
|
|
380
|
-
"总量": "Total",
|
|
381
|
-
"峰值 ": "Peak ",
|
|
382
|
-
"其他模型": "Other models",
|
|
383
|
-
" tokens(": " tokens (",
|
|
384
|
-
"%)": "%)",
|
|
385
|
-
"(暂无数据)": "(No data yet)",
|
|
386
|
-
"智能体管理": "Agents",
|
|
387
|
-
"模型接入": "Models",
|
|
388
|
-
"CLI 绑定": "CLI bindings",
|
|
389
|
-
"编排设置": "Orchestrator",
|
|
390
|
-
"经验库": "Skill library",
|
|
391
|
-
"皮肤": "Skins",
|
|
392
|
-
"手机连接": "Phone link",
|
|
393
|
-
"设置": "Settings",
|
|
394
|
-
"多端控制权": "Multi-device control",
|
|
395
|
-
"时间范围": "Time range",
|
|
396
|
-
"明暗模式": "Theme",
|
|
397
|
-
"主": "Primary",
|
|
398
|
-
"备": "Backup",
|
|
399
|
-
"通用": "General",
|
|
400
|
-
"已连接": "Connected",
|
|
401
|
-
"连接失败": "Disconnected",
|
|
402
|
-
"重连中…": "Reconnecting…",
|
|
403
|
-
"运行中": "Running",
|
|
404
|
-
"排队中": "Queued",
|
|
405
|
-
"完成": "Done",
|
|
406
|
-
"失败": "Failed",
|
|
407
|
-
"已取消": "Cancelled",
|
|
408
|
-
"提交中…": "Submitting…",
|
|
409
|
-
"保存中…": "Saving…",
|
|
410
|
-
"导入中…": "Importing…",
|
|
411
|
-
"测试中…": "Testing…",
|
|
412
|
-
"正在刷新…": "Refreshing…",
|
|
413
|
-
"正在刷新全部模型列表…": "Refreshing all model lists…",
|
|
414
|
-
"正在查询远端最新版本…": "Checking the latest version…",
|
|
415
|
-
"无法判断是否有更新。": "Cannot determine whether an update is available.",
|
|
416
|
-
"已是最新版本(": "Already up to date (",
|
|
417
|
-
"发现新版本:": "New version found: ",
|
|
418
|
-
"需要访问令牌": "Access token required",
|
|
419
|
-
"令牌不正确或已更换,请重新输入": "Token invalid or rotated. Please re-enter it.",
|
|
420
|
-
"未选厂商": "No provider",
|
|
421
|
-
"未获取": "Not fetched",
|
|
422
|
-
"未获取到可用的连接地址": "No connection URLs available",
|
|
423
|
-
"未设置": "Not set",
|
|
424
|
-
"未知": "Unknown",
|
|
425
|
-
"(未知)": "(unknown)",
|
|
426
|
-
"保存": "Save",
|
|
427
|
-
"关闭": "Close",
|
|
428
|
-
"取消": "Cancel",
|
|
429
|
-
"确定": "OK",
|
|
430
|
-
"确认": "Confirm",
|
|
431
|
-
"确认操作": "Confirm",
|
|
432
|
-
"是": "Yes",
|
|
433
|
-
"否": "No",
|
|
434
|
-
"启用": "Enable",
|
|
435
|
-
"停用": "Disable",
|
|
436
|
-
"停用供应商": "Disable provider",
|
|
437
|
-
"停用供应商「": "Disable provider \"",
|
|
438
|
-
"停用所选 ": "Disable the selected ",
|
|
439
|
-
"启用供应商": "Enable provider",
|
|
440
|
-
"启用所选 ": "Enable the selected ",
|
|
441
|
-
"删除": "Delete",
|
|
442
|
-
"删除任务": "Delete task",
|
|
443
|
-
"删除记录": "Delete record",
|
|
444
|
-
"删除所选 ": "Delete the selected ",
|
|
445
|
-
"删除模型「": "Delete model \"",
|
|
446
|
-
"删除自定义流程「": "Delete custom flow \"",
|
|
447
|
-
"删除该供应商(绑定会自动解绑)?": "Delete this provider (bindings will be detached)?",
|
|
448
|
-
"删除该任务及其全部运行记录(含日志与报告)?不可恢复。": "Delete this task and all its runs (logs and reports)? This cannot be undone.",
|
|
449
|
-
"删除该运行记录(含全部日志与报告)?不可恢复。": "Delete this run (with logs and reports)? This cannot be undone.",
|
|
450
|
-
"删除这条教训?": "Delete this lesson?",
|
|
451
|
-
"删除全部已结束的运行记录(运行中的会保留)": "Delete all finished runs (active ones are kept)",
|
|
452
|
-
"清除全部运行记录(含日志与报告)?运行中的记录会保留,需先取消。不可恢复。": "Clear all runs (logs and reports)? Active runs are kept — cancel them first. This cannot be undone.",
|
|
453
|
-
"全选": "Select all",
|
|
454
|
-
"全不选": "Select none",
|
|
455
|
-
"取消选择": "Clear selection",
|
|
456
|
-
"勾选以批量删除": "Tick to bulk delete",
|
|
457
|
-
"勾选可批量删除": "Tick to bulk delete",
|
|
458
|
-
"取消归档": "Unarchive",
|
|
459
|
-
"归档": "Archive",
|
|
460
|
-
"重命名任务": "Rename task",
|
|
461
|
-
"重试任务": "Retry task",
|
|
462
|
-
"↻ 重试任务": "↻ Retry task",
|
|
463
|
-
"✎ 编辑重试": "✎ Edit & retry",
|
|
464
|
-
"✨ 向导创建": "✨ Guided setup",
|
|
465
|
-
"三问一确认:目标 → 类型 → 目录,预填进表单": "Three quick questions — goal, type, directory — then it prefills the form",
|
|
466
|
-
"新建任务向导": "New task wizard",
|
|
467
|
-
"下一步": "Next",
|
|
468
|
-
"上一步": "Back",
|
|
469
|
-
"目标还不能为空": "Goal can't be empty",
|
|
470
|
-
"点一个类型即选定并继续;进表单后仍可改": "Click a type to pick it and continue — you can still change it in the form",
|
|
471
|
-
"留空用默认保存路径;也可稍后在表单里点「选择…」": "Leave empty for the default save path; you can also use Pick… in the form later",
|
|
472
|
-
"建议给每个任务一个独立目录,产出互不覆盖": "Give each task its own directory so outputs don't overwrite each other",
|
|
473
|
-
"默认保存路径": "Default save path",
|
|
474
|
-
"例:npm test、pytest -q;留空=只靠 AI 评审": "e.g. npm test, pytest -q — leave empty to rely on AI review only",
|
|
475
|
-
"一条能在工作目录里跑的命令,退出码 0 即视为通过;之后可在表单改": "A command that runs in the workdir — exit code 0 means pass; editable in the form later",
|
|
476
|
-
"留空靠 AI 评审": "empty — AI review only",
|
|
477
|
-
"协议不匹配,解析时跳过": "protocol mismatch — skipped when resolving",
|
|
478
|
-
"该 CLI 只接受特定 wire 协议的供应商,当前没有匹配项——先到「模型接入」页导入对应协议的网关。": "This CLI only accepts providers on a specific wire protocol and none match — import a compatible gateway on the Models page first.",
|
|
479
|
-
"%1 个供应商 wire 协议不匹配已隐藏(降级只在同协议网关间进行)。": "%1 provider(s) hidden due to wire-protocol mismatch — fallback stays within the same protocol.",
|
|
480
|
-
"已适配(%1 wire)": "adapted (%1 wire)",
|
|
481
|
-
"已适配 · 注入该厂商凭据": "adapted · injects this vendor's credentials",
|
|
482
|
-
" · 已适配": " · adapted",
|
|
483
|
-
"适配测试": "Wire adapt test",
|
|
484
|
-
"适配测试中…": "Adapt test running…",
|
|
485
|
-
"适配测试通过:同密钥实测支持该协议注入": "Adapt test passed: this gateway verifiably serves this protocol with the same key",
|
|
486
|
-
"实测该网关同一密钥是否也支持另一条 wire 协议;通过后绑定链可跨协议注入": "Verifiably test whether this gateway also serves the other wire protocol with the same key; once passed, binding chains may inject across protocols",
|
|
487
|
-
"已适配:": "Adapted: ",
|
|
488
|
-
"未发现可适配的 wire": "no adaptable wire found",
|
|
489
|
-
"正在获取模型列表…": "Fetching model list…",
|
|
490
|
-
"已获取模型列表 · wire 适配测试后台进行中": "Model list fetched · wire adapt test running in background",
|
|
491
|
-
"密钥(按顺序调用,欠费自动切备用)": "Keys (tried in order; a drained one auto-fails over)",
|
|
492
|
-
"点「添加密钥」配备用号": "Add a spare key below",
|
|
493
|
-
"添加密钥": "Add key",
|
|
494
|
-
"尚未配置密钥": "No key configured yet",
|
|
495
|
-
"拖动调整调用顺序": "Drag to reorder failover order",
|
|
496
|
-
"冷却中": "cooling down",
|
|
497
|
-
"使用中": "in use",
|
|
498
|
-
"停用该密钥(编排自动跳过)": "Disable this key (skipped when resolving)",
|
|
499
|
-
"充值后手动恢复(清掉冷却)": "Manually restore after topping up (clears cooldown)",
|
|
500
|
-
"恢复": "Restore",
|
|
501
|
-
"新密钥(sk-...)": "New key (sk-...)",
|
|
502
|
-
"备注名(可空,如:备用号)": "Label (optional, e.g. spare account)",
|
|
503
|
-
"已取消:密钥为空": "Cancelled: key is empty",
|
|
504
|
-
"已添加密钥": "Key added",
|
|
505
|
-
"删除该密钥?(不影响其它密钥)": "Delete this key? (others unaffected)",
|
|
506
|
-
"复制一份": "Duplicate",
|
|
507
|
-
"复制一份(同地址同密钥,可再换 KEY / 改名)": "Duplicate (same endpoint & keys — swap the key or rename after)",
|
|
508
|
-
"已复制供应商(启用状态,绑定不随带)": "Provider duplicated (enabled, without bindings)",
|
|
509
|
-
"复制失败:": "Duplicate failed: ",
|
|
510
|
-
"%1 把密钥": "%1 keys",
|
|
511
|
-
"密钥": "API key",
|
|
512
|
-
"首选密钥(填了=替换 #1;备用号在下方密钥区添加)": "Primary key (typing replaces #1; add spares in the keys section below)",
|
|
513
|
-
"填入表单": "Fill form",
|
|
514
|
-
"填入表单后可继续:加附件、选实现者、改评审设置": "After filling the form you can still add attachments, pick implementers, or adjust review settings",
|
|
515
|
-
"已按向导预填,检查或补充后点「创建并运行」": "Prefilled by the wizard — review it, then click Create & Run",
|
|
516
|
-
"超时": "Timeout",
|
|
517
|
-
"取回原任务的目标/目录/评审设置,修改后提交即重新开跑": "Reload this task's goal/directory/review settings into the form — edit and submit to run again",
|
|
518
|
-
"打开详情": "Open detail",
|
|
519
|
-
"打开工作目录": "Open working directory",
|
|
520
|
-
"复制工作目录路径": "Copy workdir path",
|
|
521
|
-
"复制日志目录路径": "Copy log path",
|
|
522
|
-
"新建任务到该目录": "New task in this folder",
|
|
523
|
-
"查看文件": "Browse files",
|
|
524
|
-
"返回任务列表": "Back to tasks",
|
|
525
|
-
"未知错误": "Unknown error",
|
|
526
|
-
"该目录下暂无文件": "No files in this directory",
|
|
527
|
-
"移除该文件夹": "Remove this folder",
|
|
528
|
-
"把该文件夹下 %1 个任务移出侧栏?文件与运行记录不会删除;移除后文件夹从侧栏隐藏,在该目录新建任务会重新显示。": "Move %1 task(s) in this folder out of the sidebar? Files and run records are kept — the folder is hidden from the sidebar and reappears when you create a task in that directory.",
|
|
529
|
-
"导入": "Import",
|
|
530
|
-
"导入供应商": "Import providers",
|
|
531
|
-
"导入选中": "Import selected",
|
|
532
|
-
"添加供应商": "Add provider",
|
|
533
|
-
"手动添加供应商": "Add provider manually",
|
|
534
|
-
"从本机各 AI 工具导入供应商": "Import from local AI tools",
|
|
535
|
-
"重新拉取": "Reload",
|
|
536
|
-
"全部重新拉取模型列表": "Reload all model lists",
|
|
537
|
-
"获取模型列表": "Fetch model list",
|
|
538
|
-
"升级": "Upgrade",
|
|
539
|
-
"检查更新": "Check update",
|
|
540
|
-
"安装": "Install",
|
|
541
|
-
"卸载": "Uninstall",
|
|
542
|
-
"冒烟": "Smoke",
|
|
543
|
-
"冒烟测试": "Smoke test",
|
|
544
|
-
"恢复全部": "Restore all",
|
|
545
|
-
"恢复所选 ": "Restore the selected ",
|
|
546
|
-
"查看日志": "View log",
|
|
547
|
-
"收起日志": "Hide log",
|
|
548
|
-
"+ 添加": "+ Add",
|
|
549
|
-
"收起": "Collapse",
|
|
550
|
-
"+ 新任务": "+ New task",
|
|
551
|
-
"搜索任务": "Search tasks",
|
|
552
|
-
"搜索": "Search",
|
|
553
|
-
"搜索操作、任务或文件": "Search actions, tasks or files",
|
|
554
|
-
"新任务": "New task",
|
|
555
|
-
"操作": "Actions",
|
|
556
|
-
"命令": "Commands",
|
|
557
|
-
"无匹配结果": "No matches",
|
|
558
|
-
"展开全部": "Expand all",
|
|
559
|
-
"收起全部": "Collapse all",
|
|
560
|
-
"无匹配任务": "No matching tasks",
|
|
561
|
-
" 个任务待裁决": " tasks pending verdict",
|
|
562
|
-
"执行「": "Execute \"",
|
|
563
|
-
"」?": "\"?",
|
|
564
|
-
"把「": "Restore \"",
|
|
565
|
-
"(用供应商默认模型)": " (use provider default)",
|
|
566
|
-
"(用 CLI 默认模型)": " (use CLI default model)",
|
|
567
|
-
"
|
|
568
|
-
"
|
|
569
|
-
"
|
|
570
|
-
"
|
|
571
|
-
"
|
|
572
|
-
"
|
|
573
|
-
"
|
|
574
|
-
"
|
|
575
|
-
"
|
|
576
|
-
"
|
|
577
|
-
"
|
|
578
|
-
"
|
|
579
|
-
"
|
|
580
|
-
"
|
|
581
|
-
"
|
|
582
|
-
"
|
|
583
|
-
"
|
|
584
|
-
"
|
|
585
|
-
"
|
|
586
|
-
"
|
|
587
|
-
"
|
|
588
|
-
"
|
|
589
|
-
"
|
|
590
|
-
"
|
|
591
|
-
"
|
|
592
|
-
"
|
|
593
|
-
"
|
|
594
|
-
"
|
|
595
|
-
"
|
|
596
|
-
"
|
|
597
|
-
"
|
|
598
|
-
"
|
|
599
|
-
"
|
|
600
|
-
"
|
|
601
|
-
"
|
|
602
|
-
"
|
|
603
|
-
"
|
|
604
|
-
"
|
|
605
|
-
"
|
|
606
|
-
"
|
|
607
|
-
"
|
|
608
|
-
"
|
|
609
|
-
"
|
|
610
|
-
"
|
|
611
|
-
"
|
|
612
|
-
"
|
|
613
|
-
"
|
|
614
|
-
"
|
|
615
|
-
"
|
|
616
|
-
"
|
|
617
|
-
"
|
|
618
|
-
"
|
|
619
|
-
"
|
|
620
|
-
"
|
|
621
|
-
"
|
|
622
|
-
"
|
|
623
|
-
"
|
|
624
|
-
"
|
|
625
|
-
"
|
|
626
|
-
"
|
|
627
|
-
"
|
|
628
|
-
"
|
|
629
|
-
"
|
|
630
|
-
"
|
|
631
|
-
"
|
|
632
|
-
"
|
|
633
|
-
"
|
|
634
|
-
"
|
|
635
|
-
"
|
|
636
|
-
"
|
|
637
|
-
"
|
|
638
|
-
"
|
|
639
|
-
"
|
|
640
|
-
"
|
|
641
|
-
"
|
|
642
|
-
"
|
|
643
|
-
"
|
|
644
|
-
"
|
|
645
|
-
"
|
|
646
|
-
"
|
|
647
|
-
"
|
|
648
|
-
"
|
|
649
|
-
"
|
|
650
|
-
"
|
|
651
|
-
"
|
|
652
|
-
"
|
|
653
|
-
"
|
|
654
|
-
"
|
|
655
|
-
"
|
|
656
|
-
"
|
|
657
|
-
"
|
|
658
|
-
"
|
|
659
|
-
"
|
|
660
|
-
"
|
|
661
|
-
"
|
|
662
|
-
"
|
|
663
|
-
"
|
|
664
|
-
"
|
|
665
|
-
"
|
|
666
|
-
"
|
|
667
|
-
"
|
|
668
|
-
"
|
|
669
|
-
"
|
|
670
|
-
"
|
|
671
|
-
"
|
|
672
|
-
"
|
|
673
|
-
"
|
|
674
|
-
"
|
|
675
|
-
"
|
|
676
|
-
"
|
|
677
|
-
"
|
|
678
|
-
"
|
|
679
|
-
"
|
|
680
|
-
"
|
|
681
|
-
"
|
|
682
|
-
"
|
|
683
|
-
"
|
|
684
|
-
"
|
|
685
|
-
"
|
|
686
|
-
"
|
|
687
|
-
"
|
|
688
|
-
"
|
|
689
|
-
"
|
|
690
|
-
"
|
|
691
|
-
"
|
|
692
|
-
"
|
|
693
|
-
"
|
|
694
|
-
"
|
|
695
|
-
"
|
|
696
|
-
"
|
|
697
|
-
"
|
|
698
|
-
"
|
|
699
|
-
"
|
|
700
|
-
"
|
|
701
|
-
"
|
|
702
|
-
"
|
|
703
|
-
"
|
|
704
|
-
"
|
|
705
|
-
"
|
|
706
|
-
"
|
|
707
|
-
"
|
|
708
|
-
"
|
|
709
|
-
"
|
|
710
|
-
"
|
|
711
|
-
"
|
|
712
|
-
"
|
|
713
|
-
"
|
|
714
|
-
"
|
|
715
|
-
"
|
|
716
|
-
"
|
|
717
|
-
"
|
|
718
|
-
"
|
|
719
|
-
"
|
|
720
|
-
"
|
|
721
|
-
"
|
|
722
|
-
"
|
|
723
|
-
"
|
|
724
|
-
"
|
|
725
|
-
"
|
|
726
|
-
"
|
|
727
|
-
"
|
|
728
|
-
"
|
|
729
|
-
"
|
|
730
|
-
"
|
|
731
|
-
"
|
|
732
|
-
"
|
|
733
|
-
"
|
|
734
|
-
"
|
|
735
|
-
"
|
|
736
|
-
"
|
|
737
|
-
"
|
|
738
|
-
"
|
|
739
|
-
"
|
|
740
|
-
"
|
|
741
|
-
"
|
|
742
|
-
"
|
|
743
|
-
"
|
|
744
|
-
"
|
|
745
|
-
"
|
|
746
|
-
"
|
|
747
|
-
"
|
|
748
|
-
"
|
|
749
|
-
"
|
|
750
|
-
"
|
|
751
|
-
"
|
|
752
|
-
"
|
|
753
|
-
"
|
|
754
|
-
"
|
|
755
|
-
"
|
|
756
|
-
"
|
|
757
|
-
"
|
|
758
|
-
"
|
|
759
|
-
"
|
|
760
|
-
"
|
|
761
|
-
"
|
|
762
|
-
"
|
|
763
|
-
"
|
|
764
|
-
"
|
|
765
|
-
"
|
|
766
|
-
"
|
|
767
|
-
"
|
|
768
|
-
"
|
|
769
|
-
"
|
|
770
|
-
"
|
|
771
|
-
"
|
|
772
|
-
"
|
|
773
|
-
"
|
|
774
|
-
"
|
|
775
|
-
"
|
|
776
|
-
"
|
|
777
|
-
"
|
|
778
|
-
"
|
|
779
|
-
"
|
|
780
|
-
"
|
|
781
|
-
"
|
|
782
|
-
"
|
|
783
|
-
"
|
|
784
|
-
"
|
|
785
|
-
"
|
|
786
|
-
"
|
|
787
|
-
"
|
|
788
|
-
"
|
|
789
|
-
"
|
|
790
|
-
"
|
|
791
|
-
"
|
|
792
|
-
"
|
|
793
|
-
"
|
|
794
|
-
"
|
|
795
|
-
"
|
|
796
|
-
"
|
|
797
|
-
"
|
|
798
|
-
"
|
|
799
|
-
"
|
|
800
|
-
"
|
|
801
|
-
"
|
|
802
|
-
"
|
|
803
|
-
"
|
|
804
|
-
"
|
|
805
|
-
"
|
|
806
|
-
"
|
|
807
|
-
"
|
|
808
|
-
"
|
|
809
|
-
"
|
|
810
|
-
"
|
|
811
|
-
"
|
|
812
|
-
"
|
|
813
|
-
"
|
|
814
|
-
"
|
|
815
|
-
"
|
|
816
|
-
"
|
|
817
|
-
"
|
|
818
|
-
"
|
|
819
|
-
"
|
|
820
|
-
"
|
|
821
|
-
"
|
|
822
|
-
"
|
|
823
|
-
"
|
|
824
|
-
"
|
|
825
|
-
"
|
|
826
|
-
"
|
|
827
|
-
"
|
|
828
|
-
"
|
|
829
|
-
"
|
|
830
|
-
"
|
|
831
|
-
"
|
|
832
|
-
"
|
|
833
|
-
"
|
|
834
|
-
"
|
|
835
|
-
"
|
|
836
|
-
"
|
|
837
|
-
"
|
|
838
|
-
"
|
|
839
|
-
"
|
|
840
|
-
"
|
|
841
|
-
"
|
|
842
|
-
"
|
|
843
|
-
"
|
|
844
|
-
"
|
|
845
|
-
"
|
|
846
|
-
"
|
|
847
|
-
"
|
|
848
|
-
"
|
|
849
|
-
"
|
|
850
|
-
"
|
|
851
|
-
"
|
|
852
|
-
"
|
|
853
|
-
"
|
|
854
|
-
"
|
|
855
|
-
"
|
|
856
|
-
"
|
|
857
|
-
"
|
|
858
|
-
"
|
|
859
|
-
"
|
|
860
|
-
"
|
|
861
|
-
"
|
|
862
|
-
"
|
|
863
|
-
"
|
|
864
|
-
"
|
|
865
|
-
"
|
|
866
|
-
"
|
|
867
|
-
"
|
|
868
|
-
"
|
|
869
|
-
" 协议
|
|
870
|
-
"
|
|
871
|
-
"
|
|
872
|
-
"
|
|
873
|
-
"
|
|
874
|
-
"
|
|
875
|
-
"
|
|
876
|
-
"
|
|
877
|
-
"
|
|
878
|
-
"
|
|
879
|
-
"
|
|
880
|
-
"
|
|
881
|
-
"自动 ·
|
|
882
|
-
"
|
|
883
|
-
"
|
|
884
|
-
"
|
|
885
|
-
"
|
|
886
|
-
"
|
|
887
|
-
"
|
|
888
|
-
"
|
|
889
|
-
"
|
|
890
|
-
"
|
|
891
|
-
"
|
|
892
|
-
"
|
|
893
|
-
"
|
|
894
|
-
"
|
|
895
|
-
"
|
|
896
|
-
"
|
|
897
|
-
"
|
|
898
|
-
"
|
|
899
|
-
"
|
|
900
|
-
"
|
|
901
|
-
"
|
|
902
|
-
"
|
|
903
|
-
"
|
|
904
|
-
"
|
|
905
|
-
"
|
|
906
|
-
"
|
|
907
|
-
"
|
|
908
|
-
"
|
|
909
|
-
"
|
|
910
|
-
"
|
|
911
|
-
"
|
|
912
|
-
"
|
|
913
|
-
"
|
|
914
|
-
"
|
|
915
|
-
"
|
|
916
|
-
"
|
|
917
|
-
"
|
|
918
|
-
"
|
|
919
|
-
"
|
|
920
|
-
"
|
|
921
|
-
"
|
|
922
|
-
"
|
|
923
|
-
"
|
|
924
|
-
"
|
|
925
|
-
"
|
|
926
|
-
"
|
|
927
|
-
"
|
|
928
|
-
"": "",
|
|
929
|
-
"
|
|
930
|
-
"
|
|
931
|
-
"
|
|
932
|
-
"
|
|
933
|
-
"
|
|
934
|
-
"
|
|
935
|
-
"
|
|
936
|
-
"
|
|
937
|
-
"
|
|
938
|
-
"
|
|
939
|
-
"
|
|
940
|
-
"
|
|
941
|
-
"
|
|
942
|
-
"
|
|
943
|
-
"
|
|
944
|
-
"
|
|
945
|
-
"
|
|
946
|
-
"
|
|
947
|
-
"
|
|
948
|
-
"
|
|
949
|
-
"
|
|
950
|
-
"
|
|
951
|
-
"
|
|
952
|
-
"
|
|
953
|
-
"
|
|
954
|
-
"
|
|
955
|
-
"
|
|
956
|
-
"
|
|
957
|
-
"
|
|
958
|
-
"
|
|
959
|
-
"
|
|
960
|
-
"
|
|
961
|
-
"
|
|
962
|
-
"
|
|
963
|
-
"
|
|
964
|
-
"
|
|
965
|
-
"
|
|
966
|
-
"
|
|
967
|
-
"
|
|
968
|
-
"
|
|
969
|
-
"
|
|
970
|
-
"
|
|
971
|
-
"
|
|
972
|
-
"
|
|
973
|
-
"
|
|
974
|
-
"
|
|
975
|
-
"
|
|
976
|
-
"
|
|
977
|
-
"
|
|
978
|
-
"
|
|
979
|
-
"
|
|
980
|
-
"
|
|
981
|
-
"
|
|
982
|
-
"
|
|
983
|
-
"
|
|
984
|
-
"
|
|
985
|
-
"
|
|
986
|
-
"
|
|
987
|
-
"
|
|
988
|
-
"
|
|
989
|
-
"
|
|
990
|
-
"
|
|
991
|
-
"
|
|
992
|
-
"
|
|
993
|
-
"
|
|
994
|
-
"
|
|
995
|
-
"
|
|
996
|
-
"
|
|
997
|
-
"
|
|
998
|
-
"
|
|
999
|
-
"
|
|
1000
|
-
"
|
|
1001
|
-
"
|
|
1002
|
-
"
|
|
1003
|
-
"
|
|
1004
|
-
"
|
|
1005
|
-
"
|
|
1006
|
-
"
|
|
1007
|
-
"
|
|
1008
|
-
"
|
|
1009
|
-
"
|
|
1010
|
-
"
|
|
1011
|
-
"
|
|
1012
|
-
"
|
|
1013
|
-
"
|
|
1014
|
-
"
|
|
1015
|
-
"
|
|
1016
|
-
"
|
|
1017
|
-
"
|
|
1018
|
-
"
|
|
1019
|
-
"
|
|
1020
|
-
"
|
|
1021
|
-
"
|
|
1022
|
-
"
|
|
1023
|
-
"
|
|
1024
|
-
"
|
|
1025
|
-
"
|
|
1026
|
-
"
|
|
1027
|
-
"
|
|
1028
|
-
"
|
|
1029
|
-
"
|
|
1030
|
-
"
|
|
1031
|
-
"
|
|
1032
|
-
"
|
|
1033
|
-
"
|
|
1034
|
-
"
|
|
1035
|
-
"
|
|
1036
|
-
"
|
|
1037
|
-
"
|
|
1038
|
-
"
|
|
1039
|
-
"
|
|
1040
|
-
"
|
|
1041
|
-
"
|
|
1042
|
-
"
|
|
1043
|
-
"
|
|
1044
|
-
"
|
|
1045
|
-
"
|
|
1046
|
-
"
|
|
1047
|
-
"
|
|
1048
|
-
"
|
|
1049
|
-
"
|
|
1050
|
-
"
|
|
1051
|
-
"
|
|
1052
|
-
"
|
|
1053
|
-
"
|
|
1054
|
-
"
|
|
1055
|
-
"
|
|
1056
|
-
"
|
|
1057
|
-
"
|
|
1058
|
-
"
|
|
1059
|
-
"
|
|
1060
|
-
"
|
|
1061
|
-
"
|
|
1062
|
-
"
|
|
1063
|
-
"
|
|
1064
|
-
"
|
|
1065
|
-
"
|
|
1066
|
-
"
|
|
1067
|
-
"
|
|
1068
|
-
"
|
|
1069
|
-
"
|
|
1070
|
-
"
|
|
1071
|
-
"
|
|
1072
|
-
"
|
|
1073
|
-
"
|
|
1074
|
-
"
|
|
1075
|
-
"
|
|
1076
|
-
"
|
|
1077
|
-
"
|
|
1078
|
-
"
|
|
1079
|
-
"
|
|
1080
|
-
"
|
|
1081
|
-
"
|
|
1082
|
-
"
|
|
1083
|
-
"
|
|
1084
|
-
"
|
|
1085
|
-
"
|
|
1086
|
-
"
|
|
1087
|
-
"
|
|
1088
|
-
"
|
|
1089
|
-
"
|
|
1090
|
-
"
|
|
1091
|
-
"
|
|
1092
|
-
"
|
|
1093
|
-
"
|
|
1094
|
-
"
|
|
1095
|
-
"
|
|
1096
|
-
"
|
|
1097
|
-
"
|
|
1098
|
-
"
|
|
1099
|
-
"
|
|
1100
|
-
"
|
|
1101
|
-
"
|
|
1102
|
-
"
|
|
1103
|
-
"
|
|
1104
|
-
"
|
|
1105
|
-
"
|
|
1106
|
-
"
|
|
1107
|
-
"
|
|
1108
|
-
"
|
|
1109
|
-
"
|
|
1110
|
-
"
|
|
1111
|
-
"
|
|
1112
|
-
"
|
|
1113
|
-
"
|
|
1114
|
-
"
|
|
1115
|
-
"
|
|
1116
|
-
"
|
|
1117
|
-
"
|
|
1118
|
-
"
|
|
1119
|
-
"
|
|
1120
|
-
"
|
|
1121
|
-
"
|
|
1122
|
-
"
|
|
1123
|
-
"
|
|
1124
|
-
"
|
|
1125
|
-
"
|
|
1126
|
-
"
|
|
1127
|
-
"
|
|
1128
|
-
"
|
|
1129
|
-
"
|
|
1130
|
-
"
|
|
1131
|
-
"
|
|
1132
|
-
"
|
|
1133
|
-
"
|
|
1134
|
-
"
|
|
1135
|
-
"
|
|
1136
|
-
"
|
|
1137
|
-
"
|
|
1138
|
-
"
|
|
1139
|
-
"
|
|
1140
|
-
"
|
|
1141
|
-
"
|
|
1142
|
-
"
|
|
1143
|
-
"
|
|
1144
|
-
"
|
|
1145
|
-
"
|
|
1146
|
-
"
|
|
1147
|
-
"
|
|
1148
|
-
"
|
|
1149
|
-
"
|
|
1150
|
-
"
|
|
1151
|
-
"
|
|
1152
|
-
"
|
|
1153
|
-
"
|
|
1154
|
-
"
|
|
1155
|
-
"
|
|
1156
|
-
"
|
|
1157
|
-
"
|
|
1158
|
-
"
|
|
1159
|
-
"
|
|
1160
|
-
"
|
|
1161
|
-
"
|
|
1162
|
-
"
|
|
1163
|
-
"
|
|
1164
|
-
"
|
|
1165
|
-
"
|
|
1166
|
-
"
|
|
1167
|
-
"
|
|
1168
|
-
"
|
|
1169
|
-
"
|
|
1170
|
-
"
|
|
1171
|
-
"
|
|
1172
|
-
"
|
|
1173
|
-
"
|
|
1174
|
-
"
|
|
1175
|
-
"
|
|
1176
|
-
"
|
|
1177
|
-
"
|
|
1178
|
-
"
|
|
1179
|
-
"
|
|
1180
|
-
"
|
|
1181
|
-
"
|
|
1182
|
-
"
|
|
1183
|
-
"
|
|
1184
|
-
"
|
|
1185
|
-
"
|
|
1186
|
-
"
|
|
1187
|
-
"
|
|
1188
|
-
"
|
|
1189
|
-
"
|
|
1190
|
-
"
|
|
1191
|
-
"
|
|
1192
|
-
"
|
|
1193
|
-
"
|
|
1194
|
-
"
|
|
1195
|
-
"
|
|
1196
|
-
"
|
|
1197
|
-
"
|
|
1198
|
-
"
|
|
1199
|
-
"
|
|
1200
|
-
"
|
|
1201
|
-
"
|
|
1202
|
-
"例:
|
|
1203
|
-
"
|
|
1204
|
-
"
|
|
1205
|
-
"
|
|
1206
|
-
"
|
|
1207
|
-
"
|
|
1208
|
-
"
|
|
1209
|
-
"
|
|
1210
|
-
"
|
|
1211
|
-
"
|
|
1212
|
-
"
|
|
1213
|
-
"
|
|
1214
|
-
"留空 =
|
|
1215
|
-
"留空 =
|
|
1216
|
-
"
|
|
1217
|
-
"
|
|
1218
|
-
"
|
|
1219
|
-
"
|
|
1220
|
-
"
|
|
1221
|
-
"
|
|
1222
|
-
"
|
|
1223
|
-
"
|
|
1224
|
-
"
|
|
1225
|
-
"
|
|
1226
|
-
"
|
|
1227
|
-
"
|
|
1228
|
-
"
|
|
1229
|
-
"
|
|
1230
|
-
"
|
|
1231
|
-
"
|
|
1232
|
-
"
|
|
1233
|
-
"
|
|
1234
|
-
"
|
|
1235
|
-
"
|
|
1236
|
-
"
|
|
1237
|
-
"
|
|
1238
|
-
"
|
|
1239
|
-
"
|
|
1240
|
-
"
|
|
1241
|
-
"
|
|
1242
|
-
"
|
|
1243
|
-
"
|
|
1244
|
-
"
|
|
1245
|
-
"
|
|
1246
|
-
"
|
|
1247
|
-
"
|
|
1248
|
-
"
|
|
1249
|
-
"
|
|
1250
|
-
"
|
|
1251
|
-
"
|
|
1252
|
-
"
|
|
1253
|
-
"
|
|
1254
|
-
"
|
|
1255
|
-
"
|
|
1256
|
-
"
|
|
1257
|
-
"
|
|
1258
|
-
"
|
|
1259
|
-
"
|
|
1260
|
-
"
|
|
1261
|
-
"
|
|
1262
|
-
"
|
|
1263
|
-
"
|
|
1264
|
-
"
|
|
1265
|
-
"
|
|
1266
|
-
"
|
|
1267
|
-
"
|
|
1268
|
-
"
|
|
1269
|
-
"
|
|
1270
|
-
"
|
|
1271
|
-
"
|
|
1272
|
-
"
|
|
1273
|
-
"
|
|
1274
|
-
"
|
|
1275
|
-
"
|
|
1276
|
-
"
|
|
1277
|
-
"
|
|
1278
|
-
"\n
|
|
1279
|
-
"
|
|
1280
|
-
"
|
|
1281
|
-
"
|
|
1282
|
-
"
|
|
1283
|
-
"
|
|
1284
|
-
"
|
|
1285
|
-
"
|
|
1286
|
-
"
|
|
1287
|
-
"
|
|
1288
|
-
"
|
|
1289
|
-
"
|
|
1290
|
-
"
|
|
1291
|
-
"
|
|
1292
|
-
"
|
|
1293
|
-
"
|
|
1294
|
-
"
|
|
1295
|
-
"
|
|
1296
|
-
"
|
|
1297
|
-
"
|
|
1298
|
-
"
|
|
1299
|
-
"
|
|
1300
|
-
"
|
|
1301
|
-
"
|
|
1302
|
-
"
|
|
1303
|
-
"
|
|
1304
|
-
"
|
|
1305
|
-
"
|
|
1306
|
-
"
|
|
1307
|
-
"
|
|
1308
|
-
"
|
|
1309
|
-
"
|
|
1310
|
-
"
|
|
1311
|
-
"
|
|
1312
|
-
"
|
|
1313
|
-
"
|
|
1314
|
-
"
|
|
1315
|
-
"
|
|
1316
|
-
"
|
|
1317
|
-
"
|
|
1318
|
-
"
|
|
1319
|
-
"
|
|
1320
|
-
"
|
|
1321
|
-
"
|
|
1322
|
-
"
|
|
1323
|
-
"
|
|
1324
|
-
"
|
|
1325
|
-
"
|
|
1326
|
-
"
|
|
1327
|
-
"
|
|
1328
|
-
"
|
|
1329
|
-
"
|
|
1330
|
-
"
|
|
1331
|
-
"
|
|
1332
|
-
"
|
|
1333
|
-
"
|
|
1334
|
-
"
|
|
1335
|
-
"
|
|
1336
|
-
"
|
|
1337
|
-
"
|
|
1338
|
-
"
|
|
1339
|
-
"
|
|
1340
|
-
"
|
|
1341
|
-
"
|
|
1342
|
-
"
|
|
1343
|
-
"
|
|
1344
|
-
"
|
|
1345
|
-
"
|
|
1346
|
-
"
|
|
1347
|
-
"
|
|
1348
|
-
"
|
|
1349
|
-
"
|
|
1350
|
-
"
|
|
1351
|
-
"
|
|
1352
|
-
"
|
|
1353
|
-
"
|
|
1354
|
-
"
|
|
1355
|
-
"
|
|
1356
|
-
"
|
|
1357
|
-
"
|
|
1358
|
-
"
|
|
1359
|
-
"
|
|
1360
|
-
"
|
|
1361
|
-
"
|
|
1362
|
-
"
|
|
1363
|
-
"
|
|
1364
|
-
"
|
|
1365
|
-
"
|
|
1366
|
-
"
|
|
1367
|
-
"
|
|
1368
|
-
"
|
|
1369
|
-
"
|
|
1370
|
-
"
|
|
1371
|
-
"
|
|
1372
|
-
"
|
|
1373
|
-
"
|
|
1374
|
-
"
|
|
1375
|
-
"
|
|
1376
|
-
"
|
|
1377
|
-
"
|
|
1378
|
-
"
|
|
1379
|
-
"
|
|
1380
|
-
"
|
|
1381
|
-
"
|
|
1382
|
-
"
|
|
1383
|
-
"
|
|
1384
|
-
"
|
|
1385
|
-
"
|
|
1386
|
-
"
|
|
1387
|
-
"
|
|
1388
|
-
"
|
|
1389
|
-
"
|
|
1390
|
-
"
|
|
1391
|
-
"
|
|
1392
|
-
"
|
|
1393
|
-
"
|
|
1394
|
-
"
|
|
1395
|
-
"
|
|
1396
|
-
"
|
|
1397
|
-
"
|
|
1398
|
-
"
|
|
1399
|
-
"
|
|
1400
|
-
"
|
|
1401
|
-
"
|
|
1402
|
-
"
|
|
1403
|
-
"
|
|
1404
|
-
"~/.
|
|
1405
|
-
"~/.
|
|
1406
|
-
"~/.
|
|
1407
|
-
"~/.
|
|
1408
|
-
"
|
|
1409
|
-
"
|
|
1410
|
-
"~/.
|
|
1411
|
-
"
|
|
1412
|
-
"
|
|
1413
|
-
"
|
|
1414
|
-
"
|
|
1415
|
-
"
|
|
1416
|
-
"
|
|
1417
|
-
"
|
|
1418
|
-
"
|
|
1419
|
-
"
|
|
1420
|
-
"
|
|
1421
|
-
"
|
|
1422
|
-
"
|
|
1423
|
-
"
|
|
1424
|
-
"
|
|
1425
|
-
"
|
|
1426
|
-
"
|
|
1427
|
-
"
|
|
1428
|
-
"
|
|
1429
|
-
"
|
|
1430
|
-
"
|
|
1431
|
-
"
|
|
1432
|
-
"
|
|
1433
|
-
"
|
|
1434
|
-
"
|
|
1435
|
-
"
|
|
1436
|
-
"
|
|
1437
|
-
"
|
|
1438
|
-
"
|
|
1439
|
-
"
|
|
1440
|
-
"
|
|
1441
|
-
"
|
|
1442
|
-
"
|
|
1443
|
-
"
|
|
1444
|
-
"
|
|
1445
|
-
"
|
|
1446
|
-
"
|
|
1447
|
-
"
|
|
1448
|
-
"
|
|
1449
|
-
"
|
|
1450
|
-
"
|
|
1451
|
-
"
|
|
1452
|
-
"
|
|
1453
|
-
"
|
|
1454
|
-
"
|
|
1455
|
-
"
|
|
1456
|
-
"
|
|
1457
|
-
"
|
|
1458
|
-
"
|
|
1459
|
-
"
|
|
1460
|
-
"
|
|
1461
|
-
"
|
|
1462
|
-
"
|
|
1463
|
-
"
|
|
1464
|
-
"
|
|
1465
|
-
"
|
|
1466
|
-
"
|
|
1467
|
-
"
|
|
1468
|
-
"
|
|
1469
|
-
"
|
|
1470
|
-
"
|
|
1471
|
-
"
|
|
1472
|
-
"
|
|
1473
|
-
"
|
|
1474
|
-
"
|
|
1475
|
-
"
|
|
1476
|
-
"
|
|
1477
|
-
"
|
|
1478
|
-
"
|
|
1479
|
-
"
|
|
1480
|
-
"
|
|
1481
|
-
"
|
|
1482
|
-
"
|
|
1483
|
-
"
|
|
1484
|
-
"
|
|
1485
|
-
"
|
|
1486
|
-
"
|
|
1487
|
-
"
|
|
1488
|
-
"
|
|
1489
|
-
"
|
|
1490
|
-
"
|
|
1491
|
-
"
|
|
1492
|
-
"
|
|
1493
|
-
"
|
|
1494
|
-
"
|
|
1495
|
-
"
|
|
1496
|
-
"
|
|
1497
|
-
"
|
|
1498
|
-
"
|
|
1499
|
-
"
|
|
1500
|
-
"
|
|
1501
|
-
"
|
|
1502
|
-
"
|
|
1503
|
-
"
|
|
1504
|
-
"
|
|
1505
|
-
"
|
|
1506
|
-
"
|
|
1507
|
-
"
|
|
1508
|
-
"
|
|
1509
|
-
"
|
|
1510
|
-
"
|
|
1511
|
-
"
|
|
1512
|
-
"
|
|
1513
|
-
"settings.json
|
|
1514
|
-
"
|
|
1515
|
-
"
|
|
1516
|
-
"
|
|
1517
|
-
"
|
|
1518
|
-
"
|
|
1519
|
-
"
|
|
1520
|
-
"
|
|
1521
|
-
"
|
|
1522
|
-
"
|
|
1523
|
-
"
|
|
1524
|
-
"
|
|
1525
|
-
"
|
|
1526
|
-
"
|
|
1527
|
-
"
|
|
1528
|
-
"
|
|
1529
|
-
"
|
|
1530
|
-
"
|
|
1531
|
-
"
|
|
1532
|
-
"
|
|
1533
|
-
"
|
|
1534
|
-
"
|
|
1535
|
-
"
|
|
1536
|
-
"
|
|
1537
|
-
"
|
|
1538
|
-
"
|
|
1539
|
-
"
|
|
1540
|
-
"
|
|
1541
|
-
"
|
|
1542
|
-
"
|
|
1543
|
-
"
|
|
1544
|
-
"
|
|
1545
|
-
"
|
|
1546
|
-
"
|
|
1547
|
-
"
|
|
1548
|
-
"
|
|
1549
|
-
"
|
|
1550
|
-
"
|
|
1551
|
-
"
|
|
1552
|
-
"
|
|
1553
|
-
"
|
|
1554
|
-
"
|
|
1555
|
-
"
|
|
1556
|
-
"
|
|
1557
|
-
"
|
|
1558
|
-
"
|
|
1559
|
-
"
|
|
1560
|
-
"
|
|
1561
|
-
"
|
|
1562
|
-
"
|
|
1563
|
-
"
|
|
1564
|
-
"
|
|
1565
|
-
"
|
|
1566
|
-
"
|
|
1567
|
-
"
|
|
1568
|
-
"
|
|
1569
|
-
"
|
|
1570
|
-
"
|
|
1571
|
-
"
|
|
1572
|
-
"
|
|
1573
|
-
"
|
|
1574
|
-
"
|
|
1575
|
-
"
|
|
1576
|
-
"
|
|
1577
|
-
"
|
|
1578
|
-
"
|
|
1579
|
-
"
|
|
1580
|
-
"
|
|
1581
|
-
"
|
|
1582
|
-
"
|
|
1583
|
-
"
|
|
1584
|
-
"
|
|
1585
|
-
"
|
|
1586
|
-
"
|
|
1587
|
-
"
|
|
1588
|
-
"
|
|
1589
|
-
"
|
|
1590
|
-
"
|
|
1591
|
-
"
|
|
1592
|
-
"
|
|
1593
|
-
"
|
|
1594
|
-
"
|
|
1595
|
-
"
|
|
1596
|
-
"
|
|
1597
|
-
"
|
|
1598
|
-
"
|
|
1599
|
-
"
|
|
1600
|
-
"
|
|
1601
|
-
"
|
|
1602
|
-
"
|
|
1603
|
-
"
|
|
1604
|
-
"
|
|
1605
|
-
"
|
|
1606
|
-
"
|
|
1607
|
-
"
|
|
1608
|
-
"
|
|
1609
|
-
"
|
|
1610
|
-
"
|
|
1611
|
-
"
|
|
1612
|
-
"
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
|
|
1625
|
-
|
|
1626
|
-
|
|
1627
|
-
|
|
1628
|
-
|
|
1629
|
-
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
|
|
1633
|
-
|
|
1634
|
-
|
|
1635
|
-
|
|
1636
|
-
|
|
1637
|
-
|
|
1638
|
-
|
|
1639
|
-
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
//
|
|
1654
|
-
// - data-i18n
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
}
|
|
1672
|
-
|
|
1673
|
-
|
|
1674
|
-
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
scope.querySelectorAll("[data-i18n
|
|
1682
|
-
el
|
|
1683
|
-
});
|
|
1684
|
-
scope.querySelectorAll("[data-i18n-
|
|
1685
|
-
el.setAttribute("
|
|
1686
|
-
});
|
|
1687
|
-
scope.querySelectorAll("[data-i18n-
|
|
1688
|
-
el.setAttribute("
|
|
1689
|
-
});
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
|
|
1694
|
-
|
|
1695
|
-
|
|
1696
|
-
window.
|
|
1697
|
-
window.
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
|
|
1706
|
-
|
|
1707
|
-
|
|
1708
|
-
|
|
1
|
+
/* CodeBee 多语言:t(key, ...args) 在 zh 模式直接返回 key,在 en 模式查表。
|
|
2
|
+
* 翻译未命中时回落到中文(key 即原文),所以页面永远有显示。
|
|
3
|
+
* 字典 key = 源码里的中文原文(含空格/换行/标点)。
|
|
4
|
+
* 模板字面量里的 HTML+表达式片段没有进字典,保留中文(不完美的折中)。
|
|
5
|
+
*/
|
|
6
|
+
"use strict";
|
|
7
|
+
|
|
8
|
+
(function () {
|
|
9
|
+
// 语言档案名(与 localStorage 一致)
|
|
10
|
+
const LANG_KEY = "orch.lang";
|
|
11
|
+
// 字典:键 = 中文原文;值 = 英文译文。未命中即回落中文。
|
|
12
|
+
const EN = {
|
|
13
|
+
// —— 短片段(拼接用)——
|
|
14
|
+
|
|
15
|
+
// —— 用量统计图表 ——
|
|
16
|
+
|
|
17
|
+
// —— 时间/计数单位 ——
|
|
18
|
+
|
|
19
|
+
// —— 「」包裹的内容片段 ——
|
|
20
|
+
|
|
21
|
+
// —— 提示/标题 ——
|
|
22
|
+
|
|
23
|
+
// —— 头部/状态 ——
|
|
24
|
+
// Git 变更徽章:英文模式回落 git 标准字母(zh 模式直接显示中文单字)
|
|
25
|
+
|
|
26
|
+
// —— 操作按钮/弹框 ——
|
|
27
|
+
|
|
28
|
+
// —— 表单字段/标签 ——
|
|
29
|
+
|
|
30
|
+
// —— 智能/手动 模式 ——
|
|
31
|
+
|
|
32
|
+
// —— 引擎/角色 ——
|
|
33
|
+
|
|
34
|
+
// —— 任务/状态 ——
|
|
35
|
+
|
|
36
|
+
// —— 保存/失败 通用 ——
|
|
37
|
+
|
|
38
|
+
// —— 工作流管理 ——
|
|
39
|
+
|
|
40
|
+
// —— 多端控制 ——
|
|
41
|
+
|
|
42
|
+
// —— 设置 - 保存路径 ——
|
|
43
|
+
|
|
44
|
+
// —— 设置 - 并发 ——
|
|
45
|
+
|
|
46
|
+
// —— 用量 ——
|
|
47
|
+
|
|
48
|
+
// —— 皮肤 ——
|
|
49
|
+
|
|
50
|
+
// —— 模型/导入 ——
|
|
51
|
+
|
|
52
|
+
// —— 模型批量 ——
|
|
53
|
+
|
|
54
|
+
// —— 模型分组/列表 ——
|
|
55
|
+
|
|
56
|
+
// —— 运行详情/日志 ——
|
|
57
|
+
// 详情标签分区(蜂巢=实时监控 / 步骤 / 成果 / 版本=git / 圣经=连载设定)
|
|
58
|
+
|
|
59
|
+
// —— 任务检查器(右缘停靠列)——
|
|
60
|
+
|
|
61
|
+
// —— 连接/QR ——
|
|
62
|
+
|
|
63
|
+
// —— 经验库 ——
|
|
64
|
+
|
|
65
|
+
// —— 模型绑定 ——
|
|
66
|
+
|
|
67
|
+
// —— 智能体管理 ——
|
|
68
|
+
|
|
69
|
+
// —— 模型管理 - 编辑 ——
|
|
70
|
+
|
|
71
|
+
// —— 添加供应商表单 ——
|
|
72
|
+
|
|
73
|
+
// —— 流程管理 ——
|
|
74
|
+
|
|
75
|
+
// —— 编排设置 ——
|
|
76
|
+
|
|
77
|
+
// —— 任务 ——
|
|
78
|
+
|
|
79
|
+
// —— 多源/批量 ——
|
|
80
|
+
|
|
81
|
+
// —— 连接错误/重试 ——
|
|
82
|
+
|
|
83
|
+
// —— 角色表里角色名 ——
|
|
84
|
+
|
|
85
|
+
// —— 状态/控制 ——
|
|
86
|
+
|
|
87
|
+
// —— 流程表单 ——
|
|
88
|
+
|
|
89
|
+
// —— 运行中指挥(详情页消息信箱)——
|
|
90
|
+
"规划": "Plan", "起草": "Draft", "评审": "Review", "修订": "Revise",
|
|
91
|
+
"打磨": "Polish", "合成": "Merge", "实现": "Implement", "执行": "Run",
|
|
92
|
+
|
|
93
|
+
// —— 新建任务:附件与代码版本 ——
|
|
94
|
+
|
|
95
|
+
// —— 补:index.html data-i18n 漏的 key ——
|
|
96
|
+
|
|
97
|
+
// —— 设置 - 自动化 ——
|
|
98
|
+
"周一": "Mon", "周二": "Tue", "周三": "Wed", "周四": "Thu",
|
|
99
|
+
"周五": "Fri", "周六": "Sat", "周日": "Sun",
|
|
100
|
+
|
|
101
|
+
// —— 设置 - 插件市场 ——
|
|
102
|
+
|
|
103
|
+
// —— 设置 - 插件市场·外部目录 ——
|
|
104
|
+
// —— 2026-09-15 第二轮补词条(HTML 拼接片段 + 覆盖率核对) ——
|
|
105
|
+
// —— 2026-09-15 第三轮:后端内置数据(流程/模板/经验包/目录/导入来源) ——
|
|
106
|
+
// 注意:不要在这里再定义 "复制"——它与 181 行的 "Copy" 撞键,后者会被覆盖,
|
|
107
|
+
// 导致文件预览/作品信息的复制按钮显示成 Duplicate(已改走 "复制一份" 独立键)
|
|
108
|
+
|
|
109
|
+
// —— 作品信息一键生成(番茄/七猫建书资料)——
|
|
110
|
+
|
|
111
|
+
// —— GIT 工作台(详情页 Git 页签)——
|
|
112
|
+
// —— 2026-09-16 第四轮:皮肤/代码主题/作品信息/经验包变体/用量占位 ——
|
|
113
|
+
// —— 2026-09-16 第五轮:编排者标签/导入说明/内置教训标题/目录 note 变体 ——
|
|
114
|
+
// —— 2026-09-16 第六轮:内置教训 title+content 全量(真实数据副本核对) ——
|
|
115
|
+
"改": "M",
|
|
116
|
+
"新": "A",
|
|
117
|
+
"删": "D",
|
|
118
|
+
"移": "R",
|
|
119
|
+
"代码设置": "Code Display",
|
|
120
|
+
"设置代码内容的主题、字号和显示方式,不受界面字号影响。": "Choose the theme, font size and display style for code content; independent of the UI font size.",
|
|
121
|
+
"浅色代码主题": "Light code theme",
|
|
122
|
+
"浅色界面下代码内容使用的高亮主题。": "Syntax highlighting theme for code content under the light interface.",
|
|
123
|
+
"深色代码主题": "Dark code theme",
|
|
124
|
+
"深色界面下代码内容使用的高亮主题。": "Syntax highlighting theme for code content under the dark interface.",
|
|
125
|
+
"显示行号": "Show line numbers",
|
|
126
|
+
"在代码内容和差异视图中显示行号。": "Show line numbers in code content and diff views.",
|
|
127
|
+
"长行自动换行": "Wrap long lines",
|
|
128
|
+
"代码内容过长时自动换行。": "Wrap long code lines automatically.",
|
|
129
|
+
"代码字号": "Code font size",
|
|
130
|
+
"调整代码块、文件预览和差异视图的默认字号。": "Default font size for code blocks, file previews and diff views.",
|
|
131
|
+
"代码预览": "Code Preview",
|
|
132
|
+
"同时预览浅色与深色代码主题,当前界面使用的主题会标记为「当前生效」。": "Preview both light and dark code themes side by side; the one matching the current interface is marked “Active”.",
|
|
133
|
+
"浅色预览": "Light preview",
|
|
134
|
+
"深色预览": "Dark preview",
|
|
135
|
+
"当前生效": "Active",
|
|
136
|
+
"深色": "Dark",
|
|
137
|
+
"浅色": "Light",
|
|
138
|
+
"经典浅色,清爽不抢眼,日间界面首选": "Classic light theme — clean and unobtrusive, the top pick for day mode",
|
|
139
|
+
"VS 家族浅色,蓝紫关键词配色": "Visual Studio family light theme with blue-purple keywords",
|
|
140
|
+
"苹果开发工具同款浅色,冷色克制": "Same light theme as Apple's dev tools — cool and restrained",
|
|
141
|
+
"米黄纸感底色,长时间阅读更柔和": "Warm paper-toned background, easier on the eyes for long reads",
|
|
142
|
+
"经典深色,夜间界面首选": "Classic dark theme — the top pick for night mode",
|
|
143
|
+
"VS 家族深色,灰蓝底更沉稳": "Visual Studio family dark theme on a steady gray-blue base",
|
|
144
|
+
"高饱和黄紫粉,老牌编辑器名主题": "High-saturation yellow/purple/pink — the famous classic editor theme",
|
|
145
|
+
"Atom 出品的均衡深色,蓝灰底不刺眼": "Balanced dark theme from Atom on a soft blue-gray base",
|
|
146
|
+
"查看内容": "View content",
|
|
147
|
+
"预览": "Preview",
|
|
148
|
+
"蜂巢": "Hive",
|
|
149
|
+
"对话": "Chat",
|
|
150
|
+
"发送": "Send",
|
|
151
|
+
"继续说…(Enter 发送,Shift+Enter 换行;可直接粘贴截图)": "Keep typing… (Enter to send, Shift+Enter for a new line; paste screenshots directly)",
|
|
152
|
+
"成果": "Results",
|
|
153
|
+
"版本": "Code",
|
|
154
|
+
"圣经": "Bible",
|
|
155
|
+
"详情分区": "Detail sections",
|
|
156
|
+
"点击复制": "Click to copy",
|
|
157
|
+
"当前日志所属的步骤": "The step this log belongs to",
|
|
158
|
+
"关闭日志": "Close log",
|
|
159
|
+
"实时": "Live",
|
|
160
|
+
"预览失败:": "Preview failed: ",
|
|
161
|
+
"提示音已开(点击关闭)": "Sound on (click to mute)",
|
|
162
|
+
"提示音已关(点击开启)": "Sound off (click to unmute)",
|
|
163
|
+
"完成/待裁决提示音": "Sound on completion / pending verdict",
|
|
164
|
+
"同章赛马稿件数": "Race drafts per chapter",
|
|
165
|
+
"故事圣经": "Story bible",
|
|
166
|
+
"story-bible.md · 人物/世界观/伏笔台账,每章起草与评审自动注入": "story-bible.md · characters/world/foreshadowing ledger, auto-injected into every draft and review",
|
|
167
|
+
"运行中不能修改": "Locked while a run is active",
|
|
168
|
+
"尚未创建。点「编辑」写下人物卡/世界观/伏笔台账,下一轮起草即刻生效。": "Not created yet. Click Edit to write character cards / world / foreshadowing — it takes effect from the next chapter.",
|
|
169
|
+
"故事圣经已保存": "Story bible saved",
|
|
170
|
+
"保存失败:": "Save failed: ",
|
|
171
|
+
"代码版本隔离": "Version isolation",
|
|
172
|
+
"任务分支:产物提交在此,原分支未受影响": "Task branch: artifacts are committed here; the original branch is untouched",
|
|
173
|
+
"待裁决": "Pending verdict",
|
|
174
|
+
"已合并": "Merged",
|
|
175
|
+
"已丢弃": "Discarded",
|
|
176
|
+
"基线": "Baseline",
|
|
177
|
+
"分支提交": "Branch commit",
|
|
178
|
+
"收尾出错:": "Finalize error: ",
|
|
179
|
+
"个文件": " files",
|
|
180
|
+
"本次运行没有产生工作区变更。": "No workspace changes were produced in this run.",
|
|
181
|
+
"Git 工具": "Git tools",
|
|
182
|
+
"进度": "Progress",
|
|
183
|
+
"运行统计": "Run stats",
|
|
184
|
+
"完整详情": "Full detail",
|
|
185
|
+
"收起检查器": "Collapse inspector",
|
|
186
|
+
"在主栏打开任务完整详情(全部步骤/日志/报告)": "Open the task's full detail in the main column (all steps / logs / report)",
|
|
187
|
+
"运行": "Runs",
|
|
188
|
+
"步骤": "Steps",
|
|
189
|
+
"成本": "Cost",
|
|
190
|
+
"暂无工作区变更。": "No workspace changes yet.",
|
|
191
|
+
"单击:卡内展开 diff;双击:弹窗查看": "Click: expand diff here; double-click: open in popup",
|
|
192
|
+
"双击弹窗查看该文件的变更": "Double-click to view this file's changes in a popup",
|
|
193
|
+
"复制": "Copy",
|
|
194
|
+
"已复制": "Copied",
|
|
195
|
+
"选择文件夹": "Choose folder",
|
|
196
|
+
"此电脑": "This PC",
|
|
197
|
+
"上级": "Up",
|
|
198
|
+
"选这个": "Select",
|
|
199
|
+
"使用当前目录": "Use this folder",
|
|
200
|
+
"正在读取目录…": "Loading folder…",
|
|
201
|
+
"(没有子目录)": "(no subfolders)",
|
|
202
|
+
"读取失败:": "Failed to read: ",
|
|
203
|
+
"请先进入一个具体目录": "Enter a concrete folder first",
|
|
204
|
+
"浏览本机目录选择": "Browse local folders",
|
|
205
|
+
"检出失败": "Checkout failed",
|
|
206
|
+
"未创建": "not created",
|
|
207
|
+
"处理后点「重试任务」,运行会重新检出任务分支。": "After fixing, click Retry — the run will check out the task branch again.",
|
|
208
|
+
"合并成功,但你之前的未提交改动没能自动还原,": "Merged, but your uncommitted changes could not be restored automatically — ",
|
|
209
|
+
"下载": "Download",
|
|
210
|
+
"二进制文件不预览,可下载查看。": "No preview for binary files — download to view.",
|
|
211
|
+
"内容读取失败:": "Failed to load content: ",
|
|
212
|
+
"未启用代码版本隔离(该任务未指定代码版本)。": "Code-version isolation is off (no code version was chosen for this task).",
|
|
213
|
+
"diff 读取失败:": "Failed to load diff: ",
|
|
214
|
+
"暂无该文件的已保存 diff(运行结束后生成变更快照,或该运行没有保存变更内容)。": "No saved diff for this file yet (the snapshot is written when the run ends, or this run saved no changes).",
|
|
215
|
+
"补充说明或纠偏,将随下一条智能体步骤下达": "Extra guidance or correction, delivered with the next agent step",
|
|
216
|
+
"本次运行没有在工作目录里产出新文件。": "This run produced no new files in the working directory.",
|
|
217
|
+
"合并回原分支": "Merge into base branch",
|
|
218
|
+
"丢弃分支": "Discard branch",
|
|
219
|
+
"合并=采纳产物回原分支;丢弃=删除任务分支(不可恢复)。": "Merge = adopt artifacts into the base branch. Discard = delete the task branch (irreversible).",
|
|
220
|
+
"把任务分支的产物合并回原分支?": "Merge task-branch artifacts into the base branch?",
|
|
221
|
+
"合并": "Merge",
|
|
222
|
+
"已合并:": "Merged: ",
|
|
223
|
+
"个提交 → ": " commits → ",
|
|
224
|
+
"丢弃任务分支?该分支上的产物将永久删除,不可恢复。": "Discard the task branch? Its artifacts will be permanently deleted. This cannot be undone.",
|
|
225
|
+
"丢弃": "Discard",
|
|
226
|
+
"已丢弃任务分支": "Task branch discarded",
|
|
227
|
+
"合并失败:": "Merge failed: ",
|
|
228
|
+
"丢弃失败:": "Discard failed: ",
|
|
229
|
+
"任务累计": "Task total",
|
|
230
|
+
"次运行": "runs",
|
|
231
|
+
"本 run 快照": "this run's snapshot",
|
|
232
|
+
"运行中:工作区变更会实时出现在这里。": "Running: workspace changes will appear here in real time.",
|
|
233
|
+
"运行中指挥": "Steer this run",
|
|
234
|
+
"补充说明或纠偏,将随下一条智能体步骤下达;可直接粘贴截图": "Add guidance or corrections — delivered with the next agent step; screenshots can be pasted directly",
|
|
235
|
+
"附件": "Attach",
|
|
236
|
+
"下达指令": "Send",
|
|
237
|
+
"(仅附件)": "(attachment only)",
|
|
238
|
+
"附件:": "Files: ",
|
|
239
|
+
"将在下一个步骤开始前送达执行者": "Will reach the agent before the next step",
|
|
240
|
+
"指令已入箱,将在下一个步骤下达": "Directive queued — it will be delivered with the next step",
|
|
241
|
+
"发送失败:": "Send failed: ",
|
|
242
|
+
"附件上传失败:": "Upload failed: ",
|
|
243
|
+
"读取文件失败": "Failed to read file",
|
|
244
|
+
":超过 8MB,已跳过": ": over 8MB, skipped",
|
|
245
|
+
"附件最多 ": "Max ",
|
|
246
|
+
"移除": "Remove",
|
|
247
|
+
"已暂停:指令入箱,放行后随下一步送达": "Paused — your directive is queued and will be delivered once resumed",
|
|
248
|
+
"已随步骤送达:": "Delivered with step: ",
|
|
249
|
+
"撤回": "Retract",
|
|
250
|
+
"尚未送达,可撤回": "Not delivered yet — you can retract it",
|
|
251
|
+
"指令已撤回,不会送达执行": "Directive retracted — it will not reach the agent",
|
|
252
|
+
"撤回失败:": "Retract failed: ",
|
|
253
|
+
"蜂巢工作台": "Hive workbench",
|
|
254
|
+
"在岗": "busy",
|
|
255
|
+
"全部空闲": "all idle",
|
|
256
|
+
"工作中": "working",
|
|
257
|
+
"开始于 ": "started at ",
|
|
258
|
+
"结论:": "Conclusion: ",
|
|
259
|
+
"该步骤无日志": "No log for this step",
|
|
260
|
+
"进行中": "active",
|
|
261
|
+
"已暂停:当前步骤跑完后挂起": "Paused — will suspend after the current step finishes",
|
|
262
|
+
"已放行,继续执行": "Resumed",
|
|
263
|
+
"操作失败:": "Operation failed: ",
|
|
264
|
+
"暂停": "Pause",
|
|
265
|
+
"继续执行": "Resume",
|
|
266
|
+
"也可直接粘贴截图": "or paste a screenshot directly",
|
|
267
|
+
"添加附件:截图/文本/代码/PDF 等,创建任务时落盘到工作目录 _attachments/": "Add attachments — screenshots/text/code/PDF; saved to the task workdir under _attachments/ on creation",
|
|
268
|
+
"附件最多 12 个": "Up to 12 attachments",
|
|
269
|
+
"不支持的附件类型:": "Unsupported file type: ",
|
|
270
|
+
"附件超过:": "Attachment over the size limit: ",
|
|
271
|
+
"附件超过 8MB:": "Attachment over 8MB: ",
|
|
272
|
+
"添加附件:截图 / 文本 / Word·Excel·PPT / PDF 等(普通 8MB,Office 24MB),创建任务时落盘到工作目录 _attachments/": "Add attachments — screenshots / text / Word·Excel·PPT / PDF (8MB normal, 24MB Office); saved to the task workdir under _attachments/ on creation",
|
|
273
|
+
"读取失败": "Failed to read",
|
|
274
|
+
"代码版本": "Code version",
|
|
275
|
+
"不切换(用当前分支 %1)": "Keep current branch %1",
|
|
276
|
+
"分支": "Branches",
|
|
277
|
+
"标签": "Tags",
|
|
278
|
+
"最近提交": "Recent commits",
|
|
279
|
+
"当前分支 %1 @ %2": "Current branch %1 @ %2",
|
|
280
|
+
";工作区有 %1 处未提交改动": "; %1 uncommitted change(s)",
|
|
281
|
+
";运行时将从「%1」检出任务分支 codebee/<任务ID>": "; a task branch codebee/<task-id> will be checked out from \"%1\" before the run",
|
|
282
|
+
"打开任务详情": "Open task details",
|
|
283
|
+
"收起任务详情": "Hide task details",
|
|
284
|
+
"还没有可展示的任务详情": "No task details to show yet",
|
|
285
|
+
"已归档任务:先在右键菜单里取消归档,再看任务详情": "Archived task — unarchive it from the right-click menu to view details",
|
|
286
|
+
"任务不存在或已删除": "Task not found or deleted",
|
|
287
|
+
"该任务还没跑过(或排队中),还没有任务详情": "This task hasn't run yet (or is queued) — no details to show",
|
|
288
|
+
" 个": " plugins",
|
|
289
|
+
" 个任务": " tasks",
|
|
290
|
+
" 个任务目录": " task directories",
|
|
291
|
+
" 个来源": " sources",
|
|
292
|
+
" 个步骤": " steps",
|
|
293
|
+
" 条": " runs",
|
|
294
|
+
" / 共 ": " of ",
|
|
295
|
+
"只看该类": "Show only this category",
|
|
296
|
+
"该分类下暂无教训": "No lessons in this category yet",
|
|
297
|
+
" 条运行中的记录已保留(请先取消再清除)。": " active runs were kept (cancel them first).",
|
|
298
|
+
" 条运行记录(含全部日志与报告)?不可恢复。": " running records (with all logs and reports)? This cannot be undone.",
|
|
299
|
+
" 条(1 个主模型 + ": " entries (1 primary model + ",
|
|
300
|
+
" 条;另有 ": " removed; another ",
|
|
301
|
+
" 模型": " models",
|
|
302
|
+
" 次 · ": " runs · ",
|
|
303
|
+
" 第": " #",
|
|
304
|
+
" 轮对话上下文)": " turns of context)",
|
|
305
|
+
" 字": " chars",
|
|
306
|
+
" 章": " ch",
|
|
307
|
+
" 万": "0,000",
|
|
308
|
+
" 亿": "00,000,000",
|
|
309
|
+
" 主": "Pri",
|
|
310
|
+
" 备": "Bk",
|
|
311
|
+
"(": " (",
|
|
312
|
+
")": ")",
|
|
313
|
+
":": ": ",
|
|
314
|
+
",续接时 CLI 将在该目录下启动": "; the CLI will start in that directory when resuming",
|
|
315
|
+
",跳过重复 ": ", skipped duplicates ",
|
|
316
|
+
",更新 ": ", updated ",
|
|
317
|
+
",留空=不改)": "; leave blank to keep unchanged)",
|
|
318
|
+
",可点「升级」更新。": ". Click Upgrade to install it.",
|
|
319
|
+
";已迁移 ": "; migrated ",
|
|
320
|
+
"?\n\n将执行:\n": "?\n\nWill run:\n",
|
|
321
|
+
" tokens · 调用 ": " tokens · calls ",
|
|
322
|
+
" · 今天": " · today",
|
|
323
|
+
" · 其他/缓存 ": " · other/cache ",
|
|
324
|
+
" · 已停用": " · disabled",
|
|
325
|
+
" · 缓存 ": " · cache ",
|
|
326
|
+
" · 缓存/其他 ": " · cache/other ",
|
|
327
|
+
" · 自定义": " · custom",
|
|
328
|
+
" · 输出 ": " · output ",
|
|
329
|
+
" 总 ": " Total ",
|
|
330
|
+
" 无用量": " No usage",
|
|
331
|
+
" 每章 ": " per chapter ",
|
|
332
|
+
" | ": " | ",
|
|
333
|
+
" 维度:": " Rubric: ",
|
|
334
|
+
" 阈值:": " Threshold: ",
|
|
335
|
+
":输入 ": ": input ",
|
|
336
|
+
":输出 ": ": output ",
|
|
337
|
+
":缓存 ": ": cache ",
|
|
338
|
+
":其他/缓存 ": ": other/cache ",
|
|
339
|
+
":调用 ": ": calls ",
|
|
340
|
+
")\n调用 ": ")\nCalls ",
|
|
341
|
+
" 分钟前": " min ago",
|
|
342
|
+
" 小时前": " hours ago",
|
|
343
|
+
" 天前": " days ago",
|
|
344
|
+
" 昨天": " yesterday",
|
|
345
|
+
" 刚刚": " just now",
|
|
346
|
+
"(已有 ": "(already ",
|
|
347
|
+
"%(失败 ": "% (failed ",
|
|
348
|
+
"「": "\"",
|
|
349
|
+
"」将变为只读。": "\" will become read-only.",
|
|
350
|
+
"」恢复为内置默认配置?": "\" restored to built-in defaults?",
|
|
351
|
+
"」控制中(点击接管)": "\" is in control (click to take over)",
|
|
352
|
+
"」?已有任务不受影响。": "\"? Existing tasks are not affected.",
|
|
353
|
+
"」?\n停用后它的绑定会回落为 CLI 默认;配置与模型列表保留,可随时再启用。": "\"?\nOnce disabled, its binding reverts to CLI defaults; config and model list are kept and can be re-enabled anytime.",
|
|
354
|
+
"」?\n刷新 / 重新导入模型列表都不会再带回,可在分组底部「恢复全部」找回。": "\"?\nRefresh or re-import won't bring it back; you can recover from \"Restore all\" at the bottom of the group.",
|
|
355
|
+
"任务": "Tasks",
|
|
356
|
+
"运行记录": "Runs",
|
|
357
|
+
"运行详情": "Run detail",
|
|
358
|
+
"用量统计": "Usage",
|
|
359
|
+
"使用统计": "Usage statistics",
|
|
360
|
+
"应用用量": "App usage",
|
|
361
|
+
"Token 活动": "Token activity",
|
|
362
|
+
"热力图粒度": "Heatmap granularity",
|
|
363
|
+
"少": "Less",
|
|
364
|
+
"多": "More",
|
|
365
|
+
"每日": "Daily",
|
|
366
|
+
"累计": "Total",
|
|
367
|
+
"每日 Token 趋势图": "Daily token trend",
|
|
368
|
+
"模型用量": "Model usage",
|
|
369
|
+
"累计 Token 数": "Total tokens",
|
|
370
|
+
"峰值 Token 数": "Peak tokens",
|
|
371
|
+
"调用 ": "Calls ",
|
|
372
|
+
" 次 · 成功率 ": " calls · success ",
|
|
373
|
+
"单日最高 · 日均 ": "Daily peak · avg ",
|
|
374
|
+
"最长单次时长": "Longest call",
|
|
375
|
+
"累计调用 ": "Total call time ",
|
|
376
|
+
"当前连续天数": "Current streak",
|
|
377
|
+
" 天": " days",
|
|
378
|
+
"范围内活跃 ": "Active days in range ",
|
|
379
|
+
"最长连续天数": "Longest streak",
|
|
380
|
+
"总量": "Total",
|
|
381
|
+
"峰值 ": "Peak ",
|
|
382
|
+
"其他模型": "Other models",
|
|
383
|
+
" tokens(": " tokens (",
|
|
384
|
+
"%)": "%)",
|
|
385
|
+
"(暂无数据)": "(No data yet)",
|
|
386
|
+
"智能体管理": "Agents",
|
|
387
|
+
"模型接入": "Models",
|
|
388
|
+
"CLI 绑定": "CLI bindings",
|
|
389
|
+
"编排设置": "Orchestrator",
|
|
390
|
+
"经验库": "Skill library",
|
|
391
|
+
"皮肤": "Skins",
|
|
392
|
+
"手机连接": "Phone link",
|
|
393
|
+
"设置": "Settings",
|
|
394
|
+
"多端控制权": "Multi-device control",
|
|
395
|
+
"时间范围": "Time range",
|
|
396
|
+
"明暗模式": "Theme",
|
|
397
|
+
"主": "Primary",
|
|
398
|
+
"备": "Backup",
|
|
399
|
+
"通用": "General",
|
|
400
|
+
"已连接": "Connected",
|
|
401
|
+
"连接失败": "Disconnected",
|
|
402
|
+
"重连中…": "Reconnecting…",
|
|
403
|
+
"运行中": "Running",
|
|
404
|
+
"排队中": "Queued",
|
|
405
|
+
"完成": "Done",
|
|
406
|
+
"失败": "Failed",
|
|
407
|
+
"已取消": "Cancelled",
|
|
408
|
+
"提交中…": "Submitting…",
|
|
409
|
+
"保存中…": "Saving…",
|
|
410
|
+
"导入中…": "Importing…",
|
|
411
|
+
"测试中…": "Testing…",
|
|
412
|
+
"正在刷新…": "Refreshing…",
|
|
413
|
+
"正在刷新全部模型列表…": "Refreshing all model lists…",
|
|
414
|
+
"正在查询远端最新版本…": "Checking the latest version…",
|
|
415
|
+
"无法判断是否有更新。": "Cannot determine whether an update is available.",
|
|
416
|
+
"已是最新版本(": "Already up to date (",
|
|
417
|
+
"发现新版本:": "New version found: ",
|
|
418
|
+
"需要访问令牌": "Access token required",
|
|
419
|
+
"令牌不正确或已更换,请重新输入": "Token invalid or rotated. Please re-enter it.",
|
|
420
|
+
"未选厂商": "No provider",
|
|
421
|
+
"未获取": "Not fetched",
|
|
422
|
+
"未获取到可用的连接地址": "No connection URLs available",
|
|
423
|
+
"未设置": "Not set",
|
|
424
|
+
"未知": "Unknown",
|
|
425
|
+
"(未知)": "(unknown)",
|
|
426
|
+
"保存": "Save",
|
|
427
|
+
"关闭": "Close",
|
|
428
|
+
"取消": "Cancel",
|
|
429
|
+
"确定": "OK",
|
|
430
|
+
"确认": "Confirm",
|
|
431
|
+
"确认操作": "Confirm",
|
|
432
|
+
"是": "Yes",
|
|
433
|
+
"否": "No",
|
|
434
|
+
"启用": "Enable",
|
|
435
|
+
"停用": "Disable",
|
|
436
|
+
"停用供应商": "Disable provider",
|
|
437
|
+
"停用供应商「": "Disable provider \"",
|
|
438
|
+
"停用所选 ": "Disable the selected ",
|
|
439
|
+
"启用供应商": "Enable provider",
|
|
440
|
+
"启用所选 ": "Enable the selected ",
|
|
441
|
+
"删除": "Delete",
|
|
442
|
+
"删除任务": "Delete task",
|
|
443
|
+
"删除记录": "Delete record",
|
|
444
|
+
"删除所选 ": "Delete the selected ",
|
|
445
|
+
"删除模型「": "Delete model \"",
|
|
446
|
+
"删除自定义流程「": "Delete custom flow \"",
|
|
447
|
+
"删除该供应商(绑定会自动解绑)?": "Delete this provider (bindings will be detached)?",
|
|
448
|
+
"删除该任务及其全部运行记录(含日志与报告)?不可恢复。": "Delete this task and all its runs (logs and reports)? This cannot be undone.",
|
|
449
|
+
"删除该运行记录(含全部日志与报告)?不可恢复。": "Delete this run (with logs and reports)? This cannot be undone.",
|
|
450
|
+
"删除这条教训?": "Delete this lesson?",
|
|
451
|
+
"删除全部已结束的运行记录(运行中的会保留)": "Delete all finished runs (active ones are kept)",
|
|
452
|
+
"清除全部运行记录(含日志与报告)?运行中的记录会保留,需先取消。不可恢复。": "Clear all runs (logs and reports)? Active runs are kept — cancel them first. This cannot be undone.",
|
|
453
|
+
"全选": "Select all",
|
|
454
|
+
"全不选": "Select none",
|
|
455
|
+
"取消选择": "Clear selection",
|
|
456
|
+
"勾选以批量删除": "Tick to bulk delete",
|
|
457
|
+
"勾选可批量删除": "Tick to bulk delete",
|
|
458
|
+
"取消归档": "Unarchive",
|
|
459
|
+
"归档": "Archive",
|
|
460
|
+
"重命名任务": "Rename task",
|
|
461
|
+
"重试任务": "Retry task",
|
|
462
|
+
"↻ 重试任务": "↻ Retry task",
|
|
463
|
+
"✎ 编辑重试": "✎ Edit & retry",
|
|
464
|
+
"✨ 向导创建": "✨ Guided setup",
|
|
465
|
+
"三问一确认:目标 → 类型 → 目录,预填进表单": "Three quick questions — goal, type, directory — then it prefills the form",
|
|
466
|
+
"新建任务向导": "New task wizard",
|
|
467
|
+
"下一步": "Next",
|
|
468
|
+
"上一步": "Back",
|
|
469
|
+
"目标还不能为空": "Goal can't be empty",
|
|
470
|
+
"点一个类型即选定并继续;进表单后仍可改": "Click a type to pick it and continue — you can still change it in the form",
|
|
471
|
+
"留空用默认保存路径;也可稍后在表单里点「选择…」": "Leave empty for the default save path; you can also use Pick… in the form later",
|
|
472
|
+
"建议给每个任务一个独立目录,产出互不覆盖": "Give each task its own directory so outputs don't overwrite each other",
|
|
473
|
+
"默认保存路径": "Default save path",
|
|
474
|
+
"例:npm test、pytest -q;留空=只靠 AI 评审": "e.g. npm test, pytest -q — leave empty to rely on AI review only",
|
|
475
|
+
"一条能在工作目录里跑的命令,退出码 0 即视为通过;之后可在表单改": "A command that runs in the workdir — exit code 0 means pass; editable in the form later",
|
|
476
|
+
"留空靠 AI 评审": "empty — AI review only",
|
|
477
|
+
"协议不匹配,解析时跳过": "protocol mismatch — skipped when resolving",
|
|
478
|
+
"该 CLI 只接受特定 wire 协议的供应商,当前没有匹配项——先到「模型接入」页导入对应协议的网关。": "This CLI only accepts providers on a specific wire protocol and none match — import a compatible gateway on the Models page first.",
|
|
479
|
+
"%1 个供应商 wire 协议不匹配已隐藏(降级只在同协议网关间进行)。": "%1 provider(s) hidden due to wire-protocol mismatch — fallback stays within the same protocol.",
|
|
480
|
+
"已适配(%1 wire)": "adapted (%1 wire)",
|
|
481
|
+
"已适配 · 注入该厂商凭据": "adapted · injects this vendor's credentials",
|
|
482
|
+
" · 已适配": " · adapted",
|
|
483
|
+
"适配测试": "Wire adapt test",
|
|
484
|
+
"适配测试中…": "Adapt test running…",
|
|
485
|
+
"适配测试通过:同密钥实测支持该协议注入": "Adapt test passed: this gateway verifiably serves this protocol with the same key",
|
|
486
|
+
"实测该网关同一密钥是否也支持另一条 wire 协议;通过后绑定链可跨协议注入": "Verifiably test whether this gateway also serves the other wire protocol with the same key; once passed, binding chains may inject across protocols",
|
|
487
|
+
"已适配:": "Adapted: ",
|
|
488
|
+
"未发现可适配的 wire": "no adaptable wire found",
|
|
489
|
+
"正在获取模型列表…": "Fetching model list…",
|
|
490
|
+
"已获取模型列表 · wire 适配测试后台进行中": "Model list fetched · wire adapt test running in background",
|
|
491
|
+
"密钥(按顺序调用,欠费自动切备用)": "Keys (tried in order; a drained one auto-fails over)",
|
|
492
|
+
"点「添加密钥」配备用号": "Add a spare key below",
|
|
493
|
+
"添加密钥": "Add key",
|
|
494
|
+
"尚未配置密钥": "No key configured yet",
|
|
495
|
+
"拖动调整调用顺序": "Drag to reorder failover order",
|
|
496
|
+
"冷却中": "cooling down",
|
|
497
|
+
"使用中": "in use",
|
|
498
|
+
"停用该密钥(编排自动跳过)": "Disable this key (skipped when resolving)",
|
|
499
|
+
"充值后手动恢复(清掉冷却)": "Manually restore after topping up (clears cooldown)",
|
|
500
|
+
"恢复": "Restore",
|
|
501
|
+
"新密钥(sk-...)": "New key (sk-...)",
|
|
502
|
+
"备注名(可空,如:备用号)": "Label (optional, e.g. spare account)",
|
|
503
|
+
"已取消:密钥为空": "Cancelled: key is empty",
|
|
504
|
+
"已添加密钥": "Key added",
|
|
505
|
+
"删除该密钥?(不影响其它密钥)": "Delete this key? (others unaffected)",
|
|
506
|
+
"复制一份": "Duplicate",
|
|
507
|
+
"复制一份(同地址同密钥,可再换 KEY / 改名)": "Duplicate (same endpoint & keys — swap the key or rename after)",
|
|
508
|
+
"已复制供应商(启用状态,绑定不随带)": "Provider duplicated (enabled, without bindings)",
|
|
509
|
+
"复制失败:": "Duplicate failed: ",
|
|
510
|
+
"%1 把密钥": "%1 keys",
|
|
511
|
+
"密钥": "API key",
|
|
512
|
+
"首选密钥(填了=替换 #1;备用号在下方密钥区添加)": "Primary key (typing replaces #1; add spares in the keys section below)",
|
|
513
|
+
"填入表单": "Fill form",
|
|
514
|
+
"填入表单后可继续:加附件、选实现者、改评审设置": "After filling the form you can still add attachments, pick implementers, or adjust review settings",
|
|
515
|
+
"已按向导预填,检查或补充后点「创建并运行」": "Prefilled by the wizard — review it, then click Create & Run",
|
|
516
|
+
"超时": "Timeout",
|
|
517
|
+
"取回原任务的目标/目录/评审设置,修改后提交即重新开跑": "Reload this task's goal/directory/review settings into the form — edit and submit to run again",
|
|
518
|
+
"打开详情": "Open detail",
|
|
519
|
+
"打开工作目录": "Open working directory",
|
|
520
|
+
"复制工作目录路径": "Copy workdir path",
|
|
521
|
+
"复制日志目录路径": "Copy log path",
|
|
522
|
+
"新建任务到该目录": "New task in this folder",
|
|
523
|
+
"查看文件": "Browse files",
|
|
524
|
+
"返回任务列表": "Back to tasks",
|
|
525
|
+
"未知错误": "Unknown error",
|
|
526
|
+
"该目录下暂无文件": "No files in this directory",
|
|
527
|
+
"移除该文件夹": "Remove this folder",
|
|
528
|
+
"把该文件夹下 %1 个任务移出侧栏?文件与运行记录不会删除;移除后文件夹从侧栏隐藏,在该目录新建任务会重新显示。": "Move %1 task(s) in this folder out of the sidebar? Files and run records are kept — the folder is hidden from the sidebar and reappears when you create a task in that directory.",
|
|
529
|
+
"导入": "Import",
|
|
530
|
+
"导入供应商": "Import providers",
|
|
531
|
+
"导入选中": "Import selected",
|
|
532
|
+
"添加供应商": "Add provider",
|
|
533
|
+
"手动添加供应商": "Add provider manually",
|
|
534
|
+
"从本机各 AI 工具导入供应商": "Import from local AI tools",
|
|
535
|
+
"重新拉取": "Reload",
|
|
536
|
+
"全部重新拉取模型列表": "Reload all model lists",
|
|
537
|
+
"获取模型列表": "Fetch model list",
|
|
538
|
+
"升级": "Upgrade",
|
|
539
|
+
"检查更新": "Check update",
|
|
540
|
+
"安装": "Install",
|
|
541
|
+
"卸载": "Uninstall",
|
|
542
|
+
"冒烟": "Smoke",
|
|
543
|
+
"冒烟测试": "Smoke test",
|
|
544
|
+
"恢复全部": "Restore all",
|
|
545
|
+
"恢复所选 ": "Restore the selected ",
|
|
546
|
+
"查看日志": "View log",
|
|
547
|
+
"收起日志": "Hide log",
|
|
548
|
+
"+ 添加": "+ Add",
|
|
549
|
+
"收起": "Collapse",
|
|
550
|
+
"+ 新任务": "+ New task",
|
|
551
|
+
"搜索任务": "Search tasks",
|
|
552
|
+
"搜索": "Search",
|
|
553
|
+
"搜索操作、任务或文件": "Search actions, tasks or files",
|
|
554
|
+
"新任务": "New task",
|
|
555
|
+
"操作": "Actions",
|
|
556
|
+
"命令": "Commands",
|
|
557
|
+
"无匹配结果": "No matches",
|
|
558
|
+
"展开全部": "Expand all",
|
|
559
|
+
"收起全部": "Collapse all",
|
|
560
|
+
"无匹配任务": "No matching tasks",
|
|
561
|
+
" 个任务待裁决": " tasks pending verdict",
|
|
562
|
+
"执行「": "Execute \"",
|
|
563
|
+
"」?": "\"?",
|
|
564
|
+
"把「": "Restore \"",
|
|
565
|
+
"(用供应商默认模型)": " (use provider default)",
|
|
566
|
+
"(用 CLI 默认模型)": " (use CLI default model)",
|
|
567
|
+
"(用 CLI 默认模型——不会注入任何供应商凭据)": " (use CLI default model — no provider credentials injected)",
|
|
568
|
+
"(按供应商/难度自动解析)": " (auto by provider/difficulty)",
|
|
569
|
+
"(按供应商/难度自动解析——供应商协议不匹配或被停用时解析为空,回落 CLI 本机默认)": " (auto by provider/difficulty — resolves to empty and falls back to CLI defaults if the provider's protocol mismatches or is disabled)",
|
|
570
|
+
"模型链里有已停用/已删除的供应商:这些条目解析时会被跳过,链可能因此整体失效。": "The model chain contains disabled/deleted providers: those entries are skipped at resolve time, which can invalidate the whole chain.",
|
|
571
|
+
"名称": "Name",
|
|
572
|
+
"默认模型": "Default model",
|
|
573
|
+
"API 地址": "API endpoint",
|
|
574
|
+
"简单任务模型": "Easy-task model",
|
|
575
|
+
"困难任务模型": "Hard-task model",
|
|
576
|
+
"难度路由 · 简单": "Difficulty routing · easy",
|
|
577
|
+
"难度路由 · 困难": "Difficulty routing · hard",
|
|
578
|
+
"继续会话": "Resume session",
|
|
579
|
+
"目标": "Goal",
|
|
580
|
+
"工作目录": "Working directory",
|
|
581
|
+
"类型": "Type",
|
|
582
|
+
"上下文": "Context",
|
|
583
|
+
"编排模式": "Orchestration mode",
|
|
584
|
+
"任务标题": "Task title",
|
|
585
|
+
"验证命令": "Verify command",
|
|
586
|
+
"稿件文件(合并稿)": "Manuscript file (merged)",
|
|
587
|
+
"评审轮数": "Review rounds",
|
|
588
|
+
"发布阈值(全书)": "Publish threshold (whole book)",
|
|
589
|
+
"评审维度(逗号分隔,可自定义)": "Review dimensions (comma-separated; custom OK)",
|
|
590
|
+
"连载模式:章节数(空 = 单稿件一次成文)": "Serial: chapters (blank = single draft)",
|
|
591
|
+
"每章约字数": "Approx. words per chapter",
|
|
592
|
+
"实现者": "Implementer",
|
|
593
|
+
"评审组": "Reviewers",
|
|
594
|
+
"管理": "Manage",
|
|
595
|
+
"管理任务类型:新增/编辑自定义流程": "Manage task types: add/edit custom flows",
|
|
596
|
+
"要完成什么,一句话即可": "What's the goal? One sentence is enough.",
|
|
597
|
+
"上午好呀,有什么想让我帮忙的吗": "Good morning — what can I help you with?",
|
|
598
|
+
"下午好呀,有什么想让我帮忙的吗": "Good afternoon — what can I help you with?",
|
|
599
|
+
"晚上好呀,有什么想让我帮忙的吗": "Good evening — what can I help you with?",
|
|
600
|
+
"常用类型": "Common types",
|
|
601
|
+
"背景信息、约束、相关文件(可空)": "Background, constraints, related files (optional)",
|
|
602
|
+
"留空则保存到:": "Leave blank to save to: ",
|
|
603
|
+
"选择…": "Browse…",
|
|
604
|
+
"保存并运行": "Save and run",
|
|
605
|
+
"创建并运行": "Create and run",
|
|
606
|
+
"高级选项(默认全智能,无需改动)": "Advanced (smart defaults — leave as-is)",
|
|
607
|
+
"智能": "Smart",
|
|
608
|
+
"手动": "Manual",
|
|
609
|
+
"智能(推荐):自动拆解 + 智能路由 + 失败自动修复/换将": "Smart (recommended): auto-decompose + smart routing + auto-fix/swap on failure",
|
|
610
|
+
"手动:自行指定实现者与评审组": "Manual: pick implementer and reviewers yourself",
|
|
611
|
+
"代码引擎": "Code engine",
|
|
612
|
+
"评审引擎": "Review engine",
|
|
613
|
+
"实现 → 验证 → 评审": "Implement → verify → review",
|
|
614
|
+
"起草 → 多维评审 → 门禁": "Draft → multi-dim review → gate",
|
|
615
|
+
"实现": "Implement",
|
|
616
|
+
"起草": "Draft",
|
|
617
|
+
"大纲": "Outline",
|
|
618
|
+
"评审": "Review",
|
|
619
|
+
"修订": "Revise",
|
|
620
|
+
"修复": "Fix",
|
|
621
|
+
"验证": "Verify",
|
|
622
|
+
"连通测试": "Connectivity",
|
|
623
|
+
"全局评审": "Global review",
|
|
624
|
+
"AI修复": "AI fix",
|
|
625
|
+
"编排者 · 直连API": "Orchestrator · direct API",
|
|
626
|
+
"Codex CLI": "Codex CLI",
|
|
627
|
+
"Claude Code": "Claude Code",
|
|
628
|
+
"Qwen CLI": "Qwen CLI",
|
|
629
|
+
"OpenCode": "OpenCode",
|
|
630
|
+
"Aider": "Aider",
|
|
631
|
+
"自定义 CLI": "Custom CLI",
|
|
632
|
+
"已归档": "Archived",
|
|
633
|
+
"已停用": "Disabled",
|
|
634
|
+
"正在刷新模型列表…": "Refreshing model list…",
|
|
635
|
+
"无任务": "No tasks yet",
|
|
636
|
+
"暂无任务": "No tasks yet",
|
|
637
|
+
"暂无运行记录": "No runs yet",
|
|
638
|
+
"尚无步骤": "No steps yet",
|
|
639
|
+
"暂无供应商——点上方「导入」。": "No providers yet — click \"Import\" above.",
|
|
640
|
+
"没有匹配「": "No matches for \"",
|
|
641
|
+
"」的供应商。": "\".",
|
|
642
|
+
"没有可扫描的来源。": "No scannable sources.",
|
|
643
|
+
"没有已归档任务": "No archived tasks",
|
|
644
|
+
"请填写名称": "Please enter a name",
|
|
645
|
+
"请至少选择一个来源。": "Please select at least one source.",
|
|
646
|
+
"请先在下拉里选择一个模型(要清除配置请手动编辑配置文件)。": "Pick a model from the dropdown first (to clear it, edit the config file manually).",
|
|
647
|
+
"该供应商没有可用模型(或全部被停用)。": "This provider has no available models (or all are disabled).",
|
|
648
|
+
"删除失败:": "Delete failed: ",
|
|
649
|
+
"任务已删除": "Task already deleted",
|
|
650
|
+
"排序失败:": "Reorder failed: ",
|
|
651
|
+
"刷新失败:": "Refresh failed: ",
|
|
652
|
+
"批量删除失败:": "Bulk delete failed: ",
|
|
653
|
+
"获取失败:": "Fetch failed: ",
|
|
654
|
+
"清除失败:": "Clear failed: ",
|
|
655
|
+
"重命名失败:": "Rename failed: ",
|
|
656
|
+
"重试失败:": "Retry failed: ",
|
|
657
|
+
"恢复失败:": "Restore failed: ",
|
|
658
|
+
"检查失败:": "Check failed: ",
|
|
659
|
+
"失败:": "Failed: ",
|
|
660
|
+
"日志读取失败: ": "Log read failed: ",
|
|
661
|
+
"日志读取失败:": "Log read failed: ",
|
|
662
|
+
"复制失败,请手动选择地址": "Copy failed, please select the URL manually",
|
|
663
|
+
"确定执行安装?命令来自 data/catalog.json,可在管理页查看。": "Run install? The command comes from data/catalog.json and is shown on the management page.",
|
|
664
|
+
"确定取消该运行?": "Cancel this run?",
|
|
665
|
+
"取消失败:网络异常": "Cancel failed: network error",
|
|
666
|
+
"已请求取消,运行将在当前调用停止后终止": "Cancel requested; the run will stop after the current call",
|
|
667
|
+
"该运行已结束,无需取消": "This run has already ended; nothing to cancel",
|
|
668
|
+
"确定卸载 ": "Uninstall ",
|
|
669
|
+
"新建自定义流程": "New custom flow",
|
|
670
|
+
"流程已保存": "Flow saved",
|
|
671
|
+
"已删除": "Deleted",
|
|
672
|
+
"已恢复默认": "Restored to default",
|
|
673
|
+
"🧩 任务类型管理": "🧩 Task types",
|
|
674
|
+
"编辑流程:": "Edit flow: ",
|
|
675
|
+
"任务类型管理": "Task types",
|
|
676
|
+
"控制空闲:执行任意操作即可自动接管": "Idle: any write action will take control",
|
|
677
|
+
"你在控制(点击释放)": "You are in control (click to release)",
|
|
678
|
+
"接管控制权?「": "Take over control? \"",
|
|
679
|
+
"其他设备": "Other device",
|
|
680
|
+
"尚未选择编排者供应商\n点击到「编排设置」,从已接入的厂商里选一个": "No orchestrator provider yet\nClick \"Orchestrator\" to pick one",
|
|
681
|
+
"编排者供应商:": "Orchestrator provider: ",
|
|
682
|
+
"编排者配置已保存": "Orchestrator config saved",
|
|
683
|
+
"回应正常": " responded normally",
|
|
684
|
+
"\n点击到「编排设置」更换": "\nClick \"Orchestrator\" to change it",
|
|
685
|
+
"默认保存路径已更新:": "Default save path updated: ",
|
|
686
|
+
"当前生效:": "Currently in effect: ",
|
|
687
|
+
"(内置默认,尚未自定义)": " (built-in default, not customized)",
|
|
688
|
+
"已保存:最大并发 ": "Saved: max concurrent jobs = ",
|
|
689
|
+
"总 Tokens": "Total tokens",
|
|
690
|
+
"调用次数": "Calls",
|
|
691
|
+
"累计费用": "Total cost",
|
|
692
|
+
"单次均值": "Avg / call",
|
|
693
|
+
"活跃天数": "Active days",
|
|
694
|
+
"成功率 ": "Success ",
|
|
695
|
+
"活跃日均 ": "Active-day avg ",
|
|
696
|
+
"累计调用时长 ": "Total duration ",
|
|
697
|
+
"缓存命中率 ": "Cache hit rate ",
|
|
698
|
+
"按工具(CLI / API)": "By tool (CLI / API)",
|
|
699
|
+
"按智能体": "By agent",
|
|
700
|
+
"按模型": "By model",
|
|
701
|
+
"按步骤角色": "By step role",
|
|
702
|
+
"按任务类型": "By task type",
|
|
703
|
+
"今天": "Today",
|
|
704
|
+
"近 7 天": "Last 7 days",
|
|
705
|
+
"近 30 天": "Last 30 days",
|
|
706
|
+
"全部": "All",
|
|
707
|
+
"输入": "Input",
|
|
708
|
+
"输出": "Output",
|
|
709
|
+
"缓存/其他": "Cache / other",
|
|
710
|
+
"缓存": "Cache",
|
|
711
|
+
"其他": "Other",
|
|
712
|
+
"协议 · ": "protocol · ",
|
|
713
|
+
"经典": "Classic",
|
|
714
|
+
"深海": "Deep sea",
|
|
715
|
+
"森野": "Forest",
|
|
716
|
+
"暖阳": "Amber",
|
|
717
|
+
"霓虹": "Neon",
|
|
718
|
+
"高对比": "High contrast",
|
|
719
|
+
"夜间": "Dark",
|
|
720
|
+
"日间": "Light",
|
|
721
|
+
"黑白灰 + 蓝色强调,ChatGPT 式清爽配色(默认)": "Black/white/gray with blue accent — clean ChatGPT style (default)",
|
|
722
|
+
"藏青底色 + 天蓝强调,夜间长时间盯任务更沉静": "Navy background with sky-blue accent — calm for long sessions in dark mode",
|
|
723
|
+
"墨绿底色 + 青翠强调,偏自然的护眼配色": "Ink-green with emerald accent — natural and easy on the eyes",
|
|
724
|
+
"暖棕底色 + 琥珀强调,纸感暖调": "Warm brown with amber accent — paper-like warmth",
|
|
725
|
+
"暗紫底色 + 品红强调,霓虹感强": "Deep purple with magenta — bold neon feel",
|
|
726
|
+
"纯黑 / 纯白 + 硬边框、去阴影,弱视与强光环境更清晰": "Pure black/white, hard borders, no shadows — clear for low vision or bright light",
|
|
727
|
+
"已换肤:": "Skin changed: ",
|
|
728
|
+
"皮肤 / 换肤": "Skin",
|
|
729
|
+
"皮肤 / 换肤:多套配色,各含日间与夜间": "Skin: each set has both light and dark variants",
|
|
730
|
+
"切换日间 / 夜间主题": "Toggle light/dark theme",
|
|
731
|
+
"收起 / 展开侧栏": "Collapse / expand sidebar",
|
|
732
|
+
"编排": "Orchestration",
|
|
733
|
+
"配置": "Config",
|
|
734
|
+
"外观": "Appearance",
|
|
735
|
+
"代码": "Code",
|
|
736
|
+
"本页分区": "Page sections",
|
|
737
|
+
"远程": "Remote",
|
|
738
|
+
"返回 CodeBee": "Back to CodeBee",
|
|
739
|
+
"多智能体编排台": "Multi-agent Orchestrator",
|
|
740
|
+
"CodeBee · 多智能体编排台": "CodeBee · Multi-agent Orchestrator",
|
|
741
|
+
"📱 手机连接": "📱 Phone link",
|
|
742
|
+
"解析失败": "Parse failed",
|
|
743
|
+
"无可用配置": "No usable config",
|
|
744
|
+
"未找到": "Not found",
|
|
745
|
+
"未找到配置": "Config not found",
|
|
746
|
+
"未找到该智能体的本地会话": "No local sessions for this agent",
|
|
747
|
+
"扫描失败:": "Scan failed: ",
|
|
748
|
+
"导入失败:": "Import failed: ",
|
|
749
|
+
"发现 ": " found ",
|
|
750
|
+
"已选 ": "Selected: ",
|
|
751
|
+
"新增 ": " added ",
|
|
752
|
+
"(加载中…)": "(loading…)",
|
|
753
|
+
"(扫描失败)": "(scan failed)",
|
|
754
|
+
" 个供应商?": " providers?",
|
|
755
|
+
" 个供应商?\n停用后其绑定会回落为 CLI 默认;配置与模型列表都保留,可随时再启用。": " providers?\nOnce disabled, their bindings revert to CLI defaults; config and model lists are kept and can be re-enabled anytime.",
|
|
756
|
+
" 个供应商?\n相关 CLI 绑定会自动解绑,此操作不可撤销。": " providers?\nRelated CLI bindings will be detached. This cannot be undone.",
|
|
757
|
+
" 个模型?": " models?",
|
|
758
|
+
" 个模型?\n停用只影响编排选模,不删除配置。": " models?\nDisable only affects orchestration picks — config is kept.",
|
|
759
|
+
" 个模型?\n刷新 / 重新导入都不会再带回,可在「已删除」里恢复。": " models?\nRefresh or re-import won't bring them back; you can recover from the \"Deleted\" section.",
|
|
760
|
+
" 个模型?\n它们会重新启用并自动置顶。": " models?\nThey will be re-enabled and pinned to the top.",
|
|
761
|
+
"停用(不影响配置,仅编排选模跳过)": "Disable (config kept — only skipped by orchestrator)",
|
|
762
|
+
"勾选以批量操作": "Tick for bulk actions",
|
|
763
|
+
"拖动调整优先级": "Drag to reorder",
|
|
764
|
+
"已删除 ": " deleted models (won't return on refresh)",
|
|
765
|
+
"(拖动 ☰ 调序;启用的排最前)": "(drag ☰ to reorder; enabled ones come first)",
|
|
766
|
+
"(过滤中,拖拽排序暂停)": "(filtering — drag-to-reorder paused)",
|
|
767
|
+
" 全选": " select all",
|
|
768
|
+
"(筛选后 ": "(filtered ",
|
|
769
|
+
" 个)": " shown)",
|
|
770
|
+
" 个模型": " models",
|
|
771
|
+
" 个模型(刷新不会再带回)": " deleted models (won't return on refresh)",
|
|
772
|
+
" 个):": "):",
|
|
773
|
+
" 没有匹配「": " no matches for \"",
|
|
774
|
+
" 个运行中/迁移失败)": " skipped (running or migration failed)",
|
|
775
|
+
"路由依据:": "Routing basis: ",
|
|
776
|
+
"编排计划 ": "Orchestration plan ",
|
|
777
|
+
"运行结束后生成": "Generated after the run finishes",
|
|
778
|
+
"成品文件": "Artifacts",
|
|
779
|
+
"成品": "Artifacts",
|
|
780
|
+
"步": "steps",
|
|
781
|
+
"● 实时": "● LIVE",
|
|
782
|
+
"已结束": "Ended",
|
|
783
|
+
"刚刚更新 ": "updated ",
|
|
784
|
+
"停在底部自动跟随新输出;上翻回看时不动": "Stay at the bottom to follow new output; scrolling up freezes the view",
|
|
785
|
+
"共 ": "Total ",
|
|
786
|
+
" 个文件": " files",
|
|
787
|
+
"(仅显示最近 200 个)": " (showing only the latest 200)",
|
|
788
|
+
"删除所选": "Delete selected",
|
|
789
|
+
"条;另有 ": " removed; another ",
|
|
790
|
+
" 编辑流程:": " Edit flow: ",
|
|
791
|
+
"(预置)": "(built-in)",
|
|
792
|
+
"已复制,手机浏览器粘贴打开即可": "Copied — paste in your phone browser to open",
|
|
793
|
+
"已复制:": "Copied: ",
|
|
794
|
+
"已入箱:随下一步送达": "Queued — delivered with the next step",
|
|
795
|
+
"已开新一轮,接着做…": "New round started — continuing…",
|
|
796
|
+
"已结束:发送后将自动开新一轮接着做": "Run finished — sending will start a new round and continue",
|
|
797
|
+
"待送达": "pending delivery",
|
|
798
|
+
"运行中:消息随下一步送达(插不进正在跑的这一步)": "Running: messages are delivered with the next step (they can't interrupt the one in progress)",
|
|
799
|
+
"还没有对话内容": "No messages yet",
|
|
800
|
+
"手机相机扫码即自动登录(地址已含访问令牌,扫一次永久记住)。\n局域网地址要求手机与电脑连同一 WiFi;Tailscale 地址出门也能用,\n两端需登录同一 Tailscale 账号。手机控制时另一端自动变为只读,可在顶栏接管。\n连不上时(如路由器重启后地址变了)回电脑重新打开此弹框扫新码即可。": "Scan with your phone camera to log in (the URL embeds the access token — one scan remembers it).\nLAN requires the phone and computer on the same WiFi; Tailscale works anywhere as long as both devices are signed into the same Tailscale account.\nWhen the phone is in control, the computer becomes read-only — take over from the top bar.\nIf it can't connect (e.g. the IP changed after a router reboot), re-open this dialog on the computer and scan the new QR.",
|
|
801
|
+
"复制地址": "Copy URL",
|
|
802
|
+
"启用中": "Enabled",
|
|
803
|
+
"设为主模型": "Set as primary model",
|
|
804
|
+
"单智能体直达(快)": "Single-agent direct (fast)",
|
|
805
|
+
"新增函数补用例": "Add tests for new functions",
|
|
806
|
+
"同类加函数任务,只要verify_pass=false即不得因review_pass=true或高分判定通过;必须将verify失败原因作为修复输入。": "For similar add-a-function tasks, verify_pass=false blocks acceptance regardless of review_pass or high scores; the verify failure details are the input to the next fix.",
|
|
807
|
+
"凡主角获取越权信息或关键证据(系统记录、录音、账目),必须当章或前文落实来源链(人脉、留底、委托调查),并让角色当场追问一句'东西哪来的';无来源的特权查询与来历不明的证据一律禁止上稿。": "Whenever the protagonist obtains privileged information or key evidence (system records, recordings, ledgers), establish the source chain in the same or an earlier chapter and have a character ask \"where did this come from\" on the spot; unsourced privileged queries and evidence of unknown origin are banned from the manuscript.",
|
|
808
|
+
"反击/打脸章节反派必须正面出场,写出其台词、失态、心理挣扎与代价;禁止只靠助理掉烟、旁人反应等旁证收尾。若该章反派客观无法到场,须压缩或延后爽点,不以'远程胜利'冒充打脸。": "In payback/face-slap chapters the villain must appear in person — write their dialogue, composure cracking, inner struggle and the price; never close on sidelong evidence like an assistant dropping a cigarette or bystanders' reactions. If the villain objectively can't be there, compress or postpone the payoff — no 'remote victory' passing as a face-slap.",
|
|
809
|
+
"每章反击成功的同时必须引入至少一个新阻力(新对手、新变数、旧患复发),且让阻力当章实际发生而非停留在计划层面;全程顺风顺水的章会被判节奏崩,爽点=反击兑现+新麻烦落地,二者缺一不可。": "Each successful counterattack must introduce at least one new resistance (new rival, new variable, old wound re-flaring) that actually happens in that chapter, not just in plans; a chapter of unbroken wins reads as broken pacing — payoff = counterattack landed + new trouble on the table, both mandatory.",
|
|
810
|
+
"决定性反转所依赖的条款、道具、关系,必须在更早章节落笔可见(至少一句具体描写),不能事后亮牌+主角自答带过;写大纲时为每个大爽点标注伏笔埋设章,交稿前自查'天降感'。": "Every clause, prop or relationship a decisive reversal relies on must appear concretely in earlier chapters (at least one specific description) — no last-minute reveals plus protagonist self-answering; mark each big payoff's setup chapter in the outline and self-check for 'out of nowhere' feeling before delivery.",
|
|
811
|
+
"旧账/往事禁止以两人对坐口述集中铺陈(连续独白、场景单一、当下动作停滞);须拆散夹进验证据、交锋等当下动作里边做边带出。承接章也须有主角主动行动与至少一个小兑现,纯蓄力、主角全程被动的章不允许出现。": "Backstory is forbidden as two people sitting and narrating it in bulk (continuous monologue, single setting, stalled present action); break it up and carry it out through present action — verifying evidence, sparring. Bridge chapters also need the protagonist acting proactively and at least one small payoff; chapters of pure buildup with a fully passive protagonist are not allowed.",
|
|
812
|
+
"历史运行中 serial_novel 的「情节」多次低于阈值(第 10 章(6.5)、第 11 章(5.0))。写这一维度前先对照经验包自检,宁可少写事件也要把该维度做扎实。": "In past runs, serial_novel's \"Plot\" repeatedly scored below threshold (ch.10: 6.5, ch.11: 5.0). Before writing to this dimension, self-check against the skill pack — better fewer events than a shaky dimension.",
|
|
813
|
+
"历史运行中 serial_novel 的「人物」多次低于阈值(第 10 章(6.5)、第 11 章(6.0))。写这一维度前先对照经验包自检,宁可少写事件也要把该维度做扎实。": "In past runs, serial_novel's \"Characters\" repeatedly scored below threshold (ch.10: 6.5, ch.11: 6.0). Before writing to this dimension, self-check against the skill pack — better fewer events than a shaky dimension.",
|
|
814
|
+
"历史运行中 serial_novel 的「文笔」多次低于阈值(第 10 章(6.5)、第 11 章(6.0))。写这一维度前先对照经验包自检,宁可少写事件也要把该维度做扎实。": "In past runs, serial_novel's \"Prose\" repeatedly scored below threshold (ch.10: 6.5, ch.11: 6.0). Before writing to this dimension, self-check against the skill pack — better fewer events than a shaky dimension.",
|
|
815
|
+
"直连引擎(单智能体直达,无拆解/评审,快)": "Direct engine (single-agent straight through — no decomposition/review, fast)",
|
|
816
|
+
"直接执行": "Direct run",
|
|
817
|
+
"让 AI 直接做什么(一句话,可带附件)": "What should the AI just do? (one sentence, attachments welcome)",
|
|
818
|
+
"单智能体直达:目标+附件交给一个 CLI 跑完即止,无拆解/评审(快)": "Single-agent straight through: goal + attachments go to one CLI and that's it — no decomposition or review (fast)",
|
|
819
|
+
"发现新版本,点击前往更新": "New version found — click to update",
|
|
820
|
+
"已忽略该版本提醒,可随时在「关于与更新」里升级": "This version's reminder is dismissed — upgrade anytime in \"About & Updates\"",
|
|
821
|
+
"已是最新版": "Already the latest version",
|
|
822
|
+
"忽略此版本": "Skip this version",
|
|
823
|
+
"新版本 v": "New version v",
|
|
824
|
+
"检查更新失败:服务未连接": "Update check failed: service not connected",
|
|
825
|
+
"生成失败:": "Generation failed: ",
|
|
826
|
+
"重试": "Retry",
|
|
827
|
+
",点「升级到新版」即可": " — click \"Upgrade to new version\" to proceed",
|
|
828
|
+
"后点重新加载。": " and click Reload.",
|
|
829
|
+
"启用「参与编排」后,该智能体会出现在任务表单与评审组中。进入本页会自动检查各 CLI 是否有新版本;「默认模型」写入 CLI 自己的配置文件(CodeBee 之外也生效),CodeBee 编排运行时用哪个供应商 / 模型请到「CLI 绑定」页配置。安装命令不明的条目可直接编辑": "With \"Takes part in orchestration\" enabled, this agent shows up in the task form and review groups. Opening this page auto-checks each CLI for updates; \"default model\" is written into the CLI's own config file (takes effect outside CodeBee too) — to pick which provider/model CodeBee uses at runtime, go to the \"CLI Bindings\" page. Entries with an unknown install command can be edited directly in",
|
|
830
|
+
"是默认皮肤,即原本的界面。": " is the default skin — the original interface.",
|
|
831
|
+
"每套皮肤都是一份完整配色,并且各带「日间 / 夜间」两版,明暗切换不会丢皮肤。选中的皮肤立即生效并记在这台设备上(手机与电脑各自独立)。": "Each skin is a complete palette, with day / night variants — switching brightness never loses your skin. The selected skin applies instantly and is remembered on this device (phone and computer are independent).",
|
|
832
|
+
"系统自己的经验沉淀:": "The system's own distilled experience:",
|
|
833
|
+
"这台设备第一次连接,请输入访问令牌": "First connection from this device — enter the access token",
|
|
834
|
+
"(如七猫签约标准,自动注入小说类任务的规划与评审提示词) 与": " (e.g. the Qimao signing standard, auto-injected into planning & review prompts for novel tasks)",
|
|
835
|
+
"(每次任务结束由编排者复盘本次评审暴露的问题,去重沉淀,下次同类任务自动带上)——越跑越好,无需人工维护。": " (after each task the orchestrator reviews the problems this review exposed, dedupes and distills them, and re-attaches them to the next similar task) — it gets better with every run, no manual upkeep.",
|
|
836
|
+
"条": " entries",
|
|
837
|
+
"(暂无,跑一次任务后自动生成)": " (none yet — generated after the first run)",
|
|
838
|
+
" 出现 ": " seen ",
|
|
839
|
+
" 次": " times",
|
|
840
|
+
" 已注入 ": " injected ",
|
|
841
|
+
"运行时模型链(跨厂商,最多 3 条)": "Runtime model chain (cross-provider, max 3 entries)",
|
|
842
|
+
"链先生效(覆盖「按难度自动选模型」);主模型瞬态失败自动降级到下一条——可以是另一家厂商。": "Chain wins (overrides \"auto-pick by difficulty\"); if the primary fails transiently, the next entry takes over — possibly a different provider.",
|
|
843
|
+
"已注入该厂商凭据": "Injects this provider's credentials",
|
|
844
|
+
"还没有可用模型——先到「模型接入」页导入供应商并获取模型列表。": "No available models — import a provider and fetch the model list on the \"Models\" page first.",
|
|
845
|
+
"勾选该 CLI 编排运行时的模型(可跨供应商混选):第 1 条是主模型,其余按顺序作降级备选,每条自带该供应商的凭据注入。": "Pick the models this CLI uses at runtime (cross-provider is OK): the first is primary, the rest are fallbacks in order. Each entry carries its provider's credentials.",
|
|
846
|
+
"最多选 3 条(1 个主模型 + 2 个降级备选)。": "Up to 3 entries (1 primary + 2 fallbacks).",
|
|
847
|
+
"有未保存改动": "Unsaved changes",
|
|
848
|
+
"未安装": "Not installed",
|
|
849
|
+
"有新版本 ": "New version ",
|
|
850
|
+
"已是最新": "Up to date",
|
|
851
|
+
"该渠道无法自动检查": "Cannot auto-check this channel",
|
|
852
|
+
"检查更新中…": "Checking for updates…",
|
|
853
|
+
"预置": "Built-in",
|
|
854
|
+
"自定义": "Custom",
|
|
855
|
+
"已改": "Edited",
|
|
856
|
+
"恢复默认": "Restore default",
|
|
857
|
+
"还没有该智能体的管理操作记录(先点升级/安装/冒烟测试)。": "No management actions recorded for this agent yet (try upgrade / install / smoke test first).",
|
|
858
|
+
"安装命令待配置(编辑 data/catalog.json)": "Install command not configured (edit data/catalog.json)",
|
|
859
|
+
"已写入:": "Saved: ",
|
|
860
|
+
"仅管理": "Management only",
|
|
861
|
+
"参与编排": "Join orchestration",
|
|
862
|
+
"版本 ": "Version ",
|
|
863
|
+
" → <b>": " → <b>",
|
|
864
|
+
"(已是最新版本,无需升级)": " (already up to date — no upgrade needed)",
|
|
865
|
+
"(等待输出…安装/下载阶段可能有一段静默期)": " (waiting for output… install/download may be silent for a while)",
|
|
866
|
+
"(无输出)": " (no output)",
|
|
867
|
+
"(尚无输出)": " (no output yet)",
|
|
868
|
+
"完整运行": "Full run",
|
|
869
|
+
"编辑供应商配置(地址 / 协议 / 难度模型)": "Edit provider config (endpoint / protocol / difficulty models)",
|
|
870
|
+
"尚未获取模型列表——点上方「获取模型列表」。": "Model list not fetched — click \"Fetch model list\" above.",
|
|
871
|
+
"按名称过滤模型…": "Filter models by name…",
|
|
872
|
+
" 协议 · ": " protocol · ",
|
|
873
|
+
"API 地址必须以 http:// 或 https:// 开头": "API endpoint must start with http:// or https://",
|
|
874
|
+
"保存后会自动拉取该供应商的模型列表(未填密钥时跳过)。": "The provider's model list will be fetched automatically after saving (skipped if no API key).",
|
|
875
|
+
"保存后会自动拉取模型列表并探测该网关支持的 wire 协议(未填密钥时跳过);探测结果决定哪些 CLI 能用它。": "After saving, the model list is fetched and the gateway's wire protocols are probed (skipped if no API key); the result determines which CLIs can use it.",
|
|
876
|
+
"自动探测(推荐 · 聚合网关多协议都开)": "Auto-detect (recommended — aggregator gateways serve several protocols)",
|
|
877
|
+
"自动(按实测能力集)": "Auto (by probed capabilities)",
|
|
878
|
+
"google(仅登记)": "google (registry only)",
|
|
879
|
+
"协议": "Protocol",
|
|
880
|
+
"协议=自动:该网关支持哪些 wire 由「适配测试」实测决定(上方能力标签)。": "Protocol=auto: which wires this gateway serves is determined by the adapt test (capability tags above).",
|
|
881
|
+
"自动 · ": "auto · ",
|
|
882
|
+
"自动(未探测)": "auto (not probed yet)",
|
|
883
|
+
"自动 · %1 wire": "auto · %1 wire",
|
|
884
|
+
"自动 · 注入该厂商凭据": "auto · injects this vendor's credentials",
|
|
885
|
+
"评审引擎(起草 → 多维评审 → 修订 → 门禁)": "Review engine (draft → multi-dim review → revise → gate)",
|
|
886
|
+
"代码引擎(实现 → 验证 → 评审 → 修复)": "Code engine (implement → verify → review → fix)",
|
|
887
|
+
"流程 ID(留空 = 按名称自动生成)": "Flow ID (blank = auto-generated from name)",
|
|
888
|
+
"进阶设置(可留空,走引擎默认)": "Advanced (blank uses engine defaults)",
|
|
889
|
+
"产出文件名": "Output filename",
|
|
890
|
+
"发布阈值(1-10)": "Publish threshold (1-10)",
|
|
891
|
+
"评审轮数(1-5)": "Review rounds (1-5)",
|
|
892
|
+
"评审维度(逗号分隔)": "Review dimensions (comma-separated)",
|
|
893
|
+
"连载章节数(留空 = 单稿件)": "Chapters (blank = single draft)",
|
|
894
|
+
"起草提示词(可选,占位符 __FILE__ __GOAL__ __CONTEXT__ __SKILLS__)": "Draft prompt (optional; placeholders __FILE__ __GOAL__ __CONTEXT__ __SKILLS__)",
|
|
895
|
+
"评审提示词(可选,占位符 __DIMKEYS__ __MANUSCRIPT__)": "Critique prompt (optional; placeholders __DIMKEYS__ __MANUSCRIPT__)",
|
|
896
|
+
"一句话说明(显示在流程列表)": "One-line description (shown in flow list)",
|
|
897
|
+
"连载 ": "Serial ",
|
|
898
|
+
" 编辑": " Edit",
|
|
899
|
+
" 恢复默认": " Restore default",
|
|
900
|
+
" 删除": " Delete",
|
|
901
|
+
" 章</span>": " ch</span>",
|
|
902
|
+
" 连载 ": " serial ",
|
|
903
|
+
" 维度:": " rubric: ",
|
|
904
|
+
" 阈值:": " threshold: ",
|
|
905
|
+
" 每章 ": " per chapter ",
|
|
906
|
+
"(不使用编排者)": " (no orchestrator)",
|
|
907
|
+
"编排者供应商": "Orchestrator provider",
|
|
908
|
+
"编排者模型": "Orchestrator model",
|
|
909
|
+
"启用编排者(规划 / 难度判定 / 写作大纲)": "Enable orchestrator (plan / difficulty / outline)",
|
|
910
|
+
"测试连通": "Test connection",
|
|
911
|
+
"先选一个供应商再测试连通": "Pick a provider first",
|
|
912
|
+
"当前配置不生效:请检查供应商密钥、启停状态与模型选择。": "Current config is not active: check the API key, enabled state, and model selection.",
|
|
913
|
+
"最大并发任务数(多任务同时跑、互不打扰)": "Max concurrent tasks (run in parallel, fully isolated)",
|
|
914
|
+
"1 · 串行": "1 · serial",
|
|
915
|
+
"1 = 串行排队;建议 2-4。每个任务在独立线程执行,运行数据按任务隔离。": "1 = serial queue; 2-4 recommended. Each task runs in its own thread; data is isolated per task.",
|
|
916
|
+
"默认保存路径(新建任务未指定工作目录时使用;支持 ~)": "Default save path (used when a new task doesn't specify one; ~ supported)",
|
|
917
|
+
"保存时把「旧默认路径下」的现有任务目录迁移到新路径(运行中的跳过;手动指定的目录不受影响)": "When saving, migrate existing task directories under the old default path to the new one (skip running tasks; manually specified paths are untouched)",
|
|
918
|
+
"不沿用(全新开始)": "Don't resume (fresh start)",
|
|
919
|
+
" —— 不支持会话恢复 ——": " —— Resume not supported —— ",
|
|
920
|
+
"(无法续接旧会话)": " (cannot resume old sessions)",
|
|
921
|
+
" 的会话": "'s sessions",
|
|
922
|
+
"选择会话": "Pick session",
|
|
923
|
+
"(未找到该智能体的本地会话)": "(no local sessions for this agent)",
|
|
924
|
+
"该会话属于 ": "This session belongs to ",
|
|
925
|
+
"已创建,跳转运行页…": "Created — switching to the run page…",
|
|
926
|
+
"继续连载": "Resume serial",
|
|
927
|
+
" 暂无任务——在上面输入一句话目标开始。": " No tasks yet — enter a one-line goal above to start.",
|
|
928
|
+
"勾选要导入的来源。导入只读取这些工具的配置,不会改动它们本身;\n已导入过的供应商会原地更新(保留你设置的模型与启停状态)。": "Tick the sources to import. Only reads their configs — does not modify them.\nAlready-imported providers are updated in place (preserving your model and enable/disable settings).",
|
|
929
|
+
":未找到配置": ": config not found",
|
|
930
|
+
":解析失败:": ": parse failed: ",
|
|
931
|
+
"": "",
|
|
932
|
+
"连接中断,正在重试(": "Connection lost, retrying (",
|
|
933
|
+
"连接中…": "Connecting…",
|
|
934
|
+
"要完成什么?": "What do you want to accomplish?",
|
|
935
|
+
"一句话目标即可 —— CodeBee 自动拆解、智能路由、执行、验证并跨厂商评审。": "A one-line goal is enough — CodeBee auto-decomposes, routes, executes, verifies, and cross-vendor reviews.",
|
|
936
|
+
"最近任务": "Recent tasks",
|
|
937
|
+
"全部清除": "Clear all",
|
|
938
|
+
"取消运行": "Cancel run",
|
|
939
|
+
"报告": "Report",
|
|
940
|
+
"统计所有真实 LLM 调用:编排各角色步骤(规划/实现/评审/修订…)、编排者直连 API、连通性冒烟与 AI 修复;mock 智能体与本地验证不计入。": "Counts all real LLM calls: orchestration roles (plan / implement / review / revise…), direct orchestrator API, connectivity smoke tests, AI fixes. Mock agents and local verifications are excluded.",
|
|
941
|
+
"加载中…": "Loading…",
|
|
942
|
+
"每日趋势(输入 / 缓存 / 输出 token)": "Daily trend (input / cache / output tokens)",
|
|
943
|
+
"最近调用": "Recent calls",
|
|
944
|
+
"智能体目录": "Agent catalog",
|
|
945
|
+
"重新加载 catalog": "Reload catalog",
|
|
946
|
+
"恢复默认 catalog": "Restore default catalog",
|
|
947
|
+
"已安装": "Installed",
|
|
948
|
+
"可安装": "Installable",
|
|
949
|
+
"供应商": "Providers",
|
|
950
|
+
"+": "+",
|
|
951
|
+
"CodeBee 编排运行时的模型都在这里配:模型链可跨厂商混搭——每条自带供应商注入(API key + 地址),第 1 条是主模型、其余按顺序降级,瞬态错误自动切到下一条(可能是另一家厂商)。链空则按供应商默认 / 难度自动选。只影响 CodeBee 发起的调用,不改写 CLI 全局配置(要改默认模型请到「智能体管理」页)。": "Models used by CodeBee at runtime are configured here: the model chain can mix providers — each entry carries its provider's injection (API key + endpoint); the first is primary, the rest are fallbacks, and transient errors auto-switch to the next (possibly a different provider). An empty chain falls back to provider default / difficulty. This only affects calls initiated by CodeBee, not the CLI's global config (to change the default model, go to \"Agents\").",
|
|
952
|
+
"内置规范包": "Built-in rule packs",
|
|
953
|
+
"运行中自动学到的教训": "Auto-learned lessons",
|
|
954
|
+
"「编排者」是 CodeBee 自己的智能体:直连 API 供应商的模型(不占 CLI 会话),统一负责任务规划拆解、难度判定与写作大纲。未启用或调用失败时自动回落为「最强可用 CLI 智能体」规划,流程永不阻塞。": "The \"Orchestrator\" is CodeBee's own agent — it talks directly to provider APIs (no CLI session), handling task planning, difficulty scoring, and writing outlines. When disabled or failing, it falls back to the strongest available CLI agent for planning — the flow never blocks.",
|
|
955
|
+
"运行设置": "Runtime settings",
|
|
956
|
+
"(电脑上启动 CodeBee 时控制台会显示,形如 http://192.168.x.x:8765/?token=xxxxxxxx)": "(Shown in the console when you start CodeBee on the computer — looks like http://192.168.x.x:8765/?token=xxxxxxxx)",
|
|
957
|
+
"软件": "Software",
|
|
958
|
+
"关于与更新": "About & Updates",
|
|
959
|
+
"显示已归档": "Show archived",
|
|
960
|
+
"隐藏已归档": "Hide archived",
|
|
961
|
+
"返回": "Back",
|
|
962
|
+
"基于此任务新建": "New from this task",
|
|
963
|
+
"自动沉淀的教训": "Auto-learned lessons",
|
|
964
|
+
"升级到新版": "Upgrade to new version",
|
|
965
|
+
"重启服务生效": "Restart to apply",
|
|
966
|
+
"升级会通过 npm 拉取最新版并自动执行(日志可在运行记录里实时查看);完成后点「重启服务生效」,页面会自动重连。开发仓库(git clone)模式不提供自动升级,请用 git pull。": "Upgrading pulls the latest version via npm and applies it automatically (logs stream into Runs). When finished, click \"Restart to apply\" — the page reconnects on its own. Dev repos (git clone) don't support auto-upgrade; use git pull.",
|
|
967
|
+
"搜索供应商…": "Search providers…",
|
|
968
|
+
"例 E:\\GoOut\\workspace": "e.g. E:\\GoOut\\workspace",
|
|
969
|
+
"访问令牌": "Access token",
|
|
970
|
+
"任务检查器": "Task inspector",
|
|
971
|
+
"进入": "Enter",
|
|
972
|
+
"明暗": "Theme",
|
|
973
|
+
"手机连接(扫码用手机打开 CodeBee)": "Phone link (scan QR to open CodeBee on your phone)",
|
|
974
|
+
"自动化": "Automation",
|
|
975
|
+
"按计划自动运行任务,或在需要时随时执行。": "Run tasks on a schedule, or trigger them anytime.",
|
|
976
|
+
"新建定时任务": "New scheduled task",
|
|
977
|
+
"创建一个按计划自动运行的任务": "Create a task that runs on a schedule",
|
|
978
|
+
"重新拉取任务列表": "Reload the task list",
|
|
979
|
+
"刷新": "Refresh",
|
|
980
|
+
"任务筛选": "Filter tasks",
|
|
981
|
+
"定时任务模板": "Scheduled task templates",
|
|
982
|
+
"每天 ": "Every day at ",
|
|
983
|
+
"每 ": "Every ",
|
|
984
|
+
" 小时": " hours",
|
|
985
|
+
"每": "Each ",
|
|
986
|
+
" 执行一次": " (runs once)",
|
|
987
|
+
"未设置节奏": "No schedule",
|
|
988
|
+
"退出编辑": "Exit edit",
|
|
989
|
+
"已保存": "Saved",
|
|
990
|
+
"有未保存的修改,确定关闭?": "You have unsaved changes — close anyway?",
|
|
991
|
+
"有未保存的修改,确定退出编辑?": "You have unsaved changes — exit edit mode anyway?",
|
|
992
|
+
"拉起失败": "Launch failed",
|
|
993
|
+
"已错过": "Missed",
|
|
994
|
+
"正常": "OK",
|
|
995
|
+
"启用 / 停用": "Enable / disable",
|
|
996
|
+
"流程:": "Flow: ",
|
|
997
|
+
"下次运行 ": "Next run ",
|
|
998
|
+
"已运行 ": "Ran ",
|
|
999
|
+
"立即执行": "Run now",
|
|
1000
|
+
"编辑": "Edit",
|
|
1001
|
+
"加载失败:服务未连接": "Failed to load: service not connected",
|
|
1002
|
+
"没有符合条件任务": "No tasks match the filter",
|
|
1003
|
+
"还没有定时任务——点右上「新建定时任务」,或从下面的模板一键创建。": "No scheduled tasks yet — click “New scheduled task” at the top right, or create one from a template below.",
|
|
1004
|
+
"用此模板": "Use template",
|
|
1005
|
+
"暂无模板": "No templates",
|
|
1006
|
+
"例:每日仓库巡检": "e.g. Daily repo inspection",
|
|
1007
|
+
"执行内容": "Prompt",
|
|
1008
|
+
"到点要完成什么,一句话或分步说明均可": "What should run when due — one line or step-by-step",
|
|
1009
|
+
"留空 = 默认保存路径;或填绝对路径": "Empty = default save path; or an absolute path",
|
|
1010
|
+
"每天": "Daily",
|
|
1011
|
+
"每隔 N 小时": "Every N hours",
|
|
1012
|
+
"每周": "Weekly",
|
|
1013
|
+
"仅一次": "Once",
|
|
1014
|
+
"流程": "Flow",
|
|
1015
|
+
"默认流程": "Default flow",
|
|
1016
|
+
"时间": "Time",
|
|
1017
|
+
"间隔小时(1-720)": "Interval hours (1-720)",
|
|
1018
|
+
"星期几": "Day of week",
|
|
1019
|
+
"执行时间": "Run at",
|
|
1020
|
+
"到点自动把执行内容作为一个新任务跑起来;错过的一次性任务不补跑。": "When due, the prompt runs as a new task; missed one-time tasks are not re-run.",
|
|
1021
|
+
"编辑定时任务": "Edit scheduled task",
|
|
1022
|
+
"请填写执行内容": "Please fill in the prompt",
|
|
1023
|
+
"请选择执行时间": "Please pick a run time",
|
|
1024
|
+
"定时任务已更新": "Scheduled task updated",
|
|
1025
|
+
"定时任务已创建,到点自动运行": "Scheduled task created — it will run on time",
|
|
1026
|
+
"上次拉起失败,请先检查工作目录 / 流程配置后再试": "Last launch failed — check the workdir / flow settings, then try again",
|
|
1027
|
+
"已开始执行,可在任务树查看新运行": "Started — see the new run in the task tree",
|
|
1028
|
+
"删除定时任务「": "Delete scheduled task \"",
|
|
1029
|
+
"」?已产生的运行记录不受影响。": "\"? Existing run records are not affected.",
|
|
1030
|
+
"插件市场": "Plugin market",
|
|
1031
|
+
"用经验包为 CodeBee 扩展写作与工程守则,一键装进经验库。安装即生效,无需手动调用:运行任务时,经验库按插件标注的「适用」自动把内容注入该类任务的提示词;可随时到「经验库」页启用、停用或卸载。": "Extend CodeBee with experience packs for writing and engineering rules — one click into the skill library. Effective on install, no manual invocation: when a task runs, the skill library automatically injects pack content into the prompts of matching task types, based on each pack's \"Applies to\" label. Enable, disable or uninstall any time on the skill library page.",
|
|
1032
|
+
"搜索插件…": "Search plugins…",
|
|
1033
|
+
"分类": "Category",
|
|
1034
|
+
"安装状态": "Install state",
|
|
1035
|
+
"全部分类": "All categories",
|
|
1036
|
+
"全部流程": "All flows",
|
|
1037
|
+
"适用:": "Applies to: ",
|
|
1038
|
+
"运行该类型任务时自动注入提示词,无需手动调用": "Auto-injected into prompts when a task of this type runs — no manual invocation",
|
|
1039
|
+
"约 ": "about ",
|
|
1040
|
+
"字": "chars",
|
|
1041
|
+
"已内置": "Built-in",
|
|
1042
|
+
"没有符合条件插件": "No plugins match the filters",
|
|
1043
|
+
"该插件已安装过": "Already installed",
|
|
1044
|
+
"安装成功,运行任务时自动注入提示词;可到「经验库」启停或查看": "Installed — auto-injected into prompts when tasks run; enable/disable or view it in the skill library",
|
|
1045
|
+
"卸载该插件?它会从经验库中移除。": "Uninstall this plugin? It will be removed from the skill library.",
|
|
1046
|
+
"已卸载": "Uninstalled",
|
|
1047
|
+
"经验包": "Packs",
|
|
1048
|
+
"外部目录": "External catalog",
|
|
1049
|
+
"市场视图": "Market view",
|
|
1050
|
+
"外部目录聚合公开生态:ZCode、Anthropic、Anthropic 官方技能、社区多端技能库(Codex / Gemini 兼容)与 ClawHub。本平台只注入纯技能内容(文档型);插件包里的脚本、钩子或 MCP 组件会在安装时自动剥离并告知,绝不会被写入或执行。装好的技能不会单独「运行」,而是作为经验内容自动注入相关任务的提示词。": "External catalogs aggregate public ecosystems: ZCode, Anthropic, official Anthropic skills, a community multi-agent skill library (Codex / Gemini compatible) and ClawHub. Only pure skill content (docs) is ever injected; scripts, hooks and MCP components are stripped at install time and reported — never written or executed. Installed skills are not run standalone: they become experience content auto-injected into the prompts of related tasks.",
|
|
1051
|
+
"该插件无法从公开生态下载": "This plugin can't be fetched from the public ecosystem",
|
|
1052
|
+
";已自动剥离脚本/钩子/MCP 文件:": "; stripped scripts/hooks/MCP files: ",
|
|
1053
|
+
" 等 ": " and ",
|
|
1054
|
+
"搜索外部插件…": "Search external plugins…",
|
|
1055
|
+
"来源": "Source",
|
|
1056
|
+
"全部来源": "All sources",
|
|
1057
|
+
"拉取更新": "Fetch catalog",
|
|
1058
|
+
"拉取中…": "Fetching…",
|
|
1059
|
+
"拉取成功": "Catalog updated",
|
|
1060
|
+
"部分来源拉取失败:": "Some sources failed: ",
|
|
1061
|
+
"目录更新于 ": "Catalog updated at ",
|
|
1062
|
+
"已加载 ": "Loaded ",
|
|
1063
|
+
"还有 ": "More ",
|
|
1064
|
+
" 条,继续滚动加载": " entries — keep scrolling to load",
|
|
1065
|
+
"加载更多": "Load more",
|
|
1066
|
+
"外部目录还是空的,点「拉取更新」从公开生态获取。": "The external catalog is empty — click \"Fetch catalog\" to pull from public ecosystems.",
|
|
1067
|
+
"不适配": "Incompatible",
|
|
1068
|
+
"安装中…": "Installing…",
|
|
1069
|
+
"正在下载安装,插件包较大时需要约一分钟…": "Downloading and installing — large plugin packages can take about a minute…",
|
|
1070
|
+
"请求超时,请重试或检查网络": "Request timed out — try again or check your network",
|
|
1071
|
+
"该插件含脚本/钩子/MCP 组件,仅支持纯技能类插件": "Contains scripts/hooks/MCP components — only pure skill plugins are supported",
|
|
1072
|
+
" 个供应商(google 等协议)仅登记,不支持注入 CLI,未出现在上面的下拉中。": " provider(s) (google etc.) are registry-only, can't inject into CLIs, and are hidden from the dropdown above.",
|
|
1073
|
+
" 个降级备选)。": " fallback(s)).",
|
|
1074
|
+
" 分": " min",
|
|
1075
|
+
" 参与编排": " Takes part in orchestration",
|
|
1076
|
+
" 启用编排者(规划 / 难度判定 / 写作大纲)": " Enable orchestrator (planning / difficulty judging / outline)",
|
|
1077
|
+
" 回应正常": " responded OK",
|
|
1078
|
+
" 字(自动注入该类任务的规划与评审提示词)": " chars (planning & review prompts for this task type are injected automatically)",
|
|
1079
|
+
" 按难度自动选模型(简单/困难)": " Auto-pick model by difficulty (easy/hard)",
|
|
1080
|
+
" 条)": " entries)",
|
|
1081
|
+
" 次运行": " run(s)",
|
|
1082
|
+
" 次(": " time(s) (",
|
|
1083
|
+
" 步": " step(s)",
|
|
1084
|
+
"% 成": "% ok",
|
|
1085
|
+
"(未知)": "(unknown)",
|
|
1086
|
+
"、": ", ",
|
|
1087
|
+
"」的模型。": "\" model.",
|
|
1088
|
+
"出现 ": " seen ",
|
|
1089
|
+
"创建 ": "created ",
|
|
1090
|
+
"另有 ": "Another ",
|
|
1091
|
+
"名称 ": "Name ",
|
|
1092
|
+
"引擎 ": "Engine ",
|
|
1093
|
+
"成本 ": "Cost ",
|
|
1094
|
+
"打开": "Open",
|
|
1095
|
+
"注入该厂商凭据": "Injects this provider's credentials",
|
|
1096
|
+
"来源 ": "Source ",
|
|
1097
|
+
"模式 ": "Mode ",
|
|
1098
|
+
"次 · 首次失败 ": " calls · first failure ",
|
|
1099
|
+
"正文 ": "Body ",
|
|
1100
|
+
"步骤 ": "Steps ",
|
|
1101
|
+
"耗时": "Duration",
|
|
1102
|
+
"第 ": "Run ",
|
|
1103
|
+
"运行 ": "Run ",
|
|
1104
|
+
"输入 ": "Input ",
|
|
1105
|
+
"输出 ": "Output ",
|
|
1106
|
+
"调用": "Calls",
|
|
1107
|
+
"费用": "Cost",
|
|
1108
|
+
"轮": " rounds",
|
|
1109
|
+
"章": " chapters",
|
|
1110
|
+
"万": "K",
|
|
1111
|
+
"亿": "B",
|
|
1112
|
+
"年": "",
|
|
1113
|
+
"月": "m",
|
|
1114
|
+
"日": "d",
|
|
1115
|
+
"刚刚": "just now",
|
|
1116
|
+
"昨天": "yesterday",
|
|
1117
|
+
";": "; ",
|
|
1118
|
+
" ": " ",
|
|
1119
|
+
" · ": " · ",
|
|
1120
|
+
" 模型 ": " · model ",
|
|
1121
|
+
"恢复所选": "Restore selected",
|
|
1122
|
+
"测试": "Test",
|
|
1123
|
+
"测试连接": "Test connection",
|
|
1124
|
+
"日志": "Log",
|
|
1125
|
+
"清除": "Clear",
|
|
1126
|
+
"禁用": "Disable",
|
|
1127
|
+
"禁用厂商": "Disable provider",
|
|
1128
|
+
"禁用模型": "Disable model",
|
|
1129
|
+
"禁用该厂商": "Disable this provider",
|
|
1130
|
+
"禁用该模型": "Disable this model",
|
|
1131
|
+
"重启": "Restart",
|
|
1132
|
+
"状态": "Status",
|
|
1133
|
+
"工具": "Tool",
|
|
1134
|
+
"角色": "Role",
|
|
1135
|
+
"智能体": "Agent",
|
|
1136
|
+
"模型": "Model",
|
|
1137
|
+
"模型:": "Model: ",
|
|
1138
|
+
"电脑": "Computer",
|
|
1139
|
+
"接管": "Take over",
|
|
1140
|
+
"打开网页": "Open web",
|
|
1141
|
+
"连接异常": "connection issue",
|
|
1142
|
+
"连续失败": "consecutive failures",
|
|
1143
|
+
"一致性": "Consistency",
|
|
1144
|
+
"人物塑造": "Characters",
|
|
1145
|
+
"情节逻辑": "Plot logic",
|
|
1146
|
+
"文笔风格": "Prose style",
|
|
1147
|
+
"节奏爽点": "Pacing & hooks",
|
|
1148
|
+
"流程规范": "Workflow rules",
|
|
1149
|
+
"未分类": "Uncategorized",
|
|
1150
|
+
"开发仓库(git clone)": "Dev repo (git clone)",
|
|
1151
|
+
"未知安装方式": "Unknown install type",
|
|
1152
|
+
"源码拷贝": "Source copy",
|
|
1153
|
+
"npm 全局安装": "npm global install",
|
|
1154
|
+
"安装方式": "Install type",
|
|
1155
|
+
"当前版本": "Current version",
|
|
1156
|
+
"当前版本:": "Current version: ",
|
|
1157
|
+
"(当前值)": "(current value)",
|
|
1158
|
+
"(无主运行)": "(orphan run)",
|
|
1159
|
+
"(未同步版本号)": "(version not synced)",
|
|
1160
|
+
"(未生效:检查密钥 / 启停 / 模型)": "(inactive: check key / enable state / model)",
|
|
1161
|
+
"(未能推导,请先在 catalog 配置 uninstall)": "(couldn't derive — set uninstall in the catalog first)",
|
|
1162
|
+
"(未设置)": "(not set)",
|
|
1163
|
+
"(生效中)": "(active)",
|
|
1164
|
+
"(等待输出…)": "(waiting for output…)",
|
|
1165
|
+
"(自定义)": "(custom)",
|
|
1166
|
+
"(该维度暂无数据)": "(no data for this dimension)",
|
|
1167
|
+
"(跳过 ": "(skipped ",
|
|
1168
|
+
"),无需升级。": ") — no update needed.",
|
|
1169
|
+
"+ 新建自定义流程": "+ New custom flow",
|
|
1170
|
+
",可在「关于与更新」一键升级": " — one-click upgrade in About & Updates",
|
|
1171
|
+
",当前没有可注入的 CLI,编排时会回落为 CLI 默认配置。": ", but no injectable CLI matches it — orchestration falls back to CLI defaults.",
|
|
1172
|
+
":连续失败 ": ": consecutive failures ",
|
|
1173
|
+
"该供应商协议为 ": "This provider's protocol is ",
|
|
1174
|
+
"该供应商已停用:编排时不会注入它,将回落为 CLI 默认配置(模型链也不会生效)。": "This provider is disabled: orchestration won't inject it and will fall back to CLI defaults (the model chain won't apply either).",
|
|
1175
|
+
"绑定后编排调用会注入该供应商的 API key 与地址;不绑定则只按下方模型链传 -m 参数。": "When bound, orchestrated calls inject this provider's API key and URL; otherwise only the model chain below is passed via -m.",
|
|
1176
|
+
"还没有可选模型:先到「模型接入」页导入供应商并获取模型列表。": "No models available yet — import a provider and fetch its model list on the \"Models\" page first.",
|
|
1177
|
+
"还没有已安装且可编排的 CLI——先到「智能体管理」页安装并启用。": "No installed, orchestration-capable CLI yet — install and enable one on the \"Agents\" page.",
|
|
1178
|
+
"还没有自动教训——完成一次真实任务后,系统会自己复盘并沉淀。": "No auto lessons yet — the system reviews and distills them after a real run completes.",
|
|
1179
|
+
"不绑定(用 CLI 自身的凭据与配置)": "Not bound (use the CLI's own credentials & config)",
|
|
1180
|
+
"anthropic(Claude 系)": "anthropic (Claude family)",
|
|
1181
|
+
"openai(Codex / 通用)": "openai (Codex / generic)",
|
|
1182
|
+
"google(Gemini,仅登记不支持注入)": "google (Gemini, registry only — no injection)",
|
|
1183
|
+
"API 地址 *": "API URL *",
|
|
1184
|
+
"API 密钥": "API key",
|
|
1185
|
+
"协议 *": "Protocol *",
|
|
1186
|
+
"名称 *": "Name *",
|
|
1187
|
+
"例:公司网关": "e.g. Company gateway",
|
|
1188
|
+
"https://host/v1(若填 /chat/completions 会自动收敛为基址)": "https://host/v1 (a /chat/completions suffix is trimmed to the base URL)",
|
|
1189
|
+
"sk-...(可留空,稍后补填)": "sk-... (can be left empty, fill in later)",
|
|
1190
|
+
"可留空": "optional",
|
|
1191
|
+
"默认模型(写入配置文件)": "Default model (written to the CLI's config)",
|
|
1192
|
+
"✓ 连通 ": "✓ Reachable ",
|
|
1193
|
+
"左侧选择供应商;还没有供应商时点左上角「导入」,": "Pick a provider on the left; none yet? Click \"Import\" at the top-left —",
|
|
1194
|
+
"可从 CCSwitch / Codex / Claude Code / ZCode / Qwen / Gemini / OpenCode / Continue / Cursor / Trae 扫描带入。": " configs can be scanned from CCSwitch / Codex / Claude Code / ZCode / Qwen / Gemini / OpenCode / Continue / Cursor / Trae.",
|
|
1195
|
+
"正在扫描本机 AI 工具配置…": "Scanning local AI tool configs…",
|
|
1196
|
+
"勾选要导入的来源。导入只读取这些工具的配置,不会改动它们本身;": "Tick the sources to import. Import only reads these tools' configs without modifying them;",
|
|
1197
|
+
"已导入过的供应商会原地更新(保留你设置的模型与启停状态)。": "already-imported providers update in place (keeping your model and enable settings).",
|
|
1198
|
+
"从列表删除:刷新/重新导入不会再带回,可在分组底部恢复": "Remove from list: refresh/re-import won't bring it back — restorable at the group footer",
|
|
1199
|
+
"任务类型": "Task type",
|
|
1200
|
+
"供应商健康告警": "Provider health alerts",
|
|
1201
|
+
"命令面板": "Command palette",
|
|
1202
|
+
"例:2500": "e.g. 2500",
|
|
1203
|
+
"例:8": "e.g. 8",
|
|
1204
|
+
"例:8(逐章起草+评审+修订)": "e.g. 8 (draft+review+revise per chapter)",
|
|
1205
|
+
"例:python -m pytest -q(可空=只评审)": "e.g. python -m pytest -q (empty = review only)",
|
|
1206
|
+
"例:情节, 人物, 文笔": "e.g. plot, characters, prose",
|
|
1207
|
+
"例:技术播客单集脚本产出": "e.g. produce a tech-podcast episode script",
|
|
1208
|
+
"例:播客脚本": "e.g. podcast script",
|
|
1209
|
+
"可空,自动取目标首行": "optional — auto-taken from the goal's first line",
|
|
1210
|
+
"工作目录内的文件名": "File name inside the workdir",
|
|
1211
|
+
"1 = 关闭": "1 = off",
|
|
1212
|
+
"1 = 关闭(2-3 每章多稿择优,更贵)": "1 = off (2-3 drafts per chapter, best wins — pricier)",
|
|
1213
|
+
"小写字母开头,可留空": "start with a lowercase letter; optional",
|
|
1214
|
+
"留空 = 2": "empty = 2",
|
|
1215
|
+
"留空 = 7.0": "empty = 7.0",
|
|
1216
|
+
"留空 = 内容, 结构, 表达": "empty = content, structure, style",
|
|
1217
|
+
"留空 = 内置通用模板": "empty = built-in template",
|
|
1218
|
+
"留空 = 按流程 ID 生成": "empty = derived from flow ID",
|
|
1219
|
+
"留空则保存到默认路径;或填绝对路径,例 E:\\GoOut\\my-project": "Leave empty to save to the default path, or enter an absolute path, e.g. E:\\GoOut\\my-project",
|
|
1220
|
+
"自定义流程只需填名称与引擎,其余留空走默认。": "Custom flows only need a name and engine — leave the rest empty for defaults.",
|
|
1221
|
+
"预置流程可直接编辑(阈值/轮数/维度/章节数/提示词),改动随时可「恢复默认」;": "Built-in flows are editable (threshold / rounds / dimensions / chapters / prompts) — \"Reset\" restores defaults anytime;",
|
|
1222
|
+
"语言 / Language": "Language",
|
|
1223
|
+
"切换语言": "Switch language",
|
|
1224
|
+
"检查器分区": "Inspector sections",
|
|
1225
|
+
"输入/输出": "Input/Output",
|
|
1226
|
+
"当前范围内都是历史运行回填的记录:只保留总量与费用,": "Every record in this range is backfilled from historical runs — totals and cost only;",
|
|
1227
|
+
"输入/输出/缓存细分从新调用开始记录。": "input/output/cache breakdown starts with new calls.",
|
|
1228
|
+
"当天暂无用量": "No usage today",
|
|
1229
|
+
"已发出打开指令": "Open command sent",
|
|
1230
|
+
"已恢复": "Restored",
|
|
1231
|
+
"已手动标记 {0} 为恢复,探针将重新核实": "Manually marked {0} as recovered — probes will re-verify",
|
|
1232
|
+
"已按「%1」预填新任务表单,确认或修改后提交": "New task form prefilled from \"%1\" — review, adjust, then submit",
|
|
1233
|
+
"已写到第 %1 章,将从第 %2 章接着写(同一工作目录,成书合并全本)。续写章数:": "Written through chapter %1; continuation starts at chapter %2 (same workdir; merged book includes all). Chapters to continue:",
|
|
1234
|
+
"已是最新版。": "Already up to date.",
|
|
1235
|
+
"已注入 ": "injected ",
|
|
1236
|
+
"已清除 ": "Cleared ",
|
|
1237
|
+
"已禁用厂商 {0}:链降级自动跳过,绑定页可重新启用": "Provider {0} disabled: chain fallback skips it — re-enable on the Bindings page",
|
|
1238
|
+
"已禁用模型 {0} · {1},链降级自动跳过;绑定页可重新启用": "Model {0} · {1} disabled: chain fallback skips it — re-enable on the Bindings page",
|
|
1239
|
+
"已静默 {0} 的告警(恢复后自动重新武装)": "Muted {0}'s alert (auto-rearms on recovery)",
|
|
1240
|
+
"开始升级": "Start upgrade",
|
|
1241
|
+
"当前状态不支持": "Not supported in the current state",
|
|
1242
|
+
"恢复内置默认 catalog?你对该文件的修改将丢失。": "Restore the built-in default catalog? Your edits to that file will be lost.",
|
|
1243
|
+
"手动标记恢复": "Mark recovered manually",
|
|
1244
|
+
"手机相机扫码即自动登录(地址已含访问令牌,扫一次永久记住)。": "Scan with your phone camera to log in (the URL embeds the access token — one scan remembers it).",
|
|
1245
|
+
"局域网地址要求手机与电脑连同一 WiFi;Tailscale 地址出门也能用,": "LAN addresses require the phone and computer on the same WiFi; Tailscale works anywhere —",
|
|
1246
|
+
"两端需登录同一 Tailscale 账号。手机控制时另一端自动变为只读,可在顶栏接管。": "both devices must sign into the same Tailscale account. When the phone is in control, other devices go read-only — take over from the top bar.",
|
|
1247
|
+
"连不上时(如路由器重启后地址变了)回电脑重新打开此弹框扫新码即可。": "If it can't connect (e.g. the address changed after a router reboot), re-open this dialog on the computer and scan the new QR.",
|
|
1248
|
+
"无法续写:": "Cannot continue writing: ",
|
|
1249
|
+
"无法获取版本信息(服务未连接)": "Can't fetch version info (service not connected)",
|
|
1250
|
+
"服务重启中,几秒后自动恢复": "Service restarting — recovers in a few seconds",
|
|
1251
|
+
"正在升级…": "Upgrading…",
|
|
1252
|
+
"正在重启…": "Restarting…",
|
|
1253
|
+
"目录选择仅限本机使用,请手动输入路径": "Folder picking is local-only — enter the path manually",
|
|
1254
|
+
"确认禁用模型 {0}?链降级将自动跳过它,其余模型不受影响;可在 CLI 绑定页重新启用。": "Disable model {0}? Chain fallback will skip it; other models are unaffected — re-enable it on the CLI Bindings page.",
|
|
1255
|
+
"确认禁用该厂商?禁用后链降级自动跳过它,恢复后可在 CLI 绑定页重新启用。": "Disable this provider? Chain fallback will skip it — re-enable on the CLI Bindings page once recovered.",
|
|
1256
|
+
"注意:沿用原目录且稿件名相同时,提交会覆盖原稿件": "Note: keeping the same workdir and manuscript name means the commit overwrites the original manuscript",
|
|
1257
|
+
"注意:沿用原目录时,提交会覆盖原书的章节与成书文件;续写请用「继续连载」": "Note: with the same workdir, the commit overwrites the original chapters and merged book — use \"Continue serial\" to extend",
|
|
1258
|
+
"继续连载(新任务)": "Continue serial (new task)",
|
|
1259
|
+
"升级会下载并安装最新版(约 1-2 分钟),期间服务继续可用。现在开始?": "The upgrade downloads and installs the latest version (~1–2 min); the service stays usable meanwhile. Start now?",
|
|
1260
|
+
"升级失败,详情见运行记录": "Upgrade failed — see runs for details",
|
|
1261
|
+
"升级完成!点「重启服务生效」换新版本": "Upgrade done! Click \"Restart to apply\" for the new version",
|
|
1262
|
+
"升级已开始,日志见运行记录": "Upgrade started — log lives in Runs",
|
|
1263
|
+
"发现新版本": "New version found",
|
|
1264
|
+
"发现新版本 v": "New version v",
|
|
1265
|
+
"运行中的记录不可删除,请先取消": "Can't delete a running record — cancel it first",
|
|
1266
|
+
"删除该记录": "Delete this record",
|
|
1267
|
+
"加载失败:": "Load failed: ",
|
|
1268
|
+
"创建续写任务失败:": "Failed to create continuation task: ",
|
|
1269
|
+
"运行时模型链(跨厂商,最多 ": "Runtime model chain (cross-provider, max ",
|
|
1270
|
+
"立即升级": "Upgrade now",
|
|
1271
|
+
"重启服务换上新版本?页面会短暂断开并自动恢复。": "Restart the service to load the new version? The page will blink and auto-recover.",
|
|
1272
|
+
"重启超时,请手动刷新页面": "Restart timed out — refresh the page manually",
|
|
1273
|
+
"静默本次告警": "Mute this alert",
|
|
1274
|
+
"暂无经验包": "No skill packs yet",
|
|
1275
|
+
"最多选 ": "At most ",
|
|
1276
|
+
"CLI 默认凭据": "CLI default credentials",
|
|
1277
|
+
"Chrome·电脑": "Chrome · Computer",
|
|
1278
|
+
"\n\n该 CLI 会从本机移除(配置文件保留)。此操作不可撤销。": "\n\nThe CLI will be removed from this machine (config files kept). This cannot be undone.",
|
|
1279
|
+
"\n最新版本:": "\nLatest: ",
|
|
1280
|
+
"\n可更新:": "\nUpdatable: ",
|
|
1281
|
+
"\n说明:": "\nNote: ",
|
|
1282
|
+
"恢复该供应商下全部已删除的模型?\n它们会回到优先级末尾。": "Restore all deleted models under this provider?\nThey'll return at the end of the priority order.",
|
|
1283
|
+
"小说": "Novel",
|
|
1284
|
+
"连载小说": "Serial Novel",
|
|
1285
|
+
"自媒体文章": "Blog Article",
|
|
1286
|
+
"短视频脚本": "Short Video Script",
|
|
1287
|
+
"文档": "Document",
|
|
1288
|
+
"翻译": "Translation",
|
|
1289
|
+
"调研报告": "Research Report",
|
|
1290
|
+
"演讲稿": "Speech",
|
|
1291
|
+
"工作汇报": "Work Report",
|
|
1292
|
+
"商务邮件": "Business Email",
|
|
1293
|
+
"技术方案": "Tech Proposal",
|
|
1294
|
+
"简历": "Resume",
|
|
1295
|
+
"要实现/修复什么(一句话)": "What to build/fix (one sentence)",
|
|
1296
|
+
"写什么(题材 / 篇幅 / 风格)": "What to write (genre / length / style)",
|
|
1297
|
+
"题材/受众/卖点 + 总字数(例:2 万字都市女频,可签约平台)": "Genre/audience/selling points + total length (e.g. 20k-word urban romance for women, submission-ready)",
|
|
1298
|
+
"什么主题、投哪个平台(公众号/头条/知乎)、给谁看": "Topic, target platform (WeChat / Toutiao / Zhihu), and the audience",
|
|
1299
|
+
"什么主题、多长时长、投哪个平台(抖音/B站/视频号)": "Topic, video length, target platform (Douyin / Bilibili / Channels)",
|
|
1300
|
+
"要写什么文档、给谁看": "What document, and who reads it",
|
|
1301
|
+
"翻译什么(源文本位置 / 目标语言 / 要求)": "What to translate (source location / target language / requirements)",
|
|
1302
|
+
"调研什么问题、产出给谁用": "What question to research, and who consumes the report",
|
|
1303
|
+
"演讲场合 / 听众 / 时长 / 核心信息": "Occasion / audience / duration / key message",
|
|
1304
|
+
"周报/月报/述职?汇报给谁、做了什么(可贴流水账让小队提炼)": "Weekly/monthly report or promotion review? Who reads it, what was done (paste a rough log and let the crew distill it)",
|
|
1305
|
+
"给谁写、要达成什么、对方背景与你们的关系": "Who it's for, what to achieve, the recipient's context and your relationship",
|
|
1306
|
+
"要解决什么问题、约束条件(工期/技术栈/预算)、给谁评审": "Problem to solve, constraints (timeline / stack / budget), who reviews it",
|
|
1307
|
+
"目标岗位 + 个人经历(可贴旧简历附件),几年经验投什么职级": "Target role + experience (attach the old resume), years of experience and the level you're applying for",
|
|
1308
|
+
"实现 → 验证命令 → 跨厂商评审 → 自动修复/换将": "Implement → verify command → cross-provider review → auto-fix / swap agent",
|
|
1309
|
+
"起草 → 多维评审 → 修订循环 → 发布门禁": "Draft → multi-dim review → revision loop → publish gate",
|
|
1310
|
+
"大纲 → 逐章起草 → 每章多维评审修订 → 全局一致性评审 → 合并(可断点续跑)": "Outline → chapter-by-chapter drafting → per-chapter multi-dim review & revision → global consistency review → merge (resumable)",
|
|
1311
|
+
"公众号/头条风格文章:起草 → 多维评审 → 修订循环 → 发布门禁": "WeChat/Toutiao-style article: draft → multi-dim review → revision loop → publish gate",
|
|
1312
|
+
"分镜 + 口播脚本:起草 → 多维评审 → 修订循环 → 发布门禁": "Storyboard + voiceover script: draft → multi-dim review → revision loop → publish gate",
|
|
1313
|
+
"周报/月报/述职材料:起草 → 多维评审 → 修订循环 → 发布门禁": "Weekly/monthly/promo material: draft → multi-dim review → revision loop → publish gate",
|
|
1314
|
+
"商务/客户/跨部门邮件:起草 → 多维评审 → 修订循环 → 发布门禁": "Business/client/cross-team email: draft → multi-dim review → revision loop → publish gate",
|
|
1315
|
+
"技术选型/架构/实施方案:起草 → 多维评审 → 修订循环 → 发布门禁": "Tech selection/architecture/implementation plan: draft → multi-dim review → revision loop → publish gate",
|
|
1316
|
+
"简历优化/定制:起草 → 多维评审 → 修订循环 → 发布门禁": "Resume tailoring: draft → multi-dim review → revision loop → publish gate",
|
|
1317
|
+
"内容": "Content",
|
|
1318
|
+
"结构": "Structure",
|
|
1319
|
+
"表达": "Style",
|
|
1320
|
+
"情节": "Plot",
|
|
1321
|
+
"人物": "Characters",
|
|
1322
|
+
"文笔": "Prose",
|
|
1323
|
+
"节奏": "Pacing",
|
|
1324
|
+
"吸引力": "Appeal",
|
|
1325
|
+
"选题与标题": "Topic & title",
|
|
1326
|
+
"开头吸引力": "Opening hook",
|
|
1327
|
+
"结构节奏": "Structure & rhythm",
|
|
1328
|
+
"平台适配": "Platform fit",
|
|
1329
|
+
"传播性": "Shareability",
|
|
1330
|
+
"黄金3秒钩子": "3-second hook",
|
|
1331
|
+
"节奏密度": "Pacing density",
|
|
1332
|
+
"口播流畅": "Spoken flow",
|
|
1333
|
+
"画面可执行": "Shootable",
|
|
1334
|
+
"互动引导": "Call to engage",
|
|
1335
|
+
"准确性": "Accuracy",
|
|
1336
|
+
"结构清晰": "Clear structure",
|
|
1337
|
+
"表达流畅": "Fluent writing",
|
|
1338
|
+
"实用价值": "Practical value",
|
|
1339
|
+
"忠实度": "Fidelity",
|
|
1340
|
+
"流畅度": "Fluency",
|
|
1341
|
+
"术语一致性": "Term consistency",
|
|
1342
|
+
"风格贴合": "Style fit",
|
|
1343
|
+
"全面性": "Coverage",
|
|
1344
|
+
"深度": "Depth",
|
|
1345
|
+
"论据可靠": "Sound evidence",
|
|
1346
|
+
"可读性": "Readability",
|
|
1347
|
+
"结论质量": "Conclusion quality",
|
|
1348
|
+
"主题聚焦": "Topic focus",
|
|
1349
|
+
"感染力": "Emotive force",
|
|
1350
|
+
"语言风格": "Language style",
|
|
1351
|
+
"重点突出": "Key points up front",
|
|
1352
|
+
"数据支撑": "Data-backed",
|
|
1353
|
+
"下一步可执行": "Actionable next steps",
|
|
1354
|
+
"目的明确": "Clear purpose",
|
|
1355
|
+
"语气得体": "Right tone",
|
|
1356
|
+
"信息完整": "Complete info",
|
|
1357
|
+
"简洁度": "Conciseness",
|
|
1358
|
+
"可行性": "Feasibility",
|
|
1359
|
+
"方案完整性": "Plan completeness",
|
|
1360
|
+
"风险识别": "Risk identification",
|
|
1361
|
+
"成本与收益": "Cost & benefit",
|
|
1362
|
+
"真实可信": "Truthful & credible",
|
|
1363
|
+
"岗位匹配": "Role match",
|
|
1364
|
+
"成果量化": "Quantified results",
|
|
1365
|
+
"关键词覆盖": "Keyword coverage",
|
|
1366
|
+
"七猫签约标准与写作规范": "Qimao Signing Standard & Writing Rules",
|
|
1367
|
+
"黄金一章、爽点纪律、期待感三源、人物红线、自检清单": "Golden first chapter, payoff discipline, three sources of anticipation, character red lines, self-check list",
|
|
1368
|
+
"番茄小说写作与流量守则": "Fanqie Novel Writing & Traffic Rules",
|
|
1369
|
+
"算法流量池/完读追读、黄金三章整体验、题材标签匹配、更新纪律、合同要点": "Traffic pools & read-through, golden-three-chapters holistic check, genre tag matching, update discipline, contract essentials",
|
|
1370
|
+
"算法流量池与完读追读、黄金三章整体验、题材标签匹配、更新纪律与合同要点。": "Traffic pools & read-through, golden-three-chapters holistic check, genre tag matching, update discipline, contract essentials.",
|
|
1371
|
+
"七猫签约导向的写作规范:黄金一章、爽点纪律、期待感三源、人物红线与自检清单。": "Qimao-signing-oriented writing rules: golden first chapter, payoff discipline, three sources of anticipation, character red lines, self-check list.",
|
|
1372
|
+
"Git 提交与分支守则": "Git Commit & Branch Rules",
|
|
1373
|
+
"提交信息格式与粒度、分支模型、force push 与回滚等危险操作红线,附提交前自检清单。": "Commit message format & granularity, branch model, red lines for force-push/rollback and other risky ops, with a pre-commit checklist.",
|
|
1374
|
+
"代码风险自查清单": "Code Risk Checklist",
|
|
1375
|
+
"提测/评审前按事故率过单:边界与异常、资源与并发、注入与泄密、跨平台与回退。": "Pre-review triage by incident rate: boundary & exception, resources & concurrency, injection & leakage, cross-platform & fallback.",
|
|
1376
|
+
"版本发布说明撰写模板": "Release Notes Template",
|
|
1377
|
+
"面向用户的更新公告写法:固定六段结构、破坏性变更三要素、可复制模板与反例对照。": "How to write user-facing release notes: fixed six-section structure, three elements of breaking changes, copyable template with counter-examples.",
|
|
1378
|
+
"周报/晨报生成器守则": "Weekly/Morning Report Generator Rules",
|
|
1379
|
+
"先取材再总结:从任务与运行记录提炼晨报三段、周报四段,量化纪律与可复制模板。": "Gather first, then summarize: three morning-report and four weekly-report sections distilled from tasks and runs, quantified discipline and reusable templates.",
|
|
1380
|
+
"角色小传与人物弧光模板": "Character Bio & Arc Templates",
|
|
1381
|
+
"角色档案模板(欲望/恐惧/语言指纹)、四拍弧光规划与连载防 OOC 纪律。": "Character sheet template (desire/fear/language fingerprint), four-beat arc planning, and anti-OOC discipline for serials.",
|
|
1382
|
+
"世界观设定一致性台账守则": "Worldbuilding Consistency Ledger Rules",
|
|
1383
|
+
"设定台账五件套、设定变更三步流程、高频吃书场景排查与章前查章后记闭环。": "Five-part setting ledger, three-step change process, high-frequency canon-break detection, and a pre-chapter/post-chapter check loop.",
|
|
1384
|
+
"每日仓库巡检": "Daily Repo Inspection",
|
|
1385
|
+
"每天早上自动巡检一次仓库:汇总未提交变更、梳理 TODO/FIXME 待办与风险,生成当天的巡检报告 INSPECTION.md。": "Automated read-only repo inspection every morning: summarize uncommitted changes, list TODO/FIXME and risks, and generate the day's INSPECTION.md.",
|
|
1386
|
+
"连载定时推进": "Scheduled Serial Advancement",
|
|
1387
|
+
"配合连载小说任务:到点自动读取故事圣经与已有章节,续写下一段剧情,并自检人设、时间线与伏笔的一致性。": "For serial-novel tasks: at the scheduled time, reads the story bible and existing chapters, continues the plot, and self-checks character, timeline and foreshadowing consistency.",
|
|
1388
|
+
"经验库周整理": "Weekly Lesson Library Cleanup",
|
|
1389
|
+
"每周一自动整理经验库:合并重复教训、按主题归纳、标记疑似过时的条目,产出精简整理报告(不直接改写原文件)。": "Every Monday, tidies the lesson library: merges duplicates, groups by theme, flags likely-stale entries, and produces a compact report (never rewrites the original files).",
|
|
1390
|
+
"依赖与安全扫描": "Dependency & Security Scan",
|
|
1391
|
+
"每周五自动对项目做一次只读的依赖与安全巡检:清点直接依赖、排查敏感文件与明文密钥风险,给出升级整改建议。": "Every Friday, a read-only dependency & security inspection: inventory direct dependencies, scan for sensitive files and plaintext secrets, and suggest upgrades/remediation.",
|
|
1392
|
+
"ChatGPT 官方编程智能体;本机走自定义 provider(gpt-5.5)": "OpenAI's official coding agent; on this machine it uses a custom provider (gpt-5.5)",
|
|
1393
|
+
"Anthropic 官方 CLI;无头调用自动注入 Git Bash 路径与输出上限": "Anthropic's official CLI; headless calls auto-inject the Git Bash path and output cap",
|
|
1394
|
+
"无头模式:opencode run(stdin 传入提示词)": "Headless mode: opencode run (prompt via stdin)",
|
|
1395
|
+
"通义千问编码 CLI(gemini-cli 系);无头走 stdin;绑定凭据经打开注入写 settings.json 的 env 段(OPENAI_*,qwen 存在即优先 openai 兼容通道)": "Qwen coding CLI (gemini-cli family); headless via stdin; bound credentials are injected at launch into the env section of settings.json (OPENAI_* — prefers the openai-compatible channel when present)",
|
|
1396
|
+
"Python 系结对编程 CLI;用 py -3.13 安装,模型经其配置/环境变量设置": "Python pairing CLI; install with py -3.13, model set via its config/env",
|
|
1397
|
+
"xAI 终端编码智能体;可执行名是 grok(不是 grok-build);默认模型在 ~/.grok/config.toml 的 [models] default(JSON 版配置不存在)": "xAI terminal coding agent; the executable is grok (not grok-build); the default model goes to [models] default in ~/.grok/config.toml (no JSON config variant)",
|
|
1398
|
+
"Earendil Works 的 Pi 编码 CLI(需 Node ≥22.19);包名必须带 @earendil-works/ 前缀": "Earendil Works' Pi coding CLI (needs Node ≥22.19); package name must carry the @earendil-works/ prefix",
|
|
1399
|
+
"DeepSeek 官方 agent harness(dsh,profile 插件架构);无头是「一次性任务」——答完即退": "DeepSeek's official agent harness (dsh, profile-plugin architecture); headless is one-shot — it answers and exits",
|
|
1400
|
+
"小米 MiMo Code(opencode 衍生);无头调用是子命令 mimo run \"提示词\",-p 在该 CLI 是 --password": "Xiaomi MiMo Code (OpenCode derivative); headless is the subcommand mimo run \"prompt\" — -p means --password on this CLI",
|
|
1401
|
+
"月之暗面 Kimi 编码 CLI(TypeScript 版,需 Node ≥22.19);旧 Python 版 kimi-cli 正在下线": "Moonshot's Kimi coding CLI (TypeScript, needs Node ≥22.19); the old Python kimi-cli is being retired",
|
|
1402
|
+
"网关型个人 AI 智能体(原 Clawdbot);编排模板装好后需验证": "Gateway-style personal AI agent (formerly Clawdbot); verify after installing orchestration templates",
|
|
1403
|
+
"本地库(Claude / Claude Desktop / Codex / Gemini / OpenClaw)": "Local hub (Claude / Claude Desktop / Codex / Gemini / OpenClaw)",
|
|
1404
|
+
"~/.claude/settings.json 的 env 供应商": "env providers in ~/.claude/settings.json",
|
|
1405
|
+
"~/.codex/config.toml + auth.json(含多 model_providers)": "~/.codex/config.toml + auth.json (multi model_providers)",
|
|
1406
|
+
"~/.zcode/v2/config.json 的 provider 表": "provider table in ~/.zcode/v2/config.json",
|
|
1407
|
+
"~/.qwen/settings.json 的 modelProviders": "modelProviders in ~/.qwen/settings.json",
|
|
1408
|
+
"~/.gemini 的 .env / settings.json": "~/.gemini .env / settings.json",
|
|
1409
|
+
"~/.config/opencode/opencode.json 的 provider 表": "provider table in ~/.config/opencode/opencode.json",
|
|
1410
|
+
"~/.continue/config.yaml 的 models": "models in ~/.continue/config.yaml",
|
|
1411
|
+
"Cursor 的 cursorAuth/openAIKey + 自定义 Base URL": "Cursor's cursorAuth/openAIKey + custom base URL",
|
|
1412
|
+
"Trae / Trae SOLO 中自定义模型的 Base URL + AK": "custom model Base URL + AK in Trae / Trae SOLO",
|
|
1413
|
+
"~/.dsh/settings.yaml 的 llm-deepseek(密钥走 ~/.dsh/.env)": "llm-deepseek in ~/.dsh/settings.yaml (key in ~/.dsh/.env)",
|
|
1414
|
+
"未找到 DEEPSEEK_API_KEY(dsh 把密钥放在 ~/.dsh/.env 或环境变量),导入后请在编辑里补填": "DEEPSEEK_API_KEY not found (dsh keeps it in ~/.dsh/.env or env vars) — fill it in via Edit after import",
|
|
1415
|
+
"配置里没有带 apiBase 的模型条目": "No model entries with apiBase in the config",
|
|
1416
|
+
"要打开即用请在「CLI 绑定」页启用": "To make it launch-ready, enable it on the \"CLI Bindings\" page",
|
|
1417
|
+
"要打开即用请在「CLI 绑定」页换绑可注入协议的供应商": "To make it launch-ready, rebind to an injectable-protocol provider on the \"CLI Bindings\" page",
|
|
1418
|
+
"未绑定供应商:打开后需在其自带界面登录;要打开即用请到「CLI 绑定」页绑定": "No provider bound: sign in via its own UI after launch; to make it launch-ready, bind one on the \"CLI Bindings\" page",
|
|
1419
|
+
"开发仓库模式:请用 git pull 更新(自动升级会覆盖未提交的代码)": "Dev repo mode: update with git pull (auto-upgrade would overwrite uncommitted code)",
|
|
1420
|
+
"非 npm 安装,无法自动更新": "Not an npm install — can't auto-update",
|
|
1421
|
+
"无法比较版本(本地或 registry 版本号缺失)": "Can't compare versions (local or registry version missing)",
|
|
1422
|
+
"作品信息": "Book Info",
|
|
1423
|
+
"番茄": "Fanqie",
|
|
1424
|
+
"七猫": "Qimao",
|
|
1425
|
+
"作品信息(%s)": "Book Info (%s)",
|
|
1426
|
+
"按发布平台生成建书表单资料,逐字段复制过去": "Generate book-signup form data per platform, then copy field by field",
|
|
1427
|
+
"章节已就绪,创建作品还差开书资料。点平台按钮一键生成(书名/简介/标签/主角名),生成后逐字段复制进建书表单。": "Chapters are ready — what's missing is the signup data. Click a platform button to generate (title/synopsis/tags/protagonists) in one go, then copy each field into the signup form.",
|
|
1428
|
+
"章节已就绪,创建作品还差开书资料": "Chapters are ready — what's missing is the signup data",
|
|
1429
|
+
"点平台卡片上的「生成」按钮,一键产出书名/简介/标签/主角名等建书资料,生成后逐字段复制进建书表单。": "Click “Generate” on a platform card to produce the signup data (title/synopsis/tags/protagonists) in one go, then copy each field into the signup form.",
|
|
1430
|
+
"任务运行中,生成将在本轮结束后可用": "Task is running — generation unlocks after this round finishes",
|
|
1431
|
+
"已生成": "Generated",
|
|
1432
|
+
"生成中": "Generating",
|
|
1433
|
+
"尚未生成": "Not generated yet",
|
|
1434
|
+
"生成中…": "Generating…",
|
|
1435
|
+
"生成": "Generate",
|
|
1436
|
+
"重新生成": "Regenerate",
|
|
1437
|
+
"重新生成会覆盖现有内容": "Regenerating overwrites the existing content",
|
|
1438
|
+
"生成失败": "Generation failed",
|
|
1439
|
+
"已开始生成,完成后这里会自动更新": "Generation started — this panel updates automatically when done",
|
|
1440
|
+
"来源:": "Source: ",
|
|
1441
|
+
"(待补充)": "(to fill)",
|
|
1442
|
+
"作品名": "Book Name",
|
|
1443
|
+
"作品名称": "Book Title",
|
|
1444
|
+
"签约模式": "Signing Mode",
|
|
1445
|
+
"目标读者": "Target Readers",
|
|
1446
|
+
"阅读标签": "Reading Tags",
|
|
1447
|
+
"内容标签": "Content Tags",
|
|
1448
|
+
"一级分类": "Category",
|
|
1449
|
+
"二级分类": "Subcategory",
|
|
1450
|
+
"作品标签": "Tags",
|
|
1451
|
+
"主角名1": "Protagonist 1",
|
|
1452
|
+
"主角名2": "Protagonist 2",
|
|
1453
|
+
"作品状态": "Status",
|
|
1454
|
+
"作品简介": "Synopsis",
|
|
1455
|
+
"Git 工作台": "Git Workbench",
|
|
1456
|
+
"Git": "Git",
|
|
1457
|
+
"本地分支": "Local branches",
|
|
1458
|
+
"远程分支": "Remote branches",
|
|
1459
|
+
"(游离 HEAD)": "(detached HEAD)",
|
|
1460
|
+
"切换分支": "Switch branch",
|
|
1461
|
+
"抓取": "Fetch",
|
|
1462
|
+
"拉取": "Pull",
|
|
1463
|
+
"推送": "Push",
|
|
1464
|
+
"全部暂存": "Stage all",
|
|
1465
|
+
"收起改动": "Stash",
|
|
1466
|
+
"把未提交改动收进 stash(不含 _attachments)": "Stash uncommitted changes (excluding _attachments)",
|
|
1467
|
+
"暂存的变更": "Staged changes",
|
|
1468
|
+
"变更(未暂存)": "Changes",
|
|
1469
|
+
"未跟踪": "Untracked",
|
|
1470
|
+
"暂存": "Stage",
|
|
1471
|
+
"取消暂存": "Unstage",
|
|
1472
|
+
"丢弃改动": "Discard changes",
|
|
1473
|
+
"删除文件": "Delete file",
|
|
1474
|
+
"暂存区为空": "Nothing staged",
|
|
1475
|
+
"没有未暂存的改动": "No unstaged changes",
|
|
1476
|
+
"没有未跟踪文件": "No untracked files",
|
|
1477
|
+
"点击查看该文件的变更内容": "Click to view this file's changes",
|
|
1478
|
+
"提交信息(提交暂存区里的文件)": "Commit message (commits the staged files)",
|
|
1479
|
+
"提交": "Commit",
|
|
1480
|
+
"请先填写提交信息": "Please write a commit message first",
|
|
1481
|
+
"已提交 ": "Committed ",
|
|
1482
|
+
" 个文件 → ": " file(s) → ",
|
|
1483
|
+
"已暂存全部变更": "All changes staged",
|
|
1484
|
+
"未提交改动已收进 stash": "Uncommitted changes stashed",
|
|
1485
|
+
"还原": "Restore",
|
|
1486
|
+
"已还原 stash 改动": "Stashed changes restored",
|
|
1487
|
+
"删除这条 stash?收起的改动将永久丢弃。": "Delete this stash? The stashed changes will be lost forever.",
|
|
1488
|
+
"已切换到 ": "Switched to ",
|
|
1489
|
+
"已抓取远程更新": "Fetched from remote",
|
|
1490
|
+
"已拉取远程更新": "Pulled from remote",
|
|
1491
|
+
"已推送到远程": "Pushed to remote",
|
|
1492
|
+
"任务运行中:Git 写操作暂停(只读查看)。": "Task is running: Git write operations are paused (read-only view).",
|
|
1493
|
+
"该文件当前没有未提交的变更。": "This file currently has no uncommitted changes.",
|
|
1494
|
+
"丢弃该文件的全部未提交改动?此操作不可恢复。": "Discard all uncommitted changes of this file? This cannot be undone.",
|
|
1495
|
+
"删除这个未跟踪文件?此操作不可恢复。": "Delete this untracked file? This cannot be undone.",
|
|
1496
|
+
"任务分支": "Task branch",
|
|
1497
|
+
"已配置代码版本隔离,但任务分支尚未创建(检出失败见运行错误)。": "Code-version isolation is configured, but the task branch has not been created yet (see run error if checkout failed).",
|
|
1498
|
+
"藏青底色 + 天蓝强调,夜间长时间盯任务更沉静(默认)": "Navy base + sky-blue accent; calmer for long night sessions (default)",
|
|
1499
|
+
"黑白灰 + 蓝色强调,ChatGPT 式清爽配色": "Black/white/gray + blue accent — the clean ChatGPT-style palette",
|
|
1500
|
+
"周报晨报生成器守则": "Weekly/Morning Report Generator Rules",
|
|
1501
|
+
"提交信息规范 / 分支模型 / 危险操作红线 / 冲突与回滚 / 提交前自检清单": "Commit message conventions / branch model / risky-op red lines / conflict & rollback / pre-commit checklist",
|
|
1502
|
+
"提测/评审前的风险过单:边界与异常 / 资源与并发 / 安全 / 兼容与回退": "Pre-review risk triage: boundary & exceptions / resources & concurrency / security / compatibility & rollback",
|
|
1503
|
+
"面向用户的更新公告:固定六段结构 / 写作纪律 / 破坏性变更三要素 / 可复制模板与反例": "User-facing release notes: fixed six-section structure / writing discipline / three elements of breaking changes / copyable template with counter-examples",
|
|
1504
|
+
"从任务与运行记录生成汇报:先取材再总结 / 晨报三段 / 周报四段 / 量化纪律与模板": "Build reports from tasks & runs: gather-then-summarize / three morning sections / four weekly sections / quantified discipline & templates",
|
|
1505
|
+
"角色档案模板(欲望/恐惧/语言指纹)+ 四拍弧光规划 + 连载防崩人设纪律与自检": "Character sheet template (desire/fear/language fingerprint) + four-beat arc planning + anti-OOC discipline & self-checks for serials",
|
|
1506
|
+
"设定台账五件套 / 设定变更三步流程 / 高频吃书场景 / 章前查章后记闭环": "Five-part setting ledger / three-step change process / high-frequency canon-break scenarios / pre-chapter & post-chapter check loop",
|
|
1507
|
+
"(历史未记录)": "(not recorded — legacy runs)",
|
|
1508
|
+
"(默认)": "(default)",
|
|
1509
|
+
"服务重启中断,可重试": "Interrupted by service restart — retry to resume",
|
|
1510
|
+
"编排者": "Orchestrator",
|
|
1511
|
+
"跳过 {0} 条(缺地址或格式不识别):{1}": "Skipped {0} entries (missing URL or unrecognized format): {1}",
|
|
1512
|
+
"跳过 {0} 个(缺合法 baseURL):{1}": "Skipped {0} (invalid baseURL): {1}",
|
|
1513
|
+
"settings.json 里的 ANTHROPIC_BASE_URL 不是 http/https": "ANTHROPIC_BASE_URL in settings.json is not http/https",
|
|
1514
|
+
"settings.json 的 env 未配置 ANTHROPIC_BASE_URL": "env in settings.json has no ANTHROPIC_BASE_URL",
|
|
1515
|
+
"config.toml 未配置第三方 model_providers(且 auth.json 无 OPENAI_API_KEY)": "config.toml has no third-party model_providers (and auth.json has no OPENAI_API_KEY)",
|
|
1516
|
+
"settings.json 的 modelProviders 为空": "modelProviders in settings.json is empty",
|
|
1517
|
+
"未在 .env 找到 GEMINI_API_KEY / GOOGLE_GEMINI_BASE_URL": "GEMINI_API_KEY / GOOGLE_GEMINI_BASE_URL not found in .env",
|
|
1518
|
+
"opencode.json 的 provider 为空": "provider list in opencode.json is empty",
|
|
1519
|
+
"Cursor 未自定义 API Key / Base URL(官方订阅无本地凭证可导入)": "Cursor has no custom API key / base URL (official subscription has no local credentials to import)",
|
|
1520
|
+
"Trae 未添加自定义模型(预置模型的 AK / BaseURL 为空,无凭证可导入)": "Trae has no custom models (built-in models have empty AK / BaseURL — nothing to import)",
|
|
1521
|
+
"settings.yaml 未配置 llm-deepseek.baseURL": "llm-deepseek.baseURL not set in settings.yaml",
|
|
1522
|
+
"通义千问编码 CLI(gemini-cli 系);无头走 stdin": "Qwen coding CLI (gemini-cli family); headless via stdin",
|
|
1523
|
+
"DeepSeek 官方 agent harness(dsh,profile 插件架构);无头是「一次性任务」——答完即退、无交互后续、不支持会话恢复;任务只走位置参数(超长提示词受 Windows 命令行上限约 32k 约束);模型写进 ~/.dsh/settings.yaml 的 agent-default-model.model;密钥由「CLI 绑定」注入 DEEPSEEK_API_KEY(优先级最高);端点注入 DEEPSEEK_BASE_URL,但若 settings.yaml 已固定 llm-deepseek.baseURL,则以它为准(settings 高于 env)": "DeepSeek's official agent harness (dsh, profile-plugin architecture); headless is one-shot — it answers and exits, no interactive follow-up or session resume; tasks pass via positional args (very long prompts cap at Windows' ~32k command-line limit); the model goes to agent-default-model.model in ~/.dsh/settings.yaml; the \"CLI Bindings\" page injects DEEPSEEK_API_KEY (highest priority); it injects DEEPSEEK_BASE_URL, but if settings.yaml already pins llm-deepseek.baseURL that wins (settings over env)",
|
|
1524
|
+
"三轮失败升级": "Escalate after three failed rounds",
|
|
1525
|
+
"人物 维度反复不达标": "Characters dimension repeatedly below threshold",
|
|
1526
|
+
"情节 维度反复不达标": "Plot dimension repeatedly below threshold",
|
|
1527
|
+
"文笔 维度反复不达标": "Prose dimension repeatedly below threshold",
|
|
1528
|
+
"信息与证据必须有来源": "Info & evidence must have sources",
|
|
1529
|
+
"修复不重复空转": "No blind repair loops",
|
|
1530
|
+
"修复前本地复跑": "Reproduce locally before fixing",
|
|
1531
|
+
"修复绑定失败证据": "Capture evidence on bind failure",
|
|
1532
|
+
"关键爽点须预埋伏笔": "Key payoffs need planted setup",
|
|
1533
|
+
"函数任务缺验收项": "Function tasks lack acceptance items",
|
|
1534
|
+
"切换前保留失败诊断": "Keep failure diagnostics before switching",
|
|
1535
|
+
"加函数校验完整性": "Verify completeness when adding functions",
|
|
1536
|
+
"加函数类任务开工前补齐函数名、参数、返回值、错误处理和验收测试;信息不足时先向用户确认,避免按猜测实现导致verify不通过。": "Before starting add-a-function tasks, nail down the function name, params, return value, error handling and acceptance tests; confirm with the user when info is missing — guessing leads to verify failures.",
|
|
1537
|
+
"多轮修复未变要停": "Stop when fixes change nothing",
|
|
1538
|
+
"开篇信息密度不足": "Opening lacks information density",
|
|
1539
|
+
"开篇说明拖节奏": "Expository opening drags pacing",
|
|
1540
|
+
"打脸必须反派在场": "Payback needs the villain on stage",
|
|
1541
|
+
"打脸须反派在场": "Payback requires the villain present",
|
|
1542
|
+
"无问题不盲信": "Don't trust an empty review",
|
|
1543
|
+
"明确接口验收": "Explicit interface acceptance",
|
|
1544
|
+
"爽点须配新阻力": "Every payoff needs fresh resistance",
|
|
1545
|
+
"环境缺陷误判代码": "Environment issues misread as code bugs",
|
|
1546
|
+
"目标不可执行先澄清": "Clarify unactionable goals first",
|
|
1547
|
+
"禁静态倒叙承接章": "No static flashback bridge chapters",
|
|
1548
|
+
"空评审不可信": "Empty reviews are untrustworthy",
|
|
1549
|
+
"章末钩子防自答": "Chapter-end hooks must not self-answer",
|
|
1550
|
+
"章节开篇钩子滞后": "Chapter opening hook arrives late",
|
|
1551
|
+
"章首钩子不足": "Weak chapter-opening hook",
|
|
1552
|
+
"胜利只给七分": "Wins cap at seventy percent",
|
|
1553
|
+
"评审不能替代验证": "Review cannot replace verification",
|
|
1554
|
+
"评审与验证脱节": "Review and verification disconnected",
|
|
1555
|
+
"重复修复未定位": "Repeated fixes without root cause",
|
|
1556
|
+
"隐瞒须硬动机": "Concealment needs hard motives",
|
|
1557
|
+
"验收以verify为准": "verify is the acceptance bar",
|
|
1558
|
+
"验收口径显式化": "Make acceptance criteria explicit",
|
|
1559
|
+
"验证不通过不得通过": "Failed verification blocks acceptance",
|
|
1560
|
+
"验证失败先修复": "Fix before re-review on verify failure",
|
|
1561
|
+
"验证失败先归因": "Attribute verify failures first",
|
|
1562
|
+
"验证失败无问题清单": "Verify failure with no issue list",
|
|
1563
|
+
"验证未过先定位": "Locate before retry on verify failure",
|
|
1564
|
+
"验评不一致": "Verification-review mismatch",
|
|
1565
|
+
"决定性反转所依赖的条款、道具、关系,必须在更早章节落笔可见(至少一句具体描写),不能事后亮牌+主角自答带过;写大纲时为每个大爽点标注伏笔埋设,交稿前自查越度。": "Every clause, prop or relationship a decisive reversal relies on must appear concretely in earlier chapters (at least one specific description) — no last-minute reveals plus protagonist self-answering; tag the setup for each big payoff in the outline and self-check before delivery.",
|
|
1566
|
+
"下次每章正文前100字内必须出现新信息、冲突、悬念或目标;写作前先定章首钩子句,验收时检查读者是否能立即知道为何继续读。": "From now on, the first 100 characters of each chapter must surface new information, conflict, suspense or a goal; fix the chapter-opening hook line before drafting, and at acceptance check whether a reader can immediately tell why to keep reading.",
|
|
1567
|
+
"埋钩前先做谜面查重:读者能否用前文已有信息直接推出答案?能推出就换谜。优先立反常巧合、隐藏动机类真谜,并对钩子与已写情节做一次因果矛盾排查。": "Before planting a hook, check the riddle against what readers already know: can they deduce the answer from earlier text? If yes, change the riddle. Favor true mysteries built on strange coincidences and hidden motives, and run a cause-effect consistency check between the hook and what's already written.",
|
|
1568
|
+
"反击、收官章禁一路顺风:每章至少一个本章内生的新麻烦,胜利只给七分(留质疑、流程延迟或对手反扑),章末必再起一波;禁靠前文积累的情绪撑本章爆点。": "No smooth sailing in payback or finale chapters: each chapter needs at least one trouble born inside it, wins cap at seventy percent (leave doubt, procedural delay, or a counterattack), and a fresh wave must rise before the chapter ends. Never ride emotions accumulated in earlier chapters to carry this chapter's climax.",
|
|
1569
|
+
"爽点依赖反派崩溃时,反派须正面出场给反应:台词、失态、挣扎等细节,不能只靠时间戳或旁人转述暗示;递证据、报进度类功能角色也要注入个人情绪与立场,防工具人化。": "When a payoff depends on the villain breaking, the villain must be on stage reacting — dialogue, composure cracking, struggle — never implied via timestamps or secondhand reports. Functional characters who deliver evidence or progress reports also need personal emotions and stakes to avoid feeling like tools.",
|
|
1570
|
+
"角色手握可自证的证据却长期隐瞒时,必须先设定硬理由(如亮出会打草惊蛇、毁掉更大布局、付具体代价),并在隐瞒期间写其挣扎与伏笔;否则读者判降智,感情线信任基础崩塌。": "When a character holds self-exonerating evidence but conceals it long-term, establish a hard reason first (revealing it alerts the enemy, wrecks a bigger plan, costs something concrete), and write their struggle plus foreshadowing during the concealment — otherwise readers judge it as idiocy and the emotional trust collapses.",
|
|
1571
|
+
"review 通过但 verify_pass=false 时,先复现验收命令并读取失败输出,按失败点修复;不得以代码评审通过替代验证通过。": "When review passes but verify_pass=false, reproduce the acceptance command and read the failure output first; fix along the failure points. A passing code review never substitutes for passing verification.",
|
|
1572
|
+
"为新增函数补最小可运行测试,至少覆盖正常调用和边界;若无测试入口,先增加验证脚本,保证验证器能执行目标函数。": "Add a minimal runnable test for every new function, covering at least normal calls and boundaries; if there is no test entry, add a verification script first so the verifier can actually execute the target function.",
|
|
1573
|
+
"同一 verify 结果连续失败两轮后,停止盲改,检查函数签名、调用路径、依赖、退出码和测试覆盖,确认验证器真的运行了目标代码。": "After the same verify result fails twice in a row, stop blind patching — check the function signature, call path, dependencies, exit code and test coverage, and confirm the verifier really ran the target code.",
|
|
1574
|
+
"实现前明确函数名、参数、返回值和调用方式,并让评审与验证脚本使用同一口径;避免“只加函数”目标下验收标准不可判定。": "Before implementing, pin down the function name, params, return value and call convention, and make review and the verification script use the same yardstick — otherwise acceptance for an \"add a function\" goal is undecidable.",
|
|
1575
|
+
"新增函数后必须先运行最小单测或调用验证并确认通过;若 verify_pass=false,停止继续评审或返工,优先定位失败命令、输入输出和断言,修复实现后再提交验收。": "After adding a function, run the minimal unit test or call check first and confirm it passes; if verify_pass=false, stop further review or rework — locate the failing command, inputs/outputs and assertions, fix the implementation, then submit for acceptance.",
|
|
1576
|
+
"验证失败且问题列表为空时,评审必须补出复现命令、失败用例、函数签名和期望返回,否则不得继续修复。": "When verification fails with an empty issue list, review must produce the reproduce command, failing case, function signature and expected return — otherwise no further fixing.",
|
|
1577
|
+
"每轮修复须记录修改点、预期断言变化、错误输出差异;同一失败连续两轮未定位,就停止并要人工日志。": "Each fix round must record what changed, the expected assertion delta, and the error-output diff; if the same failure goes undiagnosed for two consecutive rounds, stop and request human logs.",
|
|
1578
|
+
"加函数任务先确认是否要求单测、导出路径、类型注解、异常和边界输入,并转成自动验收项。": "For add-a-function tasks, first confirm whether unit tests, export paths, type annotations, exceptions and boundary inputs are required, and turn them into automatic acceptance items.",
|
|
1579
|
+
"评审通过不能覆盖验证失败;验收以验证为准,高分评审必须解释不影响验证,否则按缺漏处理。": "A passing review never overrides a failed verification; acceptance follows verification. A high-scoring review must explain why it doesn't affect verification, or it counts as a gap.",
|
|
1580
|
+
"先区分代码缺陷与测试环境:检查依赖、入口、配置、断言版本;环境问题应标记阻塞并补环境,不反复改代码。": "First separate code defects from the test environment: check dependencies, entry points, configuration and assertion versions. Mark environment issues as blocked and fix the environment — don't keep changing code.",
|
|
1581
|
+
"code任务以verify为验收硬门槛;review_pass、高分数不能替代通过。连续两轮verify失败时停止打补丁,转查测试命令、环境、依赖和断言。": "For code tasks, verify is the hard acceptance gate; review_pass and high scores never substitute for passing. After two consecutive verify failures, stop patching and investigate the test command, environment, dependencies and assertions.",
|
|
1582
|
+
"verify失败但issues为空时,先复现并记录退出码、报错栈、失败断言与期望值;确认根因是代码、测试配置还是环境,再决定是否修改产物。": "When verify fails with an empty issue list, reproduce and record the exit code, error stack, failing assertion and expected value first; decide whether to touch the deliverable only after confirming the root cause is code, test config, or environment.",
|
|
1583
|
+
"当评审无问题但验证失败,评审结果需标记为不可信;要求评审必须引用失败用例或明确无法判定,否则重新评审或人工定位验证输出。": "When review finds no issues but verification fails, mark the review as untrustworthy; require the review to cite the failing case or explicitly state it can't judge — otherwise re-review or have a human read the verification output.",
|
|
1584
|
+
"每轮修复前先本地跑verify或等价最小测试,确保失败原因已变化;若同一断言连续两轮未改善,不再增量修复,改为重新设计实现或接口。": "Before each fix round, run verify or an equivalent minimal test locally to confirm the failure cause has changed; if the same assertion hasn't improved for two rounds, stop incremental fixes and redesign the implementation or interface.",
|
|
1585
|
+
"代码任务目标过短或含混时,先补全输入、约束和验收标准;未澄清不得进入编码,避免产出无法验证。": "When a code task's goal is too short or vague, complete the inputs, constraints and acceptance criteria first; no coding before clarification, or the output can't be verified.",
|
|
1586
|
+
"即使评审通过或分数高,只要 verify_pass=false 就判未通过;修复后必须提交新的验证日志与失败归因。": "Even with a passing or high-scoring review, verify_pass=false means not accepted; after fixing, submit fresh verification logs and failure attribution.",
|
|
1587
|
+
"同一验证失败连续2轮未消除时,停止盲改,切换排查环境、测试夹具、依赖版本或验收命令;记录最小复现。": "When the same verification failure survives two consecutive rounds, stop blind changes and switch to investigating the environment, test fixtures, dependency versions or the acceptance command; record a minimal reproduction.",
|
|
1588
|
+
"触发 switch 前保存最后一次验证输出、改动差异和疑似原因;下次同类任务优先核对失败分类。": "Before triggering a switch, save the last verification output, the change diff and suspected causes; on the next similar task, check failure classifications first.",
|
|
1589
|
+
"修复循环若出现 review_pass 高且 verify_pass 连续失败,停止同策略自动修复,转人工分析验收命令、断言和失败日志后再提交。": "In a fix loop where review_pass stays high while verify_pass keeps failing, stop same-strategy auto-fixes — have a human analyze the acceptance command, assertions and failure logs before resubmitting.",
|
|
1590
|
+
"评审 issues 为空但整体 pass=false 时,以验收硬失败为唯一可信问题;提交前必须重跑 verify,并记录失败证据与根因。": "When review issues are empty but overall pass=false, treat the hard verification failure as the only trustworthy problem; rerun verify before submitting and record the failure evidence and root cause.",
|
|
1591
|
+
"设定、人物、环境信息不要铺在章首;先写事件异常或行动压力,必要背景压到钩子之后分散交代,避免开篇高密度不足导致过稿不稳。": "Don't dump setting, character and world info at the chapter top; open with an anomalous event or action pressure, and fold necessary background in after the hook — insufficient opening density destabilizes acceptance.",
|
|
1592
|
+
"每章第一屏必须抛出未解决冲突或新悬念;禁止以背景、情绪、日常铺垫开场。写完后检查前150字内是否有目标、威胁或选择,若没有就前置事件。": "Each chapter's first screen must raise an unresolved conflict or fresh suspense; no opening with background, mood or daily-life padding. After drafting, check the first 150 characters for a goal, threat or choice — if absent, move the event up.",
|
|
1593
|
+
"连载章节开头至少同时提供三类新信息:本章目标、主要障碍、失败代价;若只有状态说明,删减铺垫,把具体冲突事件提前到第一段。": "A serial chapter's opening must deliver at least three kinds of new information at once: this chapter's goal, the main obstacle, and the cost of failure. If it's only status description, cut the padding and move the concrete conflict into the first paragraph.",
|
|
1594
|
+
"凡主角获取越权信息或关键证据(系统记录、录音、账目),必须当章或前文落实来源链(人脉、留底、委托调查),并让角色当场追问来源可信度;禁止匿名包裹、无人认领的U盘式天降证据。": "Whenever the protagonist obtains privileged information or key evidence (system records, recordings, ledgers), the source chain (contacts, paper trails, commissioned investigation) must be established in the same or an earlier chapter, and characters must question the source's reliability on the spot — no anonymous packages or nobody's-USB-stick sky-dropped evidence.",
|
|
1595
|
+
"关键爽点须预埋伏笔:在更早章节用具体物件、台词或场景完成铺垫(至少一次具体露出),不能临章现编;大纲阶段标注每个爽点的伏笔位置与回收章。": "Key payoffs need pre-planted setup: plant them via concrete objects, lines or scenes in earlier chapters (at least one specific appearance), never improvised in the payoff chapter; mark each payoff's setup location and payoff chapter in the outline stage.",
|
|
1596
|
+
"反击/打脸章节反派必须正面出场,写出其台词、失态、心理挣扎与代价;禁止只靠助理掉烟、旁人反应等旁证收尾。若该章反派客观无法出场,须在前一章给出其实时反应。": "In payback/face-slap chapters the villain must appear in person — write their dialogue, composure cracking, inner struggle and the price they pay; never close on sidelong evidence like an assistant dropping a cigarette or bystanders' reactions. If the villain objectively cannot appear that chapter, give their real-time reaction in the previous one.",
|
|
1597
|
+
"同类加函数任务,只要verify_pass=false即不得因review_pass=true或高分判定通过;必须将verify结果作为最终验收依据。": "For add-a-function tasks of the same kind, verify_pass=false blocks acceptance regardless of review_pass or high scores; the verify result is the final acceptance basis.",
|
|
1598
|
+
"若verify连续2-3轮失败且无新证据,停止盲修,切换策略:要求补充测试/验收标准,或人工确认运行环境与函数入口。": "If verify fails 2–3 rounds in a row with no new evidence, stop blind fixes and change strategy: request additional tests/acceptance criteria, or have a human confirm the runtime environment and function entry.",
|
|
1599
|
+
"新增函数后本地跑编译/静态检查/单测,确认函数被导出、类型签名匹配、错误路径和返回值可被调用,再进入verify。": "After adding a function, run compilation/static checks/unit tests locally to confirm the function is exported, type signatures match, and error paths and return values are callable — only then enter verify.",
|
|
1600
|
+
"每轮修复前先抓取verify日志/断言栈,明确期望签名、输入输出和依赖;无证据不改代码,禁止仅凭评审分数重复提交。": "Before each fix round, capture the verify log/assertion stack and clarify the expected signature, inputs/outputs and dependencies; no code changes without evidence, and never resubmit on review scores alone.",
|
|
1601
|
+
"多轮修复未变要停:同一 verify 结果连续失败两轮后,停止盲改,检查函数签名、调用路径、依赖、退出码和测试覆盖,确认验证器真的运行了目标代码。": "Stop when fixes change nothing: after the same verify result fails twice in a row, stop blind patching — check the function signature, call path, dependencies, exit code and test coverage, and confirm the verifier really ran the target code.",
|
|
1602
|
+
"新增函数补用例:为新增函数补最小可运行测试,至少覆盖正常调用和边界;若无测试入口,先增加验证脚本,保证验证器能执行目标函数。": "Add tests for new functions: add a minimal runnable test covering at least normal calls and boundaries; if there is no test entry, add a verification script first so the verifier can actually execute the target function.",
|
|
1603
|
+
"修复不重复空转:同一 verify 结果连续失败两轮后,停止盲改,检查函数签名、调用路径、依赖、退出码和测试覆盖,确认验证器真的运行了目标代码。": "No idle repair loops: after the same verify result fails twice in a row, stop blind patching — check the function signature, call path, dependencies, exit code and test coverage, and confirm the verifier really ran the target code.",
|
|
1604
|
+
"切换前保留失败诊断:触发 switch 前保存最后一次验证输出、改动差异和疑似原因;下次同类任务优先核对失败分类。": "Keep failure diagnostics before switching: before triggering a switch, save the last verification output, the change diff and suspected causes; on the next similar task, check failure classifications first.",
|
|
1605
|
+
"修复绑定失败证据:触发 switch 前保存最后一次验证输出、改动差异和疑似原因;下次同类任务优先核对失败分类。": "Capture bind-failure evidence: before triggering a switch, save the last verification output, the change diff and suspected causes; on the next similar task, check failure classifications first.",
|
|
1606
|
+
"修复前本地复跑:每轮修复前先本地跑verify或等价最小测试,确保失败原因已变化;若同一断言连续两轮未改善,不再增量修复,改为重新设计实现或接口。": "Reproduce locally before fixing: before each fix round, run verify or an equivalent minimal test locally to confirm the failure cause has changed; if the same assertion hasn't improved for two rounds, stop incremental fixes and redesign the implementation or interface.",
|
|
1607
|
+
"明确接口验收:实现前明确函数名、参数、返回值和调用方式,并让评审与验证脚本使用同一口径;避免“只加函数”目标下验收标准不可判定。": "Explicit interface acceptance: before implementing, pin down the function name, params, return value and call convention, and make review and the verification script use the same yardstick — otherwise acceptance for an \"add a function\" goal is undecidable.",
|
|
1608
|
+
"信息与证据必须有来源:凡主角获取越权信息或关键证据(系统记录、录音、账目),必须当章或前文落实来源链(人脉、留底、委托调查),并让角色当场追问来源可信度;禁止匿名包裹、无人认领的U盘式天降证据。": "Info and evidence must have sources: whenever the protagonist obtains privileged information or key evidence (system records, recordings, ledgers), the source chain must be established in the same or an earlier chapter, and characters must question its reliability on the spot — no sky-dropped evidence.",
|
|
1609
|
+
"验证失败先归因:verify失败但issues为空时,先复现并记录退出码、报错栈、失败断言与期望值;确认根因是代码、测试配置还是环境,再决定是否修改产物。": "Attribute verify failures first: when verify fails with an empty issue list, reproduce and record the exit code, error stack, failing assertion and expected value; decide whether to touch the deliverable only after confirming the root cause.",
|
|
1610
|
+
"评审不能替代验证:code任务以verify为验收硬门槛;review_pass、高分数不能替代通过。连续两轮verify失败时停止打补丁,转查测试命令、环境、依赖和断言。": "Review cannot replace verification: for code tasks verify is the hard acceptance gate; review_pass and high scores never substitute for passing. After two consecutive verify failures, stop patching and investigate the test command, environment, dependencies and assertions.",
|
|
1611
|
+
"环境缺陷误判代码:先区分代码缺陷与测试环境:检查依赖、入口、配置、断言版本;环境问题应标记阻塞并补环境,不反复改代码。": "Environment issues misread as code bugs: separate code defects from the test environment — check dependencies, entry points, configuration and assertion versions; mark environment issues as blocked and fix the environment.",
|
|
1612
|
+
"目标不可执行先澄清:代码任务目标过短或含混时,先补全输入、约束和验收标准;未澄清不得进入编码,避免产出无法验证。": "Clarify unactionable goals first: when a code task's goal is too short or vague, complete the inputs, constraints and acceptance criteria first; no coding before clarification.",
|
|
1613
|
+
"验证不通过不得通过:即使评审通过或分数高,只要 verify_pass=false 就判未通过;修复后必须提交新的验证日志与失败归因。": "Failed verification blocks acceptance: even with a passing or high-scoring review, verify_pass=false means not accepted; after fixing, submit fresh verification logs and failure attribution.",
|
|
1614
|
+
"多轮修复未变要停:同一验证失败连续2轮未消除时,停止盲改,切换排查环境、测试夹具、依赖版本或验收命令;记录最小复现。": "Stop when multiple fixes change nothing: when the same verification failure survives two consecutive rounds, stop blind changes and switch to investigating the environment, fixtures, dependency versions or the acceptance command; record a minimal reproduction.",
|
|
1615
|
+
"切换前保留失败诊断 / 修复绑定失败证据 / 修复不重复空转": "Keep failure diagnostics before switching / capture bind-failure evidence / no idle repair loops",
|
|
1616
|
+
};
|
|
1617
|
+
|
|
1618
|
+
// ---------- 工具 ----------
|
|
1619
|
+
function getLang() {
|
|
1620
|
+
try {
|
|
1621
|
+
const v = localStorage.getItem(LANG_KEY);
|
|
1622
|
+
if (v === "en") return "en";
|
|
1623
|
+
} catch (e) { /* 隐私模式忽略 */ }
|
|
1624
|
+
return "zh";
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1627
|
+
function setLang(lang) {
|
|
1628
|
+
try { localStorage.setItem(LANG_KEY, lang === "en" ? "en" : "zh"); } catch (e) { /* ignore */ }
|
|
1629
|
+
document.documentElement.dataset.lang = lang === "en" ? "en" : "zh";
|
|
1630
|
+
}
|
|
1631
|
+
|
|
1632
|
+
// t(key, ...args):en 模式查表 + {0}/{1} 占位替换;zh 模式或未命中直接返回 key
|
|
1633
|
+
function t(key) {
|
|
1634
|
+
if (key == null) return "";
|
|
1635
|
+
const lang = getLang();
|
|
1636
|
+
if (lang === "en") {
|
|
1637
|
+
const v = EN[key];
|
|
1638
|
+
if (v != null) {
|
|
1639
|
+
let s = v;
|
|
1640
|
+
for (let i = 1; i < arguments.length; i++) {
|
|
1641
|
+
s = s.split("{" + (i - 1) + "}").join(String(arguments[i]));
|
|
1642
|
+
}
|
|
1643
|
+
return s;
|
|
1644
|
+
}
|
|
1645
|
+
}
|
|
1646
|
+
let s = String(key);
|
|
1647
|
+
for (let i = 1; i < arguments.length; i++) {
|
|
1648
|
+
s = s.split("{" + (i - 1) + "}").join(String(arguments[i]));
|
|
1649
|
+
}
|
|
1650
|
+
return s;
|
|
1651
|
+
}
|
|
1652
|
+
|
|
1653
|
+
// applyI18n:处理 data-i18n / data-i18n-ph / data-i18n-title / data-i18n-aria
|
|
1654
|
+
// - data-i18n:替换元素内的文本(保留 SVG/图标等元素子节点;图标+文字混合按钮也能用)
|
|
1655
|
+
// - data-i18n-ph:placeholder
|
|
1656
|
+
// - data-i18n-title:title
|
|
1657
|
+
// - data-i18n-aria:aria-label
|
|
1658
|
+
function setElementText(el, text) {
|
|
1659
|
+
// 合并所有直接 text node:优先保留「有内容」的那个作落点,其余删除。
|
|
1660
|
+
// 图标+文字混合按钮常带前导空白(<button>\n <svg/>标签),若固定保留第一个
|
|
1661
|
+
// text node,标签会被塞进 svg 之前的空白里,文字跑到图标左边(布局翻转)。
|
|
1662
|
+
let firstText = null;
|
|
1663
|
+
for (const n of Array.from(el.childNodes)) {
|
|
1664
|
+
if (n.nodeType !== Node.TEXT_NODE) continue;
|
|
1665
|
+
if (!firstText && n.textContent.trim()) firstText = n;
|
|
1666
|
+
}
|
|
1667
|
+
if (!firstText) {
|
|
1668
|
+
for (const n of Array.from(el.childNodes)) {
|
|
1669
|
+
if (n.nodeType === Node.TEXT_NODE) { firstText = n; break; }
|
|
1670
|
+
}
|
|
1671
|
+
}
|
|
1672
|
+
for (const n of Array.from(el.childNodes)) {
|
|
1673
|
+
if (n.nodeType === Node.TEXT_NODE && n !== firstText) n.remove();
|
|
1674
|
+
}
|
|
1675
|
+
if (firstText) firstText.textContent = text;
|
|
1676
|
+
else el.appendChild(document.createTextNode(text));
|
|
1677
|
+
}
|
|
1678
|
+
|
|
1679
|
+
function applyI18n(root) {
|
|
1680
|
+
const scope = root || document;
|
|
1681
|
+
scope.querySelectorAll("[data-i18n]").forEach((el) => {
|
|
1682
|
+
setElementText(el, t(el.dataset.i18n));
|
|
1683
|
+
});
|
|
1684
|
+
scope.querySelectorAll("[data-i18n-ph]").forEach((el) => {
|
|
1685
|
+
el.setAttribute("placeholder", t(el.dataset.i18nPh));
|
|
1686
|
+
});
|
|
1687
|
+
scope.querySelectorAll("[data-i18n-title]").forEach((el) => {
|
|
1688
|
+
el.setAttribute("title", t(el.dataset.i18nTitle));
|
|
1689
|
+
});
|
|
1690
|
+
scope.querySelectorAll("[data-i18n-aria]").forEach((el) => {
|
|
1691
|
+
el.setAttribute("aria-label", t(el.dataset.i18nAria));
|
|
1692
|
+
});
|
|
1693
|
+
}
|
|
1694
|
+
|
|
1695
|
+
// 暴露
|
|
1696
|
+
window.t = t;
|
|
1697
|
+
window.setLang = setLang;
|
|
1698
|
+
window.getLang = getLang;
|
|
1699
|
+
window.applyI18n = applyI18n;
|
|
1700
|
+
window.I18N_EN = EN;
|
|
1701
|
+
|
|
1702
|
+
// 首次设置 html lang 属性
|
|
1703
|
+
document.documentElement.dataset.lang = getLang();
|
|
1704
|
+
document.documentElement.lang = getLang() === "en" ? "en" : "zh-CN";
|
|
1705
|
+
|
|
1706
|
+
// DOM 已就绪时自动 apply:index.html 里所有 data-i18n 元素立即拿到译文
|
|
1707
|
+
if (document.readyState === "loading") {
|
|
1708
|
+
document.addEventListener("DOMContentLoaded", () => applyI18n());
|
|
1709
|
+
} else {
|
|
1710
|
+
applyI18n();
|
|
1711
|
+
}
|
|
1709
1712
|
})();
|