codexmate 0.0.55 → 0.0.57
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 -0
- package/README.vi.md +2 -0
- package/README.zh.md +2 -0
- package/cli/local-bridge.js +221 -22
- package/cli.js +797 -134
- 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 +57 -129
- package/web-ui/modules/app.computed.main-tabs.mjs +304 -7
- package/web-ui/modules/app.computed.session.mjs +210 -0
- package/web-ui/modules/app.methods.agents.mjs +3 -0
- package/web-ui/modules/app.methods.claude-config.mjs +178 -22
- package/web-ui/modules/app.methods.codex-config.mjs +294 -65
- package/web-ui/modules/app.methods.navigation.mjs +71 -84
- package/web-ui/modules/app.methods.openclaw-editing.mjs +3 -6
- package/web-ui/modules/app.methods.providers.mjs +15 -1
- package/web-ui/modules/app.methods.runtime.mjs +7 -2
- package/web-ui/modules/app.methods.session-actions.mjs +25 -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 +35 -17
- 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 +415 -68
- package/web-ui/modules/config-template-confirm-pref.mjs +2 -3
- package/web-ui/modules/i18n/locales/en.mjs +187 -28
- package/web-ui/modules/i18n/locales/ja.mjs +184 -25
- package/web-ui/modules/i18n/locales/vi.mjs +186 -33
- package/web-ui/modules/i18n/locales/zh-tw.mjs +187 -28
- package/web-ui/modules/i18n/locales/zh.mjs +189 -30
- package/web-ui/modules/i18n.mjs +5 -12
- package/web-ui/modules/provider-default-names.mjs +25 -0
- package/web-ui/modules/sessions-filters-url.mjs +1 -2
- package/web-ui/partials/index/layout-header.html +37 -14
- package/web-ui/partials/index/modal-health-check.html +69 -5
- package/web-ui/partials/index/panel-config-codex.html +2 -2
- package/web-ui/partials/index/panel-orchestration.html +489 -282
- package/web-ui/partials/index/panel-sessions.html +97 -17
- package/web-ui/res/web-ui-render.precompiled.js +1423 -732
- package/web-ui/session-helpers.mjs +4 -1
- package/web-ui/styles/layout-shell.css +157 -1
- package/web-ui/styles/navigation-panels.css +11 -0
- package/web-ui/styles/responsive.css +98 -0
- package/web-ui/styles/sessions-preview.css +212 -2
- package/web-ui/styles/sessions-toolbar-trash.css +61 -18
- package/web-ui/styles/skills-list.css +122 -0
- package/web-ui/styles/task-orchestration.css +2161 -4
- package/web-ui/styles/titles-cards.css +52 -0
|
@@ -147,6 +147,8 @@ const zhTw = Object.freeze({
|
|
|
147
147
|
'side.system': '系統',
|
|
148
148
|
'side.orchestration': '任務',
|
|
149
149
|
'side.skills': 'Skills',
|
|
150
|
+
'side.collapse': '收合側邊欄',
|
|
151
|
+
'side.expand': '展開側邊欄',
|
|
150
152
|
|
|
151
153
|
// Side rail items
|
|
152
154
|
'side.overview.doctor': 'Doctor 面板',
|
|
@@ -202,7 +204,7 @@ const zhTw = Object.freeze({
|
|
|
202
204
|
'title.config': '本地設定控制台',
|
|
203
205
|
'title.sessions': '會話與匯出',
|
|
204
206
|
'title.usage': '本地用量與趨勢',
|
|
205
|
-
'title.orchestration': '
|
|
207
|
+
'title.orchestration': '任務執行緒',
|
|
206
208
|
'title.market': 'Skills 安裝與同步',
|
|
207
209
|
'title.plugins': '插件與模板',
|
|
208
210
|
'title.docs': 'CLI 安裝與文檔',
|
|
@@ -213,7 +215,7 @@ const zhTw = Object.freeze({
|
|
|
213
215
|
'subtitle.config': '管理本地設定與模型。',
|
|
214
216
|
'subtitle.sessions': '瀏覽與匯出會話。',
|
|
215
217
|
'subtitle.usage': '查看近 7 / 30 天用量。',
|
|
216
|
-
'subtitle.orchestration': '
|
|
218
|
+
'subtitle.orchestration': '像聊天一樣整理任務,準備好後送出 /plan。',
|
|
217
219
|
'subtitle.market': '管理本地 Skills。',
|
|
218
220
|
'subtitle.plugins': '管理模板化 prompt 與可複用插件。',
|
|
219
221
|
'subtitle.docs': '查看 CLI 安裝命令與排障。',
|
|
@@ -436,6 +438,8 @@ const zhTw = Object.freeze({
|
|
|
436
438
|
'toast.apply.fail': '應用設定失敗',
|
|
437
439
|
'toast.check.success': '檢查通過',
|
|
438
440
|
'toast.check.fail': '檢查失敗',
|
|
441
|
+
'toast.health.noFailedProviderSelection': '請先選擇至少一個失敗提供商',
|
|
442
|
+
'toast.health.deleteFailedProvidersDone': '已刪除 {count} 個失敗提供商',
|
|
439
443
|
'toast.noChanges': '未檢測到改動',
|
|
440
444
|
'toast.template.loadFail': '載入模板失敗',
|
|
441
445
|
'toast.template.empty': '模板不能為空',
|
|
@@ -659,6 +663,32 @@ const zhTw = Object.freeze({
|
|
|
659
663
|
'sessions.preview.rerender': '重新渲染',
|
|
660
664
|
'sessions.preview.preparing': '正在準備會話內容...',
|
|
661
665
|
'sessions.preview.clipped': '僅展示最近 {count} 條消息。',
|
|
666
|
+
'sessions.workspace.kicker': '工作記憶',
|
|
667
|
+
'sessions.workspace.title': '會話利用摘要',
|
|
668
|
+
'sessions.workspace.subtitle': '從已載入的 {count} 條消息提取線索、命令、文件、連結與風險。',
|
|
669
|
+
'sessions.workspace.copy': '複製工作簡報',
|
|
670
|
+
'sessions.workspace.copy.title': '會話工作簡報',
|
|
671
|
+
'sessions.workspace.copy.source': '來源',
|
|
672
|
+
'sessions.workspace.copy.path': '路徑',
|
|
673
|
+
'sessions.workspace.copy.empty': '暫無可複製的會話摘要',
|
|
674
|
+
'sessions.workspace.copy.success': '已複製工作簡報',
|
|
675
|
+
'sessions.workspace.metric.messages': '消息',
|
|
676
|
+
'sessions.workspace.metric.user': '使用者',
|
|
677
|
+
'sessions.workspace.metric.assistant': '助手',
|
|
678
|
+
'sessions.workspace.metric.commands': '命令',
|
|
679
|
+
'sessions.workspace.metric.artifacts': '材料',
|
|
680
|
+
'sessions.workspace.metric.risks': '風險/待辦',
|
|
681
|
+
'sessions.workspace.signals': '任務線索',
|
|
682
|
+
'sessions.workspace.commands': '可複用命令',
|
|
683
|
+
'sessions.workspace.files': '相關文件',
|
|
684
|
+
'sessions.workspace.links': '相關連結',
|
|
685
|
+
'sessions.workspace.risks': '風險與待辦',
|
|
686
|
+
'sessions.workspace.nextSteps': '下一步',
|
|
687
|
+
'sessions.workspace.empty': '暫無明顯線索,可從下方原始記錄繼續查看。',
|
|
688
|
+
'sessions.workspace.noneCommands': '暫無命令線索',
|
|
689
|
+
'sessions.workspace.noneFiles': '暫無文件線索',
|
|
690
|
+
'sessions.workspace.noneLinks': '暫無連結線索',
|
|
691
|
+
'sessions.workspace.noneRisks': '暫未識別到風險或待辦',
|
|
662
692
|
'sessions.preview.shownCount': '已顯示 {shown} / {total} 條',
|
|
663
693
|
'sessions.preview.loadMore': '載入更多(剩餘 {remain})',
|
|
664
694
|
'sessions.preview.loadingMore': '正在載入更早消息...',
|
|
@@ -894,7 +924,18 @@ const zhTw = Object.freeze({
|
|
|
894
924
|
'config.health.title': '設定健康檢查',
|
|
895
925
|
'config.health.run': '運行檢查',
|
|
896
926
|
'config.health.running': '檢查中...',
|
|
897
|
-
'config.health.hint': '
|
|
927
|
+
'config.health.hint': '僅探測目前選中的提供商;未選提供商的遠端異常不計入本次錯誤。',
|
|
928
|
+
'config.health.codexHint': '透過本機橋接探測目前 Codex 路由 provider、endpoint、鑑權與模型。',
|
|
929
|
+
'config.health.providersSummary': '提供商:共 {total} · 正常 {green} · 設定問題 {yellow} · 失敗 {red}',
|
|
930
|
+
'config.health.failedProviders.title': '待刪除的失敗提供商',
|
|
931
|
+
'config.health.failedProviders.selectAria': '選擇失敗提供商 {name} 進行刪除',
|
|
932
|
+
'config.health.failedProviders.clearSelection': '清空選擇',
|
|
933
|
+
'config.health.failedProviders.selectAll': '全選',
|
|
934
|
+
'config.health.failedProviders.selectAllAria': '全選可刪除的失敗提供商',
|
|
935
|
+
'config.health.failedProviders.notDeletable': '保留/系統提供商,不能在這裡刪除。',
|
|
936
|
+
'config.health.failedProviders.writeRequired': '刪除前請先打開本 tab 的提供商寫入開關。',
|
|
937
|
+
'config.health.failedProviders.deleteSelected': '移除所選設定',
|
|
938
|
+
'config.health.failedProviders.deleting': '刪除中...',
|
|
898
939
|
'config.health.progress': '已完成 {done}/{total} · 失敗 {failed}',
|
|
899
940
|
'config.health.ok': '檢查通過',
|
|
900
941
|
'config.health.fail': '檢查未通過',
|
|
@@ -918,19 +959,105 @@ const zhTw = Object.freeze({
|
|
|
918
959
|
'usage.range.7d.short': '近 7 天',
|
|
919
960
|
'usage.range.30d.short': '近 30 天',
|
|
920
961
|
'orchestration.queueStats': '隊列 {running} 運行中 · {queued} 等待中',
|
|
962
|
+
'orchestration.rebuilding.status': '暫停開放',
|
|
963
|
+
'orchestration.rebuilding.title': '重建中',
|
|
964
|
+
'orchestration.rebuilding.body': '任務編排入口暫時保留展示,但目前不可點擊。',
|
|
921
965
|
'orchestration.hero.kicker': '任務編排',
|
|
922
|
-
'orchestration.hero.title': '
|
|
923
|
-
'orchestration.hero.subtitle': '
|
|
966
|
+
'orchestration.hero.title': '任務編排',
|
|
967
|
+
'orchestration.hero.subtitle': '規劃、執行並追蹤任務,保留工作區與執行緒上下文。',
|
|
968
|
+
'orchestration.quick.kicker': '任務輸入',
|
|
969
|
+
'orchestration.quick.title': '輸入任務目標',
|
|
970
|
+
'orchestration.quick.subtitle': '描述目標、約束和驗收標準。執行前可用 /plan 預覽計畫。',
|
|
971
|
+
'orchestration.quick.caption': 'Enter 追加需求;/plan 預覽計畫;開始執行會產生計畫並執行。',
|
|
972
|
+
'orchestration.quick.templates.reviewFix.meta': '處理 review 回饋並補回歸驗證。',
|
|
973
|
+
'orchestration.quick.templates.planOnly.meta': '先排查規劃,不寫入檔案。',
|
|
974
|
+
'orchestration.quick.templates.workflowBatch.meta': '複用本地 Workflow 跑固定檢查。',
|
|
975
|
+
'orchestration.chat.input.label': '任務訊息',
|
|
976
|
+
'orchestration.chat.input.placeholder': '描述目標、約束和驗收標準;輸入 /plan 預覽計畫。',
|
|
977
|
+
'orchestration.chat.input.hint': '工作區、執行緒和執行模式可在進階設定中調整。',
|
|
978
|
+
'orchestration.chat.context.aria': '任務上下文',
|
|
979
|
+
'orchestration.chat.context.workspace.auto': '工作區自動推斷',
|
|
980
|
+
'orchestration.chat.context.workspace.value': '工作區 {value}',
|
|
981
|
+
'orchestration.chat.context.thread.auto': '執行緒自動生成',
|
|
982
|
+
'orchestration.chat.context.thread.value': '執行緒 {value}',
|
|
983
|
+
'orchestration.chat.context.sequence.empty': '順序:等待需求 1',
|
|
984
|
+
'orchestration.chat.context.sequence.value': '順序:{count} 條需求',
|
|
985
|
+
'orchestration.privacy.workspace.selected': '已選擇工作區',
|
|
986
|
+
'orchestration.privacy.thread.selected': '已選擇執行緒',
|
|
987
|
+
'orchestration.chat.thread.aria': '任務對話',
|
|
988
|
+
'orchestration.chat.input.send': '追加需求',
|
|
989
|
+
'orchestration.chat.input.discuss': '預覽計畫',
|
|
990
|
+
'orchestration.chat.input.work': '開始執行',
|
|
991
|
+
'orchestration.chat.input.firstHint': '這會成為需求 1。',
|
|
992
|
+
'orchestration.chat.input.workHint': '執行前會先合併目前輸入。',
|
|
993
|
+
'orchestration.chat.input.workCaption': 'Enter 追加需求;/plan 只預覽;開始執行會規劃並執行。',
|
|
994
|
+
'orchestration.chat.input.sequenceHint': '現在送出會成為需求 {count}。',
|
|
995
|
+
'orchestration.chat.assistant.contextLabel': '上一輪上下文',
|
|
996
|
+
'orchestration.chat.assistant.contextFallback': '已選中一個歷史任務,繼續時會繼承它的執行緒和工作區。',
|
|
997
|
+
'orchestration.chat.assistant.resultLabel': '實作結果',
|
|
998
|
+
'orchestration.chat.assistant.filesSummary': '檔案操作:{files}',
|
|
999
|
+
'orchestration.chat.assistant.readyLabel': 'Codexmate',
|
|
1000
|
+
'orchestration.chat.assistant.empty': '輸入任務目標。多條需求會按順序執行並保留上下文。',
|
|
1001
|
+
'orchestration.chat.assistant.planLabel': '計畫預覽',
|
|
1002
|
+
'orchestration.chat.assistant.planSummary': '計畫已生成:{nodes} 個節點,{waves} 個批次。',
|
|
1003
|
+
'orchestration.chat.assistant.sequenceReady': '已收到多條需求;執行時會先完成需求 1,再帶著上下文繼續後續需求。',
|
|
1004
|
+
'orchestration.chat.assistant.singleReady': '已收到需求。可繼續追加,或輸入 /plan 預覽計畫。',
|
|
1005
|
+
'orchestration.chat.user.step': '需求 {count}',
|
|
1006
|
+
'orchestration.chat.meta.thread': '執行緒 {value}',
|
|
1007
|
+
'orchestration.chat.meta.workspace': '工作區 {value}',
|
|
1008
|
+
'orchestration.chat.meta.order': '順序執行 · 保留上下文',
|
|
1009
|
+
'orchestration.chat.meta.first': '先完成這一條',
|
|
1010
|
+
'orchestration.chat.meta.afterPrevious': '等待前一條完成後繼續',
|
|
1011
|
+
'orchestration.chat.meta.contextKept': '上下文會隨執行緒保留',
|
|
1012
|
+
'orchestration.chat.meta.previewNext': '下一步:/plan 預覽',
|
|
1013
|
+
'orchestration.quick.checklist.title': '執行檢查',
|
|
1014
|
+
'orchestration.quick.checklist.subtitle': '只保留真正影響執行的阻塞項。',
|
|
1015
|
+
'orchestration.agent.aria': '任務編排狀態',
|
|
1016
|
+
'orchestration.agent.kicker': '任務編排',
|
|
1017
|
+
'orchestration.agent.title': '任務編排控制台',
|
|
1018
|
+
'orchestration.agent.subtitle': '選擇工作區與會話,執行任務,並查看執行詳情。',
|
|
1019
|
+
'orchestration.agent.state.ready': 'Ready',
|
|
1020
|
+
'orchestration.agent.state.planning': 'Planning',
|
|
1021
|
+
'orchestration.agent.state.running': 'Running',
|
|
1022
|
+
'orchestration.agent.surface.workspace': 'Workspace',
|
|
1023
|
+
'orchestration.agent.surface.session': '上下文',
|
|
1024
|
+
'orchestration.agent.surface.mode': 'Mode',
|
|
1025
|
+
'orchestration.agent.surface.trace': 'Trace',
|
|
1026
|
+
'orchestration.agent.surface.runs': 'runs',
|
|
1027
|
+
'orchestration.agent.surface.queue': 'queued',
|
|
1028
|
+
'orchestration.agent.trace.title': 'Live trace',
|
|
1029
|
+
'orchestration.agent.trace.plan': 'Plan nodes',
|
|
1030
|
+
'orchestration.agent.trace.queue': 'Queue',
|
|
1031
|
+
'orchestration.agent.trace.runs': 'Runs',
|
|
1032
|
+
'orchestration.agent.trace.nodes': 'Run nodes',
|
|
1033
|
+
'orchestration.quick.status.title': '目前草稿',
|
|
1034
|
+
'orchestration.workspace.aria': '工作區與會話',
|
|
1035
|
+
'orchestration.workspace.title': '工作區',
|
|
1036
|
+
'orchestration.workspace.subtitle': '選擇專案,再為該專案新建或恢復會話。',
|
|
1037
|
+
'orchestration.workspace.selector': '工作區選擇',
|
|
1038
|
+
'orchestration.workspace.counts': '{runs} runs · {queue} queue',
|
|
1039
|
+
'orchestration.workspace.newSession': '+ 新建',
|
|
1040
|
+
'orchestration.workspace.sessions.title': '記錄',
|
|
1041
|
+
'orchestration.workspace.sessions.empty.title': '暫無記錄',
|
|
1042
|
+
'orchestration.workspace.sessions.empty.subtitle': '新建記錄,或重新整理後選擇既有執行記錄。',
|
|
1043
|
+
'orchestration.workspace.sessions.queueTitle': '佇列項目',
|
|
1044
|
+
'orchestration.workspace.sessions.runTitle': '執行記錄',
|
|
1045
|
+
'orchestration.workspace.sessions.detailsHidden': '詳情已隱藏',
|
|
1046
|
+
'orchestration.workspace.pathHidden': '路徑已隱藏',
|
|
924
1047
|
'orchestration.draft.reset': '重置草稿',
|
|
925
1048
|
'orchestration.summary.aria': '任務編排概覽',
|
|
926
1049
|
'orchestration.summary.running': '運行中',
|
|
927
1050
|
'orchestration.summary.queued': '排隊中',
|
|
928
1051
|
'orchestration.summary.runs': '運行記錄',
|
|
929
|
-
'orchestration.readiness.target.label': '
|
|
930
|
-
'orchestration.readiness.target.done': '
|
|
931
|
-
'orchestration.readiness.target.missing': '
|
|
1052
|
+
'orchestration.readiness.target.label': '任務訊息',
|
|
1053
|
+
'orchestration.readiness.target.done': '已寫任務訊息',
|
|
1054
|
+
'orchestration.readiness.target.missing': '還沒寫任務訊息',
|
|
1055
|
+
'orchestration.readiness.sequence.label': '順序',
|
|
1056
|
+
'orchestration.readiness.sequence.missing': '先傳送需求 1',
|
|
1057
|
+
'orchestration.readiness.sequence.single': '目前只有需求 1;繼續傳送會變成需求 2。',
|
|
1058
|
+
'orchestration.readiness.sequence.multiple': '{count} 條需求會按順序執行:先完成需求 1,再繼續需求 2。',
|
|
932
1059
|
'orchestration.readiness.engine.label': '執行策略',
|
|
933
|
-
'orchestration.readiness.engine.
|
|
1060
|
+
'orchestration.readiness.engine.openaiChat': '使用 OpenAI Chat-compatible 節點',
|
|
934
1061
|
'orchestration.readiness.workflow.done': '已選 {count} 個 Workflow',
|
|
935
1062
|
'orchestration.readiness.workflow.missing': '還沒選 Workflow ID',
|
|
936
1063
|
'orchestration.readiness.scope.label': '邊界',
|
|
@@ -941,12 +1068,13 @@ const zhTw = Object.freeze({
|
|
|
941
1068
|
'orchestration.readiness.preview.missing': '還沒生成計劃',
|
|
942
1069
|
'orchestration.readiness.preview.blocked': '有 {count} 個阻塞項',
|
|
943
1070
|
'orchestration.readiness.preview.ready': '計劃可用,{count} 個節點',
|
|
944
|
-
'orchestration.readiness.empty.title': '
|
|
945
|
-
'orchestration.readiness.empty.summary': '
|
|
1071
|
+
'orchestration.readiness.empty.title': '填寫任務目標',
|
|
1072
|
+
'orchestration.readiness.empty.summary': '先明確目標、約束和驗收標準。',
|
|
946
1073
|
'orchestration.readiness.workflow.title': '缺少 Workflow',
|
|
947
1074
|
'orchestration.readiness.workflow.summary': '你已經選了 Workflow 模式,但還沒指定可複用流程。',
|
|
948
|
-
'orchestration.readiness.preview.title': '
|
|
949
|
-
'orchestration.readiness.preview.summary': '
|
|
1075
|
+
'orchestration.readiness.preview.title': '建議預覽計畫',
|
|
1076
|
+
'orchestration.readiness.preview.summary': '目標已填寫。可用 /plan 確認節點和依賴。',
|
|
1077
|
+
'orchestration.readiness.preview.sequenceSummary': '草稿已成形,已鎖定 {count} 條順序需求:先完成需求 1,再繼續需求 2。',
|
|
950
1078
|
'orchestration.readiness.blocked.title': '預覽有阻塞',
|
|
951
1079
|
'orchestration.readiness.blocked.summary': '目前計劃裡還有 {count} 個阻塞項,先處理它們。',
|
|
952
1080
|
'orchestration.readiness.warn.title': '可以執行,但有提醒',
|
|
@@ -954,8 +1082,8 @@ const zhTw = Object.freeze({
|
|
|
954
1082
|
'orchestration.readiness.dryRun.title': '適合先預演',
|
|
955
1083
|
'orchestration.readiness.dryRun.summary': '現在可以安全地跑一次僅預演,先看結果再決定是否真實執行。',
|
|
956
1084
|
'orchestration.readiness.ready.title': '可以執行',
|
|
957
|
-
'orchestration.readiness.ready.withFollowUps': '
|
|
958
|
-
'orchestration.readiness.ready.summary': '
|
|
1085
|
+
'orchestration.readiness.ready.withFollowUps': '已鎖定 {count} 條順序需求:先完成需求 1,再帶上下文繼續需求 2。',
|
|
1086
|
+
'orchestration.readiness.ready.summary': '目標清晰,可以執行或入隊。',
|
|
959
1087
|
'orchestration.step1.title': '先把結果寫清楚',
|
|
960
1088
|
'orchestration.step1.subtitle': '只寫會影響執行的內容。',
|
|
961
1089
|
'orchestration.templates.title': '快捷示例',
|
|
@@ -970,14 +1098,15 @@ const zhTw = Object.freeze({
|
|
|
970
1098
|
'orchestration.templates.workflowBatch.target': '用 Workflow 跑一組固定檢查並整理結果',
|
|
971
1099
|
'orchestration.templates.workflowBatch.workflowIds': 'diagnose-config\nsafe-provider-switch',
|
|
972
1100
|
'orchestration.templates.workflowBatch.notes': '輸出統一結論,避免重複描述',
|
|
973
|
-
'orchestration.fields.target': '
|
|
974
|
-
'orchestration.fields.target.placeholder': '例如:修復目前 PR review
|
|
975
|
-
'orchestration.fields.target.hint': '
|
|
976
|
-
'orchestration.engine.
|
|
1101
|
+
'orchestration.fields.target': '任務訊息',
|
|
1102
|
+
'orchestration.fields.target.placeholder': '例如:修復目前 PR review 評論,補對應迴歸測試,並避免改無關模塊',
|
|
1103
|
+
'orchestration.fields.target.hint': '像發訊息一樣寫清結果、邊界和驗收標準就夠了。',
|
|
1104
|
+
'orchestration.engine.openaiChat': 'OpenAI Chat',
|
|
977
1105
|
'orchestration.engine.workflow': 'Workflow',
|
|
978
1106
|
'orchestration.runMode.write': '寫入',
|
|
979
1107
|
'orchestration.runMode.readOnly': '只讀',
|
|
980
1108
|
'orchestration.runMode.dryRun': '僅預演',
|
|
1109
|
+
'orchestration.pills.sequenceCount': '順序需求 {count}',
|
|
981
1110
|
'orchestration.pills.hasTitle': '標題已設',
|
|
982
1111
|
'orchestration.pills.workflowCount': 'Workflow {count}',
|
|
983
1112
|
'orchestration.pills.planNodes': '計劃 {count} 節點',
|
|
@@ -986,11 +1115,18 @@ const zhTw = Object.freeze({
|
|
|
986
1115
|
'orchestration.fields.engine': '引擎',
|
|
987
1116
|
'orchestration.fields.runMode': '運行模式',
|
|
988
1117
|
'orchestration.advanced.title': '高級設定',
|
|
1118
|
+
'orchestration.advanced.open': '設定',
|
|
989
1119
|
'orchestration.fields.title': '標題',
|
|
990
1120
|
'orchestration.fields.title.placeholder': '可選,預設從目標自動提取',
|
|
991
1121
|
'orchestration.fields.notes': '說明',
|
|
992
1122
|
'orchestration.fields.notes.placeholder': '例如:不要重寫現有架構,只做增量實現',
|
|
993
1123
|
'orchestration.fields.notes.hint': '補邊界、禁區、風格要求或驗證要求。',
|
|
1124
|
+
'orchestration.fields.workspacePath': '工作区路径',
|
|
1125
|
+
'orchestration.fields.workspacePath.placeholder': '例如:/home/me/project',
|
|
1126
|
+
'orchestration.fields.workspacePath.hint': '计划、执行和队列都会使用这个 cwd;留空则使用服务当前目录。',
|
|
1127
|
+
'orchestration.fields.threadId': '任务线程 ID',
|
|
1128
|
+
'orchestration.fields.threadId.placeholder': '可选;留空自动生成',
|
|
1129
|
+
'orchestration.fields.threadId.hint': '同一线程用于连续追加要求、重试和队列追踪。',
|
|
994
1130
|
'orchestration.fields.followUps': '後續動作(每行一條)',
|
|
995
1131
|
'orchestration.fields.followUps.placeholder': '例如:\n繼續處理 review 評論\n最後補回歸測試',
|
|
996
1132
|
'orchestration.fields.concurrency': '併發',
|
|
@@ -1006,33 +1142,37 @@ const zhTw = Object.freeze({
|
|
|
1006
1142
|
'orchestration.actions.planning': '規劃中...',
|
|
1007
1143
|
'orchestration.actions.previewOnly': '僅預覽',
|
|
1008
1144
|
'orchestration.actions.preparing': '準備中...',
|
|
1009
|
-
'orchestration.actions.generatePlan': '
|
|
1010
|
-
'orchestration.actions.planAndRun': '
|
|
1145
|
+
'orchestration.actions.generatePlan': '送出 /plan',
|
|
1146
|
+
'orchestration.actions.planAndRun': '預覽 /plan 並執行',
|
|
1011
1147
|
'orchestration.actions.processing': '處理中...',
|
|
1012
1148
|
'orchestration.actions.queueAndStart': '入隊並開始',
|
|
1013
|
-
'orchestration.actions.caption': '
|
|
1014
|
-
'orchestration.stage.title': '
|
|
1015
|
-
'orchestration.stage.subtitle': '
|
|
1016
|
-
'orchestration.stage.pill.target': '
|
|
1149
|
+
'orchestration.actions.caption': '執行前會按需刷新計畫;批量任務可入隊執行。',
|
|
1150
|
+
'orchestration.stage.title': '任務階段',
|
|
1151
|
+
'orchestration.stage.subtitle': '填寫目標、預覽計畫,然後執行。',
|
|
1152
|
+
'orchestration.stage.pill.target': '寫任務訊息',
|
|
1017
1153
|
'orchestration.stage.pill.preview': '預覽',
|
|
1018
1154
|
'orchestration.stage.pill.run': '執行或入隊',
|
|
1019
1155
|
'orchestration.plan.title': '計劃預覽',
|
|
1020
|
-
'orchestration.plan.subtitle': '
|
|
1156
|
+
'orchestration.plan.subtitle': '確認節點、批次和依賴關係。',
|
|
1021
1157
|
'orchestration.plan.summary.nodes': '節點數',
|
|
1022
1158
|
'orchestration.plan.summary.waves': '波次',
|
|
1023
1159
|
'orchestration.plan.summary.engine': '引擎',
|
|
1160
|
+
'orchestration.plan.summary.threadId': '线程 ID',
|
|
1161
|
+
'orchestration.plan.summary.cwd': '工作区',
|
|
1024
1162
|
'orchestration.plan.node.write': 'write',
|
|
1025
1163
|
'orchestration.plan.node.readOnly': 'read-only',
|
|
1026
1164
|
'orchestration.labels.dependencies': '依賴:',
|
|
1027
1165
|
'orchestration.labels.error': '錯誤:',
|
|
1028
1166
|
'orchestration.workbench.title': '執行工作臺',
|
|
1029
|
-
'orchestration.workbench.subtitle': '
|
|
1167
|
+
'orchestration.workbench.subtitle': '顯示佇列、執行記錄和節點詳情。',
|
|
1030
1168
|
'orchestration.queue.start': '開始隊列',
|
|
1031
1169
|
'orchestration.queue.starting': '啟動中...',
|
|
1032
1170
|
'orchestration.workbench.tabs.aria': '任務編排工作臺視圖',
|
|
1033
1171
|
'orchestration.workbench.tabs.queue': '隊列 {count}',
|
|
1034
1172
|
'orchestration.workbench.tabs.runs': '運行記錄 {count}',
|
|
1035
1173
|
'orchestration.workbench.tabs.detail': '運行詳情',
|
|
1174
|
+
'orchestration.workbench.queueCount': '{count} 個排隊中',
|
|
1175
|
+
'orchestration.workbench.ready': '就緒',
|
|
1036
1176
|
'orchestration.queue.empty.title': '目前沒有排隊任務',
|
|
1037
1177
|
'orchestration.queue.empty.subtitle': '批量任務可先入隊,再啟動隊列。',
|
|
1038
1178
|
'orchestration.runs.empty.title': '還沒有運行記錄',
|
|
@@ -1040,13 +1180,32 @@ const zhTw = Object.freeze({
|
|
|
1040
1180
|
'orchestration.detail.refresh': '重新整理詳情',
|
|
1041
1181
|
'orchestration.detail.retry': '重試',
|
|
1042
1182
|
'orchestration.detail.retrying': '重試中...',
|
|
1183
|
+
'orchestration.detail.continueThread': '继续此线程',
|
|
1043
1184
|
'orchestration.detail.empty.title': '選擇一條運行記錄查看詳情',
|
|
1044
1185
|
'orchestration.detail.empty.subtitle': '這裡會顯示節點狀態、摘要和日誌。',
|
|
1045
1186
|
'orchestration.detail.summary.status': '狀態',
|
|
1046
1187
|
'orchestration.detail.summary.duration': '耗時',
|
|
1047
1188
|
'orchestration.detail.summary.nodes': '節點數',
|
|
1048
1189
|
'orchestration.detail.summary.summary': '摘要',
|
|
1190
|
+
'orchestration.detail.context.aria': '任務運行上下文',
|
|
1191
|
+
'orchestration.detail.context.run': 'Run ID',
|
|
1049
1192
|
'orchestration.detail.node.meta': '{id} · attempts {attempts} · auto-fix {autoFix}',
|
|
1193
|
+
'orchestration.openai.status.title': 'OpenAI Chat 運行設定',
|
|
1194
|
+
'orchestration.openai.status.subtitle': '任務節點使用目前 OpenClaw provider;執行前會檢查 base URL、API key 和模型。',
|
|
1195
|
+
'orchestration.openai.status.provider': 'Provider',
|
|
1196
|
+
'orchestration.openai.status.model': '模型',
|
|
1197
|
+
'orchestration.openai.status.endpoint': 'Endpoint',
|
|
1198
|
+
'orchestration.openai.status.apiKey': 'API Key',
|
|
1199
|
+
'orchestration.openai.status.headers': '額外 headers',
|
|
1200
|
+
'orchestration.openai.status.configured': '已設定',
|
|
1201
|
+
'orchestration.openai.status.missing': '缺失',
|
|
1202
|
+
'orchestration.openai.status.notSet': '未設定',
|
|
1203
|
+
'orchestration.openai.status.notLoaded': '重新整理後載入 OpenAI Chat 就緒狀態。',
|
|
1204
|
+
'orchestration.openai.status.configure': '設定 OpenAI Chat',
|
|
1205
|
+
'orchestration.detail.node.output': 'AI 輸出',
|
|
1206
|
+
'orchestration.detail.node.endpoint': 'Endpoint:',
|
|
1207
|
+
'orchestration.detail.node.materializedFiles': '物化檔案:',
|
|
1208
|
+
'orchestration.detail.node.workspaceFiles': '工作區檔案:',
|
|
1050
1209
|
'skills.localLabel': '{target} / 本地 Skills',
|
|
1051
1210
|
'skills.counts': '已裝 {installed} · 可匯入 {importable}',
|
|
1052
1211
|
|
|
@@ -1301,7 +1460,7 @@ const zhTw = Object.freeze({
|
|
|
1301
1460
|
'claude.health.title': '設定健康檢查',
|
|
1302
1461
|
'claude.health.run': '運行檢查',
|
|
1303
1462
|
'claude.health.running': '檢查中...',
|
|
1304
|
-
'claude.health.hint': '
|
|
1463
|
+
'claude.health.hint': '僅探測目前選中的 Claude 設定;未選設定的遠端異常不計入本次錯誤。',
|
|
1305
1464
|
'claude.health.progress': '已完成 {done}/{total} · 失敗 {failed}',
|
|
1306
1465
|
'claude.md.title': 'CLAUDE.md',
|
|
1307
1466
|
'claude.md.open': '打開 CLAUDE.md',
|