codexmate 0.0.56 → 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 +2 -2
- package/README.vi.md +1 -0
- package/README.zh.md +2 -2
- package/cli/openai-bridge-retry.js +62 -0
- package/cli/openai-bridge-runtime.js +1819 -0
- package/cli/openai-bridge.js +137 -2048
- package/cli.js +749 -133
- package/lib/task-orchestrator.js +90 -21
- package/lib/task-workspace-chat.js +292 -0
- package/package.json +2 -2
- package/web-ui/app.js +67 -131
- package/web-ui/modules/app.computed.main-tabs.mjs +304 -7
- package/web-ui/modules/app.methods.agents.mjs +192 -1
- package/web-ui/modules/app.methods.claude-config.mjs +65 -25
- package/web-ui/modules/app.methods.navigation.mjs +67 -83
- package/web-ui/modules/app.methods.openclaw-editing.mjs +3 -6
- package/web-ui/modules/app.methods.providers.mjs +40 -10
- package/web-ui/modules/app.methods.session-actions.mjs +1 -12
- package/web-ui/modules/app.methods.session-browser.mjs +23 -54
- package/web-ui/modules/app.methods.session-trash.mjs +0 -1
- package/web-ui/modules/app.methods.startup-claude.mjs +16 -31
- package/web-ui/modules/app.methods.task-orchestration.mjs +347 -8
- package/web-ui/modules/app.methods.tool-config-permissions.mjs +0 -3
- package/web-ui/modules/app.methods.web-ui-preferences.mjs +442 -68
- package/web-ui/modules/config-template-confirm-pref.mjs +2 -3
- package/web-ui/modules/i18n/locales/en.mjs +181 -30
- package/web-ui/modules/i18n/locales/ja.mjs +178 -27
- package/web-ui/modules/i18n/locales/vi.mjs +180 -29
- package/web-ui/modules/i18n/locales/zh-tw.mjs +181 -30
- package/web-ui/modules/i18n/locales/zh.mjs +183 -32
- package/web-ui/modules/i18n.mjs +5 -12
- package/web-ui/modules/sessions-filters-url.mjs +1 -2
- package/web-ui/partials/index/layout-header.html +44 -38
- package/web-ui/partials/index/modals-basic.html +26 -0
- package/web-ui/partials/index/panel-orchestration.html +489 -282
- package/web-ui/partials/index/panel-prompts.html +66 -3
- package/web-ui/res/web-ui-render.precompiled.js +1181 -604
- package/web-ui/styles/layout-shell.css +157 -1
- package/web-ui/styles/modals-core.css +173 -0
- package/web-ui/styles/navigation-panels.css +11 -0
- package/web-ui/styles/responsive.css +32 -0
- package/web-ui/styles/task-orchestration.css +2161 -4
|
@@ -143,10 +143,13 @@ const zhTw = Object.freeze({
|
|
|
143
143
|
'side.config': '設定',
|
|
144
144
|
'side.sessions': '會話',
|
|
145
145
|
'side.prompts': 'Prompts',
|
|
146
|
+
'side.prompts.meta': 'Prompt 文件與預設',
|
|
146
147
|
'side.plugins': '插件',
|
|
147
148
|
'side.system': '系統',
|
|
148
149
|
'side.orchestration': '任務',
|
|
149
150
|
'side.skills': 'Skills',
|
|
151
|
+
'side.collapse': '收合側邊欄',
|
|
152
|
+
'side.expand': '展開側邊欄',
|
|
150
153
|
|
|
151
154
|
// Side rail items
|
|
152
155
|
'side.overview.doctor': 'Doctor 面板',
|
|
@@ -165,19 +168,21 @@ const zhTw = Object.freeze({
|
|
|
165
168
|
'side.update.currentOnly': '目前 v{current}',
|
|
166
169
|
'side.update.retry': '重試版本檢查',
|
|
167
170
|
'side.config.codex': 'Codex',
|
|
168
|
-
'side.config.codex.meta': 'Provider
|
|
171
|
+
'side.config.codex.meta': 'Provider · Model',
|
|
169
172
|
'side.config.claude': 'Claude Code',
|
|
170
|
-
'side.config.claude.meta': '
|
|
173
|
+
'side.config.claude.meta': 'Settings',
|
|
171
174
|
'side.config.openclaw': 'OpenClaw',
|
|
172
|
-
'side.config.openclaw.meta': 'JSON5
|
|
175
|
+
'side.config.openclaw.meta': 'JSON5 · AGENTS',
|
|
173
176
|
'side.config.opencode': 'OpenCode',
|
|
174
|
-
'side.config.opencode.meta': '
|
|
177
|
+
'side.config.opencode.meta': 'Provider',
|
|
175
178
|
'side.sessions.browser': '會話瀏覽',
|
|
176
179
|
'side.sessions.browser.meta': '瀏覽 / 匯出 / 清理',
|
|
177
180
|
'side.prompts.agents': 'AGENTS.md',
|
|
178
181
|
'side.prompts.agents.meta': 'Codex 指令文件',
|
|
179
182
|
'side.prompts.claude': 'CLAUDE.md',
|
|
180
183
|
'side.prompts.claude.meta': 'Claude 指令文件',
|
|
184
|
+
'side.prompts.presets': '預設池',
|
|
185
|
+
'side.prompts.presets.meta': '儲存和貼上預設',
|
|
181
186
|
'side.plugins.tools': '提示詞工具',
|
|
182
187
|
'side.plugins.tools.meta': '模板 / 變量',
|
|
183
188
|
'side.plugins.templatesCount': '{count} 個模板',
|
|
@@ -202,7 +207,7 @@ const zhTw = Object.freeze({
|
|
|
202
207
|
'title.config': '本地設定控制台',
|
|
203
208
|
'title.sessions': '會話與匯出',
|
|
204
209
|
'title.usage': '本地用量與趨勢',
|
|
205
|
-
'title.orchestration': '
|
|
210
|
+
'title.orchestration': '任務執行緒',
|
|
206
211
|
'title.market': 'Skills 安裝與同步',
|
|
207
212
|
'title.plugins': '插件與模板',
|
|
208
213
|
'title.docs': 'CLI 安裝與文檔',
|
|
@@ -213,7 +218,7 @@ const zhTw = Object.freeze({
|
|
|
213
218
|
'subtitle.config': '管理本地設定與模型。',
|
|
214
219
|
'subtitle.sessions': '瀏覽與匯出會話。',
|
|
215
220
|
'subtitle.usage': '查看近 7 / 30 天用量。',
|
|
216
|
-
'subtitle.orchestration': '
|
|
221
|
+
'subtitle.orchestration': '像聊天一樣整理任務,準備好後送出 /plan。',
|
|
217
222
|
'subtitle.market': '管理本地 Skills。',
|
|
218
223
|
'subtitle.plugins': '管理模板化 prompt 與可複用插件。',
|
|
219
224
|
'subtitle.docs': '查看 CLI 安裝命令與排障。',
|
|
@@ -221,6 +226,32 @@ const zhTw = Object.freeze({
|
|
|
221
226
|
'subtitle.prompts': '編輯 AGENTS.md 與 CLAUDE.md。',
|
|
222
227
|
'prompts.subTab.codex': 'AGENTS.md (Codex)',
|
|
223
228
|
'prompts.subTab.project': 'CLAUDE.md',
|
|
229
|
+
'prompts.subTab.presets': '預設池',
|
|
230
|
+
'prompts.presets.title': '預設池',
|
|
231
|
+
'prompts.presets.hint': '管理預設。',
|
|
232
|
+
'prompts.presets.namePlaceholder': '預設名稱',
|
|
233
|
+
'prompts.presets.selectPlaceholder': '選擇預設…',
|
|
234
|
+
'prompts.presets.saveCurrent': '存為預設',
|
|
235
|
+
'prompts.presets.empty': '暫無預設',
|
|
236
|
+
'prompts.presets.updatedAt': '更新時間:{time}',
|
|
237
|
+
'prompts.presets.renameAria': '重新命名 prompt 預設',
|
|
238
|
+
'prompts.presets.open': '打開預設池',
|
|
239
|
+
'prompts.presets.addCurrent': '加入預設池',
|
|
240
|
+
'prompts.presets.defaultName.project': '專案 CLAUDE.md - {path}',
|
|
241
|
+
'prompts.presets.error.emptyName': '預設名稱不能為空',
|
|
242
|
+
'prompts.presets.error.emptyContent': '預設內容不能為空',
|
|
243
|
+
'prompts.presets.error.duplicateName': '已存在同名預設',
|
|
244
|
+
'prompts.presets.confirm.addCurrentTitle': '加入預設池?',
|
|
245
|
+
'prompts.presets.confirm.addCurrentMessage': '存為「{name}」。',
|
|
246
|
+
'prompts.presets.confirm.overwriteTitle': '覆蓋預設?',
|
|
247
|
+
'prompts.presets.confirm.overwriteMessage': '名為「{name}」的預設已存在。要用目前編輯器內容覆蓋它嗎?',
|
|
248
|
+
'prompts.presets.confirm.overwriteConfirm': '覆蓋',
|
|
249
|
+
'prompts.presets.confirm.deleteTitle': '刪除預設?',
|
|
250
|
+
'prompts.presets.confirm.deleteMessage': '刪除預設「{name}」?此操作不可復原。',
|
|
251
|
+
'prompts.presets.toast.saved': '預設已保存',
|
|
252
|
+
'prompts.presets.toast.pasted': '已貼上,未儲存。',
|
|
253
|
+
'prompts.presets.toast.renamed': '預設已重新命名',
|
|
254
|
+
'prompts.presets.toast.deleted': '預設已刪除',
|
|
224
255
|
'prompts.project.pathLabel': '專案路徑(可選)',
|
|
225
256
|
'prompts.project.selectPlaceholder': '-- 全域 (~/.claude/CLAUDE.md) --',
|
|
226
257
|
'prompts.project.manualPlaceholder': '或手動輸入專案根路徑...',
|
|
@@ -486,6 +517,8 @@ const zhTw = Object.freeze({
|
|
|
486
517
|
'modal.claudeConfigEdit.title': '編輯 Claude Code 設定',
|
|
487
518
|
'field.useBuiltinTransform': '使用內建轉換(兼容 OpenAI 格式)',
|
|
488
519
|
'hint.useBuiltinTransform': '開啟後:寫入的 base_url 會指向 codexmate 內建轉換服務;Codex 使用的令牌固定為 codexmate。',
|
|
520
|
+
'field.transformMaxRetries': '內建轉換重試次數',
|
|
521
|
+
'hint.transformMaxRetries': '預設 2,最小 2;表示失敗後最多重試的次數。',
|
|
489
522
|
|
|
490
523
|
// Config template / agents modals
|
|
491
524
|
'modal.configTemplate.label': 'config.toml 模板',
|
|
@@ -957,19 +990,105 @@ const zhTw = Object.freeze({
|
|
|
957
990
|
'usage.range.7d.short': '近 7 天',
|
|
958
991
|
'usage.range.30d.short': '近 30 天',
|
|
959
992
|
'orchestration.queueStats': '隊列 {running} 運行中 · {queued} 等待中',
|
|
993
|
+
'orchestration.rebuilding.status': '暫停開放',
|
|
994
|
+
'orchestration.rebuilding.title': '重建中',
|
|
995
|
+
'orchestration.rebuilding.body': '任務編排入口暫時保留展示,但目前不可點擊。',
|
|
960
996
|
'orchestration.hero.kicker': '任務編排',
|
|
961
|
-
'orchestration.hero.title': '
|
|
962
|
-
'orchestration.hero.subtitle': '
|
|
997
|
+
'orchestration.hero.title': '任務編排',
|
|
998
|
+
'orchestration.hero.subtitle': '規劃、執行並追蹤任務,保留工作區與執行緒上下文。',
|
|
999
|
+
'orchestration.quick.kicker': '任務輸入',
|
|
1000
|
+
'orchestration.quick.title': '輸入任務目標',
|
|
1001
|
+
'orchestration.quick.subtitle': '描述目標、約束和驗收標準。執行前可用 /plan 預覽計畫。',
|
|
1002
|
+
'orchestration.quick.caption': 'Enter 追加需求;/plan 預覽計畫;開始執行會產生計畫並執行。',
|
|
1003
|
+
'orchestration.quick.templates.reviewFix.meta': '處理 review 回饋並補回歸驗證。',
|
|
1004
|
+
'orchestration.quick.templates.planOnly.meta': '先排查規劃,不寫入檔案。',
|
|
1005
|
+
'orchestration.quick.templates.workflowBatch.meta': '複用本地 Workflow 跑固定檢查。',
|
|
1006
|
+
'orchestration.chat.input.label': '任務訊息',
|
|
1007
|
+
'orchestration.chat.input.placeholder': '描述目標、約束和驗收標準;輸入 /plan 預覽計畫。',
|
|
1008
|
+
'orchestration.chat.input.hint': '工作區、執行緒和執行模式可在進階設定中調整。',
|
|
1009
|
+
'orchestration.chat.context.aria': '任務上下文',
|
|
1010
|
+
'orchestration.chat.context.workspace.auto': '工作區自動推斷',
|
|
1011
|
+
'orchestration.chat.context.workspace.value': '工作區 {value}',
|
|
1012
|
+
'orchestration.chat.context.thread.auto': '執行緒自動生成',
|
|
1013
|
+
'orchestration.chat.context.thread.value': '執行緒 {value}',
|
|
1014
|
+
'orchestration.chat.context.sequence.empty': '順序:等待需求 1',
|
|
1015
|
+
'orchestration.chat.context.sequence.value': '順序:{count} 條需求',
|
|
1016
|
+
'orchestration.privacy.workspace.selected': '已選擇工作區',
|
|
1017
|
+
'orchestration.privacy.thread.selected': '已選擇執行緒',
|
|
1018
|
+
'orchestration.chat.thread.aria': '任務對話',
|
|
1019
|
+
'orchestration.chat.input.send': '追加需求',
|
|
1020
|
+
'orchestration.chat.input.discuss': '預覽計畫',
|
|
1021
|
+
'orchestration.chat.input.work': '開始執行',
|
|
1022
|
+
'orchestration.chat.input.firstHint': '這會成為需求 1。',
|
|
1023
|
+
'orchestration.chat.input.workHint': '執行前會先合併目前輸入。',
|
|
1024
|
+
'orchestration.chat.input.workCaption': 'Enter 追加需求;/plan 只預覽;開始執行會規劃並執行。',
|
|
1025
|
+
'orchestration.chat.input.sequenceHint': '現在送出會成為需求 {count}。',
|
|
1026
|
+
'orchestration.chat.assistant.contextLabel': '上一輪上下文',
|
|
1027
|
+
'orchestration.chat.assistant.contextFallback': '已選中一個歷史任務,繼續時會繼承它的執行緒和工作區。',
|
|
1028
|
+
'orchestration.chat.assistant.resultLabel': '實作結果',
|
|
1029
|
+
'orchestration.chat.assistant.filesSummary': '檔案操作:{files}',
|
|
1030
|
+
'orchestration.chat.assistant.readyLabel': 'Codexmate',
|
|
1031
|
+
'orchestration.chat.assistant.empty': '輸入任務目標。多條需求會按順序執行並保留上下文。',
|
|
1032
|
+
'orchestration.chat.assistant.planLabel': '計畫預覽',
|
|
1033
|
+
'orchestration.chat.assistant.planSummary': '計畫已生成:{nodes} 個節點,{waves} 個批次。',
|
|
1034
|
+
'orchestration.chat.assistant.sequenceReady': '已收到多條需求;執行時會先完成需求 1,再帶著上下文繼續後續需求。',
|
|
1035
|
+
'orchestration.chat.assistant.singleReady': '已收到需求。可繼續追加,或輸入 /plan 預覽計畫。',
|
|
1036
|
+
'orchestration.chat.user.step': '需求 {count}',
|
|
1037
|
+
'orchestration.chat.meta.thread': '執行緒 {value}',
|
|
1038
|
+
'orchestration.chat.meta.workspace': '工作區 {value}',
|
|
1039
|
+
'orchestration.chat.meta.order': '順序執行 · 保留上下文',
|
|
1040
|
+
'orchestration.chat.meta.first': '先完成這一條',
|
|
1041
|
+
'orchestration.chat.meta.afterPrevious': '等待前一條完成後繼續',
|
|
1042
|
+
'orchestration.chat.meta.contextKept': '上下文會隨執行緒保留',
|
|
1043
|
+
'orchestration.chat.meta.previewNext': '下一步:/plan 預覽',
|
|
1044
|
+
'orchestration.quick.checklist.title': '執行檢查',
|
|
1045
|
+
'orchestration.quick.checklist.subtitle': '只保留真正影響執行的阻塞項。',
|
|
1046
|
+
'orchestration.agent.aria': '任務編排狀態',
|
|
1047
|
+
'orchestration.agent.kicker': '任務編排',
|
|
1048
|
+
'orchestration.agent.title': '任務編排控制台',
|
|
1049
|
+
'orchestration.agent.subtitle': '選擇工作區與會話,執行任務,並查看執行詳情。',
|
|
1050
|
+
'orchestration.agent.state.ready': 'Ready',
|
|
1051
|
+
'orchestration.agent.state.planning': 'Planning',
|
|
1052
|
+
'orchestration.agent.state.running': 'Running',
|
|
1053
|
+
'orchestration.agent.surface.workspace': 'Workspace',
|
|
1054
|
+
'orchestration.agent.surface.session': '上下文',
|
|
1055
|
+
'orchestration.agent.surface.mode': 'Mode',
|
|
1056
|
+
'orchestration.agent.surface.trace': 'Trace',
|
|
1057
|
+
'orchestration.agent.surface.runs': 'runs',
|
|
1058
|
+
'orchestration.agent.surface.queue': 'queued',
|
|
1059
|
+
'orchestration.agent.trace.title': 'Live trace',
|
|
1060
|
+
'orchestration.agent.trace.plan': 'Plan nodes',
|
|
1061
|
+
'orchestration.agent.trace.queue': 'Queue',
|
|
1062
|
+
'orchestration.agent.trace.runs': 'Runs',
|
|
1063
|
+
'orchestration.agent.trace.nodes': 'Run nodes',
|
|
1064
|
+
'orchestration.quick.status.title': '目前草稿',
|
|
1065
|
+
'orchestration.workspace.aria': '工作區與會話',
|
|
1066
|
+
'orchestration.workspace.title': '工作區',
|
|
1067
|
+
'orchestration.workspace.subtitle': '選擇專案,再為該專案新建或恢復會話。',
|
|
1068
|
+
'orchestration.workspace.selector': '工作區選擇',
|
|
1069
|
+
'orchestration.workspace.counts': '{runs} runs · {queue} queue',
|
|
1070
|
+
'orchestration.workspace.newSession': '+ 新建',
|
|
1071
|
+
'orchestration.workspace.sessions.title': '記錄',
|
|
1072
|
+
'orchestration.workspace.sessions.empty.title': '暫無記錄',
|
|
1073
|
+
'orchestration.workspace.sessions.empty.subtitle': '新建記錄,或重新整理後選擇既有執行記錄。',
|
|
1074
|
+
'orchestration.workspace.sessions.queueTitle': '佇列項目',
|
|
1075
|
+
'orchestration.workspace.sessions.runTitle': '執行記錄',
|
|
1076
|
+
'orchestration.workspace.sessions.detailsHidden': '詳情已隱藏',
|
|
1077
|
+
'orchestration.workspace.pathHidden': '路徑已隱藏',
|
|
963
1078
|
'orchestration.draft.reset': '重置草稿',
|
|
964
1079
|
'orchestration.summary.aria': '任務編排概覽',
|
|
965
1080
|
'orchestration.summary.running': '運行中',
|
|
966
1081
|
'orchestration.summary.queued': '排隊中',
|
|
967
1082
|
'orchestration.summary.runs': '運行記錄',
|
|
968
|
-
'orchestration.readiness.target.label': '
|
|
969
|
-
'orchestration.readiness.target.done': '
|
|
970
|
-
'orchestration.readiness.target.missing': '
|
|
1083
|
+
'orchestration.readiness.target.label': '任務訊息',
|
|
1084
|
+
'orchestration.readiness.target.done': '已寫任務訊息',
|
|
1085
|
+
'orchestration.readiness.target.missing': '還沒寫任務訊息',
|
|
1086
|
+
'orchestration.readiness.sequence.label': '順序',
|
|
1087
|
+
'orchestration.readiness.sequence.missing': '先傳送需求 1',
|
|
1088
|
+
'orchestration.readiness.sequence.single': '目前只有需求 1;繼續傳送會變成需求 2。',
|
|
1089
|
+
'orchestration.readiness.sequence.multiple': '{count} 條需求會按順序執行:先完成需求 1,再繼續需求 2。',
|
|
971
1090
|
'orchestration.readiness.engine.label': '執行策略',
|
|
972
|
-
'orchestration.readiness.engine.
|
|
1091
|
+
'orchestration.readiness.engine.openaiChat': '使用 OpenAI Chat-compatible 節點',
|
|
973
1092
|
'orchestration.readiness.workflow.done': '已選 {count} 個 Workflow',
|
|
974
1093
|
'orchestration.readiness.workflow.missing': '還沒選 Workflow ID',
|
|
975
1094
|
'orchestration.readiness.scope.label': '邊界',
|
|
@@ -980,12 +1099,13 @@ const zhTw = Object.freeze({
|
|
|
980
1099
|
'orchestration.readiness.preview.missing': '還沒生成計劃',
|
|
981
1100
|
'orchestration.readiness.preview.blocked': '有 {count} 個阻塞項',
|
|
982
1101
|
'orchestration.readiness.preview.ready': '計劃可用,{count} 個節點',
|
|
983
|
-
'orchestration.readiness.empty.title': '
|
|
984
|
-
'orchestration.readiness.empty.summary': '
|
|
1102
|
+
'orchestration.readiness.empty.title': '填寫任務目標',
|
|
1103
|
+
'orchestration.readiness.empty.summary': '先明確目標、約束和驗收標準。',
|
|
985
1104
|
'orchestration.readiness.workflow.title': '缺少 Workflow',
|
|
986
1105
|
'orchestration.readiness.workflow.summary': '你已經選了 Workflow 模式,但還沒指定可複用流程。',
|
|
987
|
-
'orchestration.readiness.preview.title': '
|
|
988
|
-
'orchestration.readiness.preview.summary': '
|
|
1106
|
+
'orchestration.readiness.preview.title': '建議預覽計畫',
|
|
1107
|
+
'orchestration.readiness.preview.summary': '目標已填寫。可用 /plan 確認節點和依賴。',
|
|
1108
|
+
'orchestration.readiness.preview.sequenceSummary': '草稿已成形,已鎖定 {count} 條順序需求:先完成需求 1,再繼續需求 2。',
|
|
989
1109
|
'orchestration.readiness.blocked.title': '預覽有阻塞',
|
|
990
1110
|
'orchestration.readiness.blocked.summary': '目前計劃裡還有 {count} 個阻塞項,先處理它們。',
|
|
991
1111
|
'orchestration.readiness.warn.title': '可以執行,但有提醒',
|
|
@@ -993,8 +1113,8 @@ const zhTw = Object.freeze({
|
|
|
993
1113
|
'orchestration.readiness.dryRun.title': '適合先預演',
|
|
994
1114
|
'orchestration.readiness.dryRun.summary': '現在可以安全地跑一次僅預演,先看結果再決定是否真實執行。',
|
|
995
1115
|
'orchestration.readiness.ready.title': '可以執行',
|
|
996
|
-
'orchestration.readiness.ready.withFollowUps': '
|
|
997
|
-
'orchestration.readiness.ready.summary': '
|
|
1116
|
+
'orchestration.readiness.ready.withFollowUps': '已鎖定 {count} 條順序需求:先完成需求 1,再帶上下文繼續需求 2。',
|
|
1117
|
+
'orchestration.readiness.ready.summary': '目標清晰,可以執行或入隊。',
|
|
998
1118
|
'orchestration.step1.title': '先把結果寫清楚',
|
|
999
1119
|
'orchestration.step1.subtitle': '只寫會影響執行的內容。',
|
|
1000
1120
|
'orchestration.templates.title': '快捷示例',
|
|
@@ -1009,14 +1129,15 @@ const zhTw = Object.freeze({
|
|
|
1009
1129
|
'orchestration.templates.workflowBatch.target': '用 Workflow 跑一組固定檢查並整理結果',
|
|
1010
1130
|
'orchestration.templates.workflowBatch.workflowIds': 'diagnose-config\nsafe-provider-switch',
|
|
1011
1131
|
'orchestration.templates.workflowBatch.notes': '輸出統一結論,避免重複描述',
|
|
1012
|
-
'orchestration.fields.target': '
|
|
1013
|
-
'orchestration.fields.target.placeholder': '例如:修復目前 PR review
|
|
1014
|
-
'orchestration.fields.target.hint': '
|
|
1015
|
-
'orchestration.engine.
|
|
1132
|
+
'orchestration.fields.target': '任務訊息',
|
|
1133
|
+
'orchestration.fields.target.placeholder': '例如:修復目前 PR review 評論,補對應迴歸測試,並避免改無關模塊',
|
|
1134
|
+
'orchestration.fields.target.hint': '像發訊息一樣寫清結果、邊界和驗收標準就夠了。',
|
|
1135
|
+
'orchestration.engine.openaiChat': 'OpenAI Chat',
|
|
1016
1136
|
'orchestration.engine.workflow': 'Workflow',
|
|
1017
1137
|
'orchestration.runMode.write': '寫入',
|
|
1018
1138
|
'orchestration.runMode.readOnly': '只讀',
|
|
1019
1139
|
'orchestration.runMode.dryRun': '僅預演',
|
|
1140
|
+
'orchestration.pills.sequenceCount': '順序需求 {count}',
|
|
1020
1141
|
'orchestration.pills.hasTitle': '標題已設',
|
|
1021
1142
|
'orchestration.pills.workflowCount': 'Workflow {count}',
|
|
1022
1143
|
'orchestration.pills.planNodes': '計劃 {count} 節點',
|
|
@@ -1025,11 +1146,18 @@ const zhTw = Object.freeze({
|
|
|
1025
1146
|
'orchestration.fields.engine': '引擎',
|
|
1026
1147
|
'orchestration.fields.runMode': '運行模式',
|
|
1027
1148
|
'orchestration.advanced.title': '高級設定',
|
|
1149
|
+
'orchestration.advanced.open': '設定',
|
|
1028
1150
|
'orchestration.fields.title': '標題',
|
|
1029
1151
|
'orchestration.fields.title.placeholder': '可選,預設從目標自動提取',
|
|
1030
1152
|
'orchestration.fields.notes': '說明',
|
|
1031
1153
|
'orchestration.fields.notes.placeholder': '例如:不要重寫現有架構,只做增量實現',
|
|
1032
1154
|
'orchestration.fields.notes.hint': '補邊界、禁區、風格要求或驗證要求。',
|
|
1155
|
+
'orchestration.fields.workspacePath': '工作区路径',
|
|
1156
|
+
'orchestration.fields.workspacePath.placeholder': '例如:/home/me/project',
|
|
1157
|
+
'orchestration.fields.workspacePath.hint': '计划、执行和队列都会使用这个 cwd;留空则使用服务当前目录。',
|
|
1158
|
+
'orchestration.fields.threadId': '任务线程 ID',
|
|
1159
|
+
'orchestration.fields.threadId.placeholder': '可选;留空自动生成',
|
|
1160
|
+
'orchestration.fields.threadId.hint': '同一线程用于连续追加要求、重试和队列追踪。',
|
|
1033
1161
|
'orchestration.fields.followUps': '後續動作(每行一條)',
|
|
1034
1162
|
'orchestration.fields.followUps.placeholder': '例如:\n繼續處理 review 評論\n最後補回歸測試',
|
|
1035
1163
|
'orchestration.fields.concurrency': '併發',
|
|
@@ -1045,33 +1173,37 @@ const zhTw = Object.freeze({
|
|
|
1045
1173
|
'orchestration.actions.planning': '規劃中...',
|
|
1046
1174
|
'orchestration.actions.previewOnly': '僅預覽',
|
|
1047
1175
|
'orchestration.actions.preparing': '準備中...',
|
|
1048
|
-
'orchestration.actions.generatePlan': '
|
|
1049
|
-
'orchestration.actions.planAndRun': '
|
|
1176
|
+
'orchestration.actions.generatePlan': '送出 /plan',
|
|
1177
|
+
'orchestration.actions.planAndRun': '預覽 /plan 並執行',
|
|
1050
1178
|
'orchestration.actions.processing': '處理中...',
|
|
1051
1179
|
'orchestration.actions.queueAndStart': '入隊並開始',
|
|
1052
|
-
'orchestration.actions.caption': '
|
|
1053
|
-
'orchestration.stage.title': '
|
|
1054
|
-
'orchestration.stage.subtitle': '
|
|
1055
|
-
'orchestration.stage.pill.target': '
|
|
1180
|
+
'orchestration.actions.caption': '執行前會按需刷新計畫;批量任務可入隊執行。',
|
|
1181
|
+
'orchestration.stage.title': '任務階段',
|
|
1182
|
+
'orchestration.stage.subtitle': '填寫目標、預覽計畫,然後執行。',
|
|
1183
|
+
'orchestration.stage.pill.target': '寫任務訊息',
|
|
1056
1184
|
'orchestration.stage.pill.preview': '預覽',
|
|
1057
1185
|
'orchestration.stage.pill.run': '執行或入隊',
|
|
1058
1186
|
'orchestration.plan.title': '計劃預覽',
|
|
1059
|
-
'orchestration.plan.subtitle': '
|
|
1187
|
+
'orchestration.plan.subtitle': '確認節點、批次和依賴關係。',
|
|
1060
1188
|
'orchestration.plan.summary.nodes': '節點數',
|
|
1061
1189
|
'orchestration.plan.summary.waves': '波次',
|
|
1062
1190
|
'orchestration.plan.summary.engine': '引擎',
|
|
1191
|
+
'orchestration.plan.summary.threadId': '线程 ID',
|
|
1192
|
+
'orchestration.plan.summary.cwd': '工作区',
|
|
1063
1193
|
'orchestration.plan.node.write': 'write',
|
|
1064
1194
|
'orchestration.plan.node.readOnly': 'read-only',
|
|
1065
1195
|
'orchestration.labels.dependencies': '依賴:',
|
|
1066
1196
|
'orchestration.labels.error': '錯誤:',
|
|
1067
1197
|
'orchestration.workbench.title': '執行工作臺',
|
|
1068
|
-
'orchestration.workbench.subtitle': '
|
|
1198
|
+
'orchestration.workbench.subtitle': '顯示佇列、執行記錄和節點詳情。',
|
|
1069
1199
|
'orchestration.queue.start': '開始隊列',
|
|
1070
1200
|
'orchestration.queue.starting': '啟動中...',
|
|
1071
1201
|
'orchestration.workbench.tabs.aria': '任務編排工作臺視圖',
|
|
1072
1202
|
'orchestration.workbench.tabs.queue': '隊列 {count}',
|
|
1073
1203
|
'orchestration.workbench.tabs.runs': '運行記錄 {count}',
|
|
1074
1204
|
'orchestration.workbench.tabs.detail': '運行詳情',
|
|
1205
|
+
'orchestration.workbench.queueCount': '{count} 個排隊中',
|
|
1206
|
+
'orchestration.workbench.ready': '就緒',
|
|
1075
1207
|
'orchestration.queue.empty.title': '目前沒有排隊任務',
|
|
1076
1208
|
'orchestration.queue.empty.subtitle': '批量任務可先入隊,再啟動隊列。',
|
|
1077
1209
|
'orchestration.runs.empty.title': '還沒有運行記錄',
|
|
@@ -1079,13 +1211,32 @@ const zhTw = Object.freeze({
|
|
|
1079
1211
|
'orchestration.detail.refresh': '重新整理詳情',
|
|
1080
1212
|
'orchestration.detail.retry': '重試',
|
|
1081
1213
|
'orchestration.detail.retrying': '重試中...',
|
|
1214
|
+
'orchestration.detail.continueThread': '继续此线程',
|
|
1082
1215
|
'orchestration.detail.empty.title': '選擇一條運行記錄查看詳情',
|
|
1083
1216
|
'orchestration.detail.empty.subtitle': '這裡會顯示節點狀態、摘要和日誌。',
|
|
1084
1217
|
'orchestration.detail.summary.status': '狀態',
|
|
1085
1218
|
'orchestration.detail.summary.duration': '耗時',
|
|
1086
1219
|
'orchestration.detail.summary.nodes': '節點數',
|
|
1087
1220
|
'orchestration.detail.summary.summary': '摘要',
|
|
1221
|
+
'orchestration.detail.context.aria': '任務運行上下文',
|
|
1222
|
+
'orchestration.detail.context.run': 'Run ID',
|
|
1088
1223
|
'orchestration.detail.node.meta': '{id} · attempts {attempts} · auto-fix {autoFix}',
|
|
1224
|
+
'orchestration.openai.status.title': 'OpenAI Chat 運行設定',
|
|
1225
|
+
'orchestration.openai.status.subtitle': '任務節點使用目前 OpenClaw provider;執行前會檢查 base URL、API key 和模型。',
|
|
1226
|
+
'orchestration.openai.status.provider': 'Provider',
|
|
1227
|
+
'orchestration.openai.status.model': '模型',
|
|
1228
|
+
'orchestration.openai.status.endpoint': 'Endpoint',
|
|
1229
|
+
'orchestration.openai.status.apiKey': 'API Key',
|
|
1230
|
+
'orchestration.openai.status.headers': '額外 headers',
|
|
1231
|
+
'orchestration.openai.status.configured': '已設定',
|
|
1232
|
+
'orchestration.openai.status.missing': '缺失',
|
|
1233
|
+
'orchestration.openai.status.notSet': '未設定',
|
|
1234
|
+
'orchestration.openai.status.notLoaded': '重新整理後載入 OpenAI Chat 就緒狀態。',
|
|
1235
|
+
'orchestration.openai.status.configure': '設定 OpenAI Chat',
|
|
1236
|
+
'orchestration.detail.node.output': 'AI 輸出',
|
|
1237
|
+
'orchestration.detail.node.endpoint': 'Endpoint:',
|
|
1238
|
+
'orchestration.detail.node.materializedFiles': '物化檔案:',
|
|
1239
|
+
'orchestration.detail.node.workspaceFiles': '工作區檔案:',
|
|
1089
1240
|
'skills.localLabel': '{target} / 本地 Skills',
|
|
1090
1241
|
'skills.counts': '已裝 {installed} · 可匯入 {importable}',
|
|
1091
1242
|
|