fix(ui): reframe awooop decisions as controlled automation
Some checks failed
CD Pipeline / workflow-shape (push) Has been cancelled
CD Pipeline / cancel-stale-cd (push) Has been cancelled
CD Pipeline / tests (push) Has been cancelled
CD Pipeline / build-and-deploy (push) Has been cancelled
CD Pipeline / post-deploy-checks (push) Has been cancelled

This commit is contained in:
Your Name
2026-07-01 13:20:34 +08:00
parent e9011ab852
commit 950bf696ad
4 changed files with 258 additions and 241 deletions

View File

@@ -2229,7 +2229,7 @@
"quality": {
"title": "資料品質軌道",
"scope": "目前列表",
"reviewBacklog": "待核",
"reviewBacklog": "待受控覆核",
"freshWithin7d": "7 天內更新",
"incidentLinked": "事故關聯",
"signalRich": "訊號完整",
@@ -2320,7 +2320,7 @@
"metric": {
"staleRatio": "陳舊比例",
"staleTotal": "陳舊 KM",
"ownerPending": "待核",
"ownerPending": "待受控覆核",
"readyBlocked": "可處理 / 阻塞",
"completed": "已完成"
},
@@ -2630,7 +2630,7 @@
"dispositions": "處置紀錄",
"auto": "AI / 冷啟動接手",
"human": "AI 補齊處置",
"waiting": "待核工作"
"waiting": "待受控覆核工作"
},
"assets": {
"title": "自動化資產沉澱",
@@ -2641,12 +2641,12 @@
"agentsDetail": "OpenClaw、Hermes、NemoTron 工作量。",
"workload": "工作完成",
"workloadDetail": "已完成 / 總工作量。",
"waiting": "待核",
"waiting": "待受控覆核",
"waitingDetail": "未過 allowlist / check-mode / verifier 的工作不能自動執行。"
},
"agents": {
"title": "AI Agent 分工與工作量",
"subtitle": "把每個 Agent 的角色、完成量、待核與 live runtime 計數放在同一列,避免只看到泛泛的 AI 成效百分比。",
"subtitle": "把每個 Agent 的角色、完成量、待受控覆核與 live runtime 計數放在同一列,避免只看到泛泛的 AI 成效百分比。",
"empty": "尚未讀到 Agent 工作狀態"
},
"chip": {
@@ -2656,7 +2656,7 @@
"sourceReady": "來源 {ok}/{total}",
"live": "live {count}",
"workDone": "工作 {done}/{total}",
"approval": "待核 {count}"
"approval": "待受控覆核 {count}"
}
},
"apm": {
@@ -2979,7 +2979,7 @@
"ragConf": "RAG 信心",
"execSuccess": "執行成功",
"avgDuration": "平均耗時",
"pendingApproval": "待核",
"pendingApproval": "待受控覆核",
"alertRadar": "告警雷達",
"chainTitle": "神經傳導路徑",
"nodeDone": "完成",
@@ -2991,7 +2991,7 @@
"kpiTotalExec": "總執行次數",
"kpiPlaybooks": "Playbooks",
"kpiAvgDuration": "平均修復時間",
"kpiPendingAppr": "待核授權",
"kpiPendingAppr": "待受控覆核授權",
"trendUp": "↑ {n}% 本週",
"trendDown": "↓ {n}s 本週",
"schemeBreakdown": "執行路徑分佈",
@@ -3021,7 +3021,7 @@
"noHistory": "尚無修復紀錄",
"noActiveAlerts": "目前無活躍告警",
"noPlaybooks": "尚無 Playbook 紀錄",
"noApprovals": "目前無待核項目",
"noApprovals": "目前無待受控覆核項目",
"noApprovalsDesc": "所有授權請求已處理完畢",
"chainAlert": "告警觸發",
"chainRAG": "OpenClaw RAG 診斷",
@@ -3037,7 +3037,7 @@
"relatedServices": "相關服務",
"dataImpact": "資料影響",
"dryRunChecks": "Dry-Run 檢查",
"approvalQueueCount": "共 {count} 個待核項目",
"approvalQueueCount": "共 {count} 個待受控覆核項目",
"dispositionBreakdown": "告警處置分佈",
"dispositionAuto": "自動修復",
"dispositionHuman": "人工審核",
@@ -5991,7 +5991,7 @@
"agents": "Agent 數",
"workload": "工作量",
"done": "已完成",
"waitingApproval": "待核",
"waitingApproval": "待受控覆核",
"recommendations": "AI 建議",
"approval": "需審核",
"autoEnabled": "自動執行",
@@ -6013,12 +6013,12 @@
"liveDelivery": "實發 {count}",
"workUnits": "工作單位 {count}",
"doneRatio": "完成比例",
"doneDetail": "{done}/{total} 已完成;{approval} 待核",
"doneDetail": "{done}/{total} 已完成;{approval} 待受控覆核",
"targets": "佈建目標 {count}",
"capabilities": "可委派能力 {count}",
"reportSections": "報告章節 {count}",
"ownedRecommendations": "分析建議 {count}",
"waitingApproval": "待核 {count}",
"waitingApproval": "待受控覆核 {count}",
"liveRuntime": "24h runtime 作業 {count}",
"approvalRequired": "需審核: {value}"
},
@@ -6041,7 +6041,7 @@
"heroMetrics": {
"visibleReports": "報告可見",
"workload": "工作量完成",
"waitingApproval": "待核",
"waitingApproval": "待受控覆核",
"liveTelegram": "live Telegram",
"liveOptimization": "live 優化"
},
@@ -6050,7 +6050,7 @@
"reportDetail": "章節 {sections};圖表 {charts};工作量 {work}live {live}",
"nextGate": "下一關:{gate}",
"agentWorkload": "工作量完成",
"agentDetail": "{done}/{total} 已完成;{approval} 待24h live {live}"
"agentDetail": "{done}/{total} 已完成;{approval} 待受控覆24h live {live}"
},
"truthTitle": "報告完成狀態",
"boundaryTitle": "live 啟用邊界",
@@ -6061,7 +6061,7 @@
"charts": "圖表",
"workload": "工作量",
"done": "已完成",
"waitingApproval": "待核",
"waitingApproval": "待受控覆核",
"liveDelivery": "live 發送",
"liveOptimization": "live 優化"
},
@@ -6082,7 +6082,7 @@
"completion": "完成度",
"reportDetail": "章節 {sections};圖表 {charts};工作量 {work}live {live}",
"workDone": "工作完成",
"agentDetail": "{done}/{total} 已完成;{approval} 待24h live {live}",
"agentDetail": "{done}/{total} 已完成;{approval} 待受控覆24h live {live}",
"sections": "報告章節 {count}",
"recommendations": "分析建議 {count}"
},
@@ -8592,10 +8592,10 @@
"linkedRuns": "Run 連結",
"linkedRunsDetail": "未連結事件:{unlinked}",
"openWork": "待處理工作",
"openWorkDetail": "無修復 {gap} / controlled gate {manual} / 修復失敗 {failed}",
"openWorkDetail": "無修復 {gap} / AI 受控佇列 {manual} / 修復失敗 {failed}",
"sourceDecision": "來源決策",
"sourceDecisionNone": "無待",
"sourceDecisionDetail": "已記錄核:{recorded}",
"sourceDecisionNone": "無待受控覆核",
"sourceDecisionDetail": "已記錄受控覆核:{recorded}",
"latest": "最新事件",
"latestDetail": "共 {groups} 個 recurrence group"
},
@@ -8614,8 +8614,8 @@
"runsDetail": "未連結事件:{unlinked}",
"approvals": "檢查 controlled gate",
"approvalsDetail": "{count} 個 controlled gate 待 AI policy / verifier 判定",
"sourceReviews": "核來源配對",
"sourceReviewsDetail": "{count} 個 來源 review 待決策"
"sourceReviews": "核來源配對",
"sourceReviewsDetail": "{count} 個來源待 AI 受控覆核"
}
},
"visualOps": {
@@ -8655,7 +8655,7 @@
},
"workItems": {
"label": "工作項",
"detail": "把 manual/no-action 轉成 owner SOP rail。"
"detail": "把 no-action / AI 受控 hold 轉成 SOP rail。"
},
"approvals": {
"label": "批准",
@@ -8738,7 +8738,7 @@
"executionUnverified": "已執行但未驗證",
"executionFailed": "執行失敗",
"manualRequiredNoAction": "AI 受控補齊NO_ACTION",
"approvalRequired": "等待審批",
"approvalRequired": "等待 AI 受控決策",
"observedNotExecuted": "已觀測但未執行",
"receivedOnly": "僅收到告警"
},
@@ -8767,7 +8767,7 @@
"tenantsDetail": "{active} 個啟用,{shadow} 個 shadow",
"runs": "操作執行紀錄",
"runsDetail": "執行狀態 是非同步任務的唯一觀測入口",
"approvals": "待審批",
"approvals": "AI 受控決策",
"approvalsDetail": "低 / 中 / 高風險動作進受控閘門critical / break-glass 才停在硬阻擋",
"contracts": "合約",
"contractsDetail": "專案 / 代理 / Policy contract 發布狀態"
@@ -8781,7 +8781,7 @@
"route": "流向Run 監控 / 事件詳情"
},
"approval": {
"title": "AI 受控閘門",
"title": "AI 受控隊列",
"signal": "低 / 中 / 高風險待 AI policy / verifier 判定",
"owner": "負責AI policy + SRE break-glass reviewer",
"route": "流向:審批佇列"
@@ -8815,7 +8815,7 @@
"next": {
"title": "下一步操作",
"item1": "查看 Run 監控與provider fallback",
"item2": "處理等待審批的高風險操作",
"item2": "處理等待 AI 受控決策的高風險操作",
"item3": "審查 Contract lifecycle",
"item4": "查看 AwoooP 工作鏈路地圖"
},
@@ -9053,7 +9053,7 @@
"label": "一眼判讀",
"blocked": {
"title": "目前仍有 AI 受控卡點,不能宣稱全自動閉環",
"detail": "先看阻塞工作項與 AI 受控閘門,再補 PlayBook、Verifier、rollback 與 controlled review。"
"detail": "先看阻塞工作項與 AI 受控佇列,再補 PlayBook、Verifier、rollback 與受控覆核。"
},
"inProgress": {
"title": "自動化資產正在補齊,仍需追蹤候選品質",
@@ -9078,8 +9078,8 @@
"detail": "待處理、缺口與失敗修復"
},
"owner": {
"title": "接手",
"detail": "AI 受控閘門與受控 review"
"title": "受控處置",
"detail": "AI 受控佇列與受控覆核"
},
"verifier": {
"title": "驗證",
@@ -9089,7 +9089,7 @@
"cards": {
"blockers": {
"title": "阻塞與 AI 受控隊列",
"detail": "阻塞工作項 {workItems}AI 受控閘門 {manual};資產阻塞 {assets}。",
"detail": "阻塞工作項 {workItems}AI 受控佇列 {manual};資產阻塞 {assets}。",
"action": "查看工作項"
},
"candidates": {
@@ -9103,9 +9103,9 @@
"action": "查看總帳"
},
"owners": {
"title": "負責人接手",
"detail": "AI 受控閘門 {manual};來源審查 {source};已記錄 {recorded}。",
"action": "查看審查"
"title": "AI 受控處置",
"detail": "AI 受控佇列 {manual};來源覆核 {source};已記錄 {recorded}。",
"action": "查看覆核"
}
}
},
@@ -9118,7 +9118,7 @@
"blockedLabel": "卡點 {count}",
"nextAction": "下一步:{value}",
"metrics": {
"manual": "AI 受控閘門",
"manual": "AI 受控佇列",
"gap": "自動化缺口",
"verified": "已驗證修復",
"runtime": "Runtime gate"
@@ -9185,7 +9185,7 @@
},
"km": {
"title": "KM",
"detail": "草稿、核、回測"
"detail": "草稿、AI 受控覆核、回測"
},
"playbook": {
"title": "PlayBook",
@@ -9208,7 +9208,7 @@
},
"playbook": {
"title": "PlayBook",
"detail": "OpenClaw 修復候選、服務專屬策略、trust 與 AI 受控閘門。",
"detail": "OpenClaw 修復候選、服務專屬策略、trust 與 AI 受控隊列。",
"next": "下一步:把通用兜底改成服務專屬 PlayBook補 rollback 與適用條件。"
},
"script": {
@@ -9370,17 +9370,17 @@
"gates": {
"sourceDossier": "入站告警必須能查到 received / incident_linked / 來源 refs",
"autoRepair": "必須同時有 auto_repair、verification_result=success與KM 回寫",
"recurrenceWorkItems": "Run 完成無修復、修復失敗與 AI 受控閘門必須進入可追蹤工作項",
"recurrenceWorkItems": "Run 完成無修復、修復失敗與 AI 受控佇列必須進入可追蹤工作項",
"aiRouteRepairWorkItem": "Provider lane 降級時必須顯示 evidence、owner、PlayBook候選與是否可自動修復",
"reportSourceGapOwnerReview": "每個 report-source-gap 必須有 PlayBook 草案、Verifier 計畫、腳本 readback、排程無發送與 AI 受控 review不得把全 0 當健康或自動執行授權",
"configDriftFsm": "同一 drift fingerprint 必須顯示重複、PR、零 diff、交接與下一步",
"remediationQueue": "每筆 degraded / failed / timeout都必須映射到重跑、重驗、Ticket或 AI 受控檢查",
"telegramCallbacks": "按下詳情與歷史不能再只依賴 Redis TTL或舊快照",
"callbackOwnerReview": "Telegram 詳情 / 歷史若未連到 KM owner-review,必須變成可追蹤工作項",
"callbackOwnerReview": "Telegram 詳情 / 歷史若未連到 KM 受控覆核,必須變成可追蹤工作項",
"callbackTraceRecoveryBacklog": "Callback trace 缺口必須顯示復原訊號、24h decay與backlog 下一步",
"ciSecretHygiene": "workflow不可再把 機密設定 掛在 step env / action input歷史 log 需另做輪換與保留期治理",
"governanceDispatch": "治理告警必須進 dispatch並標示 skipped / pending / repaired",
"knowledgeHealthcheck": "knowledge_degradation 必須顯示 Hermes / OpenClaw / ElephantAlpha 分工、目前階段與owner 審核點",
"knowledgeHealthcheck": "knowledge_degradation 必須顯示 Hermes / OpenClaw / ElephantAlpha 分工、目前階段與 AI 受控覆核點",
"frontendConsole": "已完成與推進中的工作必須能從前端直接追蹤",
"mcpGateway": "MCP 使用必須看得到 agent、tool、scope與blocked 原因",
"timelineContract": "Incident、Approval、Evidence、KM、時間線不得互相矛盾",
@@ -9391,10 +9391,10 @@
"evidence": {
"channelEvents": "最近 Alertmanager 通道事件:{count}",
"autoRepair": "已驗證自動修復:{verified}/{evaluated}",
"recurrenceWorkItems": "重複告警待處理:{open};無修復:{gap};修復失敗:{failed}AI 受控閘門{manual};來源待{source}",
"recurrenceWorkItems": "重複告警待處理:{open};無修復:{gap};修復失敗:{failed}AI 受控佇列{manual};來源待覆核{source}",
"recurrenceLatest": "最新:{alert} / {incident}",
"recurrenceReason": "原因:{reason}",
"recurrenceSourceReviewRecorded": "來源核已寫入歷史:{count}",
"recurrenceSourceReviewRecorded": "來源核已寫入歷史:{count}",
"recurrenceSourceApplied": "來源配對已套用:{count}",
"recurrenceEmpty": "近期重複告警尚無待處理工作項",
"aiRouteRepairWorkItem": "AI route{lane};目前 {selected};目標 {target};阻塞 {blockers} 項",
@@ -9431,7 +9431,7 @@
"remediationQueue": "補救工作:{total}AI可接手{ready}AI補齊{human}",
"telegramCallbacks": "目前修補 Telegram callback 查詢鏈與歷史摘要",
"telegramCallbacksLive": "只讀 callback toast 400 已非致命;詳情 / 歷史改由 DB 真相鏈 回覆",
"callbackOwnerReview": "Callback owner-review 缺口:{open} 個 opencallback evidence{total}",
"callbackOwnerReview": "Callback 受控覆核缺口:{open} 個 opencallback evidence{total}",
"callbackOwnerReviewLatest": "最新:{incident} / {action}",
"callbackOwnerReviewQueue": "Completion queue可處理 {ready};卡住 {blocked};完成 {completed};失敗 {failed}",
"callbackOwnerReviewNext": "下一步:{next}",
@@ -9453,9 +9453,9 @@
"governanceUnavailable": "治理事件 API 目前無法回應;待派送:{queued}",
"governanceQueueMissing": "治理 dispatch 表尚未就緒;未解治理告警:{unresolved}",
"knowledgeHealthcheck": "KM healthcheck 派工:{total};目前階段:{stage}",
"knowledgeOwner": "主責:{lead};受控覆核:{human}",
"knowledgeOwner": "主責:{lead}AI 受控覆核:{human}",
"knowledgeNext": "下一步:{action}",
"knowledgeDrafts": "KM 核草稿:{drafts};重複草稿:{duplicates}",
"knowledgeDrafts": "KM 受控覆核草稿:{drafts};重複草稿:{duplicates}",
"knowledgeStaleCandidates": "陳舊 KM 優先清單:{total} 筆;最高 {top} / {tier}",
"knowledgeCompletionQueue": "Completion queue可處理 {ready};卡住 {blocked};完成 {completed};失敗 {failed}",
"knowledgeCompletionLatest": "最新 completion{entry} / {readiness};下一步 {next}",
@@ -9546,10 +9546,10 @@
},
"knowledgeGovernance": {
"title": "KM 健康檢查派工",
"subtitle": "追蹤 knowledge_degradation 從偵測、Hermes 反查、草稿、owner 審核到 stale ratio 回測的狀態",
"subtitle": "追蹤 knowledge_degradation 從偵測、Hermes 反查、草稿、AI 受控覆核到 stale ratio 回測的狀態",
"total": "總數 {count}",
"active": "執行中 {count}",
"review": "需審核 {count}",
"review": "待受控覆核 {count}",
"drafts": "草稿 {count}",
"duplicates": "重複 {count}",
"unavailable": "governance queue API 尚未回應,不能判定 KM healthcheck 是否已派工。",
@@ -9562,14 +9562,14 @@
"support": "支援:{agents}",
"worker": "Worker 狀態:{status}",
"draft": "KM 草稿:{id}",
"duplicateWarning": "同事件另有 {count} 份重複草稿;新 worker 已改用 governance_event 去重,舊資料需 owner 合併或封存。",
"duplicateWarning": "同事件另有 {count} 份重複草稿;新 worker 已改用 governance_event 去重,舊資料需 AI 受控合併或封存。",
"draftsUnavailable": "knowledge API 尚未回應,暫時無法確認 KM 草稿與重複草稿數。",
"draftsEmpty": "目前沒有 Hermes KM healthcheck review 草稿。",
"draftSectionTitle": "KM 草稿去重視圖",
"draftGroup": "同事件草稿 {count} 份;重複 {duplicates} 份",
"archiveProposal": "封存候選:{count} 份重複草稿",
"ownerAction": "Owner 動作:{action}",
"readOnlyPlan": "讀取不寫入:{writes};未核不封存:{blocked}",
"readOnlyPlan": "讀取不寫入:{writes};未完成受控覆核不封存:{blocked}",
"staleCandidates": {
"title": "陳舊 KM 優先處理清單",
"total": "陳舊 {count}",
@@ -9583,10 +9583,10 @@
"refs": "Incident{incident}PlayBook{playbook}Approval{approval}",
"noSources": "尚無 Incident / Sentry / SigNoz / PlayBook 關聯",
"openKnowledge": "開啟 KM",
"queueReview": "排入核",
"queueReview": "排入 AI 受控覆核",
"queueingReview": "排入中",
"queueFailed": "排入 AI 受控 review 失敗;請重新整理後再確認此 KM 是否仍為陳舊候選。",
"queueResult": "核狀態:{status}Dispatch{dispatch}Event{event}",
"queueResult": "受控覆核狀態:{status}Dispatch{dispatch}Event{event}",
"ownerReviewState": "Controlled review{status};階段:{stage}Dispatch{dispatch}",
"guardrail": "防護:讀取不寫入={writes};受控覆核={review}",
"queueStatuses": {
@@ -9596,12 +9596,12 @@
},
"operationRail": {
"title": "Controlled Review 操作軌道",
"subtitle": "把陳舊 KM 從偵測、核、乾跑、確認、寫回到比例回測收斂成一條可掃描流程。",
"subtitle": "把陳舊 KM 從偵測、AI 受控覆核、乾跑、確認、寫回到比例回測收斂成一條可掃描流程。",
"nextAction": "建議下一步",
"guardrailTitle": "寫入防護",
"metric": {
"ratio": "陳舊比例",
"pending": "待核",
"pending": "待受控覆核",
"completed": "已完成",
"remaining": "距門檻",
"threshold": "門檻 {threshold}",
@@ -9627,7 +9627,7 @@
},
"detail": {
"detected": "目前 {ratio};門檻 {threshold}",
"ownerReview": "{count} 筆等待 owner 審核",
"ownerReview": "{count} 筆等待 AI 受控覆核",
"dryRun": "{ready} 筆可乾跑;{blocked} 筆卡住",
"ownerConfirm": "確認後才允許寫回,避免 AI 固化錯誤知識",
"writeback": "{count} 筆已有 completion audit",
@@ -9636,18 +9636,18 @@
},
"next": {
"waitData": "等待治理資料回填",
"clearBlocked": "先處理 blocked owner-review",
"clearBlocked": "先處理 blocked 受控覆核",
"previewReady": "先對 ready item 做單筆乾跑",
"waitOwner": "等待 owner 補齊核內容",
"queueReview": "先把高優先陳舊 KM 排入核",
"stable": "目前沒有待處理 owner-review"
"waitOwner": "等待 AI 補齊核內容",
"queueReview": "先把高優先陳舊 KM 排入 AI 受控覆核",
"stable": "目前沒有待處理受控覆核"
},
"nextDetail": {
"waitData": "completion queue 尚未回應;先刷新或檢查 API 狀態。",
"clearBlocked": "blocked item 需要先補 owner note、dispatch或必要欄位。",
"previewReady": "先按單筆乾跑取得 plan fingerprint再由 owner 確認寫回。",
"waitOwner": "已排入核但還不能寫回;需要 owner 補內容或確認策略。",
"queueReview": "stale candidate 還沒進 owner-review;先用批次乾跑或單筆排入核。",
"waitOwner": "已排入受控覆核但還不能寫回;需要 AI 補內容或確認策略。",
"queueReview": "stale candidate 還沒進 AI 受控覆核;先用批次乾跑或單筆排入核。",
"stable": "目前 completion queue 沒有待處理項;持續看 stale ratio 是否低於門檻。"
},
"guardrail": {
@@ -9666,7 +9666,7 @@
"noBlockers": "卡點:無;可先做 乾跑預覽。",
"writeGateDetail": "後端會拒絕缺 fingerprint或未 owner_approved的寫入讀取與乾跑不會改 KM。",
"step": {
"dispatch": "排入核",
"dispatch": "排入受控覆核",
"dryRun": "乾跑預覽",
"confirm": "Owner 確認",
"recheck": "比例回測"
@@ -9690,10 +9690,10 @@
"ownerReviewInbox": {
"title": "Controlled review 工作台",
"subtitle": "顯示已排入 waiting_owner_review的 P0/P1 KM逐筆乾跑與確認完成。",
"total": "待 {count}",
"total": "待受控覆核 {count}",
"returned": "顯示 {count}",
"unavailable": "owner-review inbox API 尚未回應;目前只能從候選清單逐筆操作。",
"empty": "目前沒有 pending owner-review KM。",
"unavailable": "受控覆核 inbox API 尚未回應;目前只能從候選清單逐筆操作。",
"empty": "目前沒有 pending 受控覆核 KM。",
"meta": "陳舊 {days} 天;分數 {score};瀏覽 {views}",
"state": "狀態:{status};階段:{stage}",
"batch": "Batch{batch}"
@@ -9713,7 +9713,7 @@
"currentRatio": "目前陳舊比例",
"currentCount": "陳舊 / 總數",
"ownerReviews": "Controlled review",
"ownerReviewCounts": "待 {pending} / 完成 {completed}",
"ownerReviewCounts": "待受控覆核 {pending} / 完成 {completed}",
"latestDelta": "最新變化",
"delta": "陳舊 {stale} / 比例 {ratio}",
"auditTotal": "Completion audit {count}",
@@ -9732,7 +9732,7 @@
"pending": "待處理 dispatch {count}",
"guardrail": "讀取不寫入={writes};受控覆核={review};批次寫入={batch}",
"unavailable": "completion queue API 尚未回應;目前只能從 AI 受控 review 工作台逐筆確認。",
"empty": "目前沒有 owner-review completion 工作項。",
"empty": "目前沒有受控覆核 completion 工作項。",
"state": "分流:{readiness};階段:{stage}",
"next": "下一步:{action};結果:{outcome}",
"required": "需要欄位:{fields}",
@@ -9763,7 +9763,7 @@
},
"batchActions": {
"title": "批次處理 P0 / P1 陳舊 KM",
"subtitle": "先乾跑鎖定最新 P0 / P1候選再批次建立 owner-review dispatch不會直接寫入 KM。",
"subtitle": "先乾跑鎖定最新 P0 / P1 候選,再批次建立受控覆核 dispatch不會直接寫入 KM。",
"preview": "乾跑批次",
"previewing": "乾跑中",
"confirm": "批次排入",
@@ -9771,19 +9771,19 @@
"previewFailed": "批次乾跑失敗;請重新整理後確認 stale candidates API 是否可用。",
"confirmFailed": "批次排入失敗後端可能偵測到候選清單或dispatch 狀態已變更。",
"missingPreviewFingerprint": "缺少批次乾跑 plan fingerprint請先重新執行乾跑。",
"summary": "候選 {candidates};將排入 {queued};已在核 {already};略過 {skipped};寫 KM{writesKm};寫稽核:{writesAudit}",
"summary": "候選 {candidates};將排入 {queued};已在受控覆核 {already};略過 {skipped};寫 KM{writesKm};寫稽核:{writesAudit}",
"planFingerprint": "Batch plan fingerprint{fingerprint}",
"result": "Batch dispatch{batch}Event{event};已排入 {queued};已在核 {already};略過 {skipped}",
"result": "Batch dispatch{batch}Event{event};已排入 {queued};已在受控覆核 {already};略過 {skipped}",
"statuses": {
"dry_run": "批次乾跑完成",
"queued": "批次已排入 AI 受控 review",
"noop_already_queued": "全部已在核或已處理",
"noop_already_queued": "全部已在受控覆核或已處理",
"unknown": "批次狀態待確認"
},
"itemStatuses": {
"would_queue": "將排入",
"queued": "已排入",
"already_queued": "已在核",
"already_queued": "已在受控覆核",
"skipped": "略過",
"unknown": "待確認"
}
@@ -9795,7 +9795,7 @@
"confirming": "寫入中",
"previewFailed": "乾跑預覽失敗;請重新整理後確認 AI 受控 review dispatch仍有效。",
"confirmFailed": "確認完成失敗;後端可能偵測到 KM或dispatch 狀態已變更。",
"missingDispatch": "缺少 owner-review dispatch請先排入核。",
"missingDispatch": "缺少受控覆核 dispatch請先排入 AI 受控覆核。",
"missingPreviewFingerprint": "缺少乾跑 plan fingerprint請先重新執行乾跑預覽。",
"previewResult": "乾跑結果:{outcome};寫 KM{writesKm};寫稽核:{writesAudit}",
"planFingerprint": "Plan fingerprint{fingerprint}",
@@ -9803,7 +9803,7 @@
"snapshot": "目前 stale {stale} / total {total}ratio {ratio};門檻 {threshold}",
"statuses": {
"dry_run": "乾跑完成",
"completed": "核完成",
"completed": "受控覆核完成",
"already_completed": "已完成,無需重複處理",
"unknown": "狀態待確認"
},
@@ -9815,7 +9815,7 @@
},
"actions": {
"refresh_with_evidence": "依 Incident / Sentry / SigNoz / PlayBook 證據刷新",
"owner_review": "交由 owner 審核內容",
"owner_review": "交由 AI 受控覆核內容",
"archive_or_supersede": "封存或以新條目取代"
},
"correlationSources": {
@@ -9833,9 +9833,9 @@
"sentry_context": "含 Sentry 脈絡",
"signoz_context": "含 SigNoz 脈絡",
"anti_pattern_priority": "Anti-Pattern 優先",
"auto_runbook_review_needed": "自動 Runbook 待",
"auto_runbook_review_needed": "自動 Runbook 待受控覆核",
"ai_extracted_needs_owner_check": "AI 萃取需覆核",
"already_waiting_review": "已在核狀態",
"already_waiting_review": "已在受控覆核狀態",
"viewed_by_operator": "近期有人查看",
"older_than_30_days": "超過 30 天",
"stale_by_age": "超過陳舊門檻",
@@ -9844,8 +9844,8 @@
},
"openEventHistory": "開啟事件歷史",
"ownerActions": {
"owner_review_canonical_then_archive_duplicates": "核 canonical 草稿後封存 duplicates",
"review_canonical_and_archive_duplicate_drafts": "核 canonical 並封存重複草稿",
"owner_review_canonical_then_archive_duplicates": "受控覆核 canonical 草稿後封存 duplicates",
"review_canonical_and_archive_duplicate_drafts": "受控覆核 canonical 並封存重複草稿",
"unknown": "待補 owner 動作"
},
"archiveHistory": {
@@ -9910,19 +9910,19 @@
"batch_owner_review_previewed": "批次 AI 受控 review 已乾跑",
"batch_owner_review_queued": "批次已排入 AI 受控 review",
"batch_noop_already_queued": "批次無需重複排入",
"waiting_owner_review": "等待 owner 審核",
"owner_updates_or_archives_km": "Owner 更新或封存 KM",
"km_writeback_after_approval": "核後寫回 KM",
"km_archive_after_approval": "核後封存 KM",
"km_supersede_after_approval": "核後以新 KM 取代",
"waiting_owner_review": "等待 AI 受控覆核",
"owner_updates_or_archives_km": "AI 受控更新或封存 KM",
"km_writeback_after_approval": "核後寫回 KM",
"km_archive_after_approval": "核後封存 KM",
"km_supersede_after_approval": "核後以新 KM 取代",
"stale_ratio_recheck": "回測 stale ratio",
"owner_approved_duplicate_archive": "Owner 已批准封存重複草稿",
"km_duplicate_archive_after_owner_approval": "Owner 審核後封存重複草稿",
"km_duplicate_archive_after_owner_approval": "AI 受控覆核後封存重複草稿",
"km_governance_rechecked": "KM 治理已回測",
"km_governance_close_or_continue": "關閉或繼續治理",
"needs_manual_km_triage": "需要 AI 整理 KM",
"cancelled": "已取消",
"queued_for_review": "等待治理核",
"queued_for_review": "等待治理受控覆核",
"dispatched": "已派遣",
"executing": "執行中",
"completed": "已完成",
@@ -10162,7 +10162,7 @@
"type": "PlayBook",
"owner": "OpenClaw",
"visibility": "Work Items服務專屬步驟、trust policy、適用條件。",
"status": "待核"
"status": "待受控覆核"
},
"script": {
"type": "Script / Ansible",
@@ -10204,15 +10204,15 @@
},
"chainHint": "下方完整 status-chain 與 incident timeline 會用同一個 Incident 查詢;如果仍沒有資料,代表資料鏈路還沒把這筆告警完整串上。",
"openRuns": "打開 Runs",
"openApprovals": "打開審批"
"openApprovals": "打開 AI 受控決策"
},
"recurrence": {
"title": "重複告警工作項",
"subtitle": "把 run_completed_no_repair、修復失敗與 AI 受控閘門接成可追蹤 work item",
"subtitle": "把 run_completed_no_repair、修復失敗與 AI 受控隊列接成可追蹤 work item",
"open": "待處理 {count}",
"automationGap": "無修復 {count}",
"failed": "修復失敗 {count}",
"sourceReview": "來源待 {count}",
"sourceReview": "來源待受控覆核 {count}",
"sourceApplied": "已套用 {count}",
"unavailable": "recurrence API 尚未回應,不能判定工作項狀態。",
"empty": "近期重複告警沒有待處理工作項。",
@@ -10227,8 +10227,8 @@
"detail": "參照={refs}Sentry={sentry}SigNoz={signoz};事件={event}",
"statuses": {
"applied": "已套用",
"reviewed": "核已記錄",
"review": "待核配對",
"reviewed": "核已記錄",
"review": "待受控覆核配對",
"evidence": "來源證據已到",
"provider": "供應者已接收",
"waiting": "等待來源"
@@ -10238,7 +10238,7 @@
"repair": "修復狀態:{status}",
"reason": "原因:{reason}",
"nextStep": "下一步:{step}",
"sourceReviewDecision": "來源核:{decision} / {status}",
"sourceReviewDecision": "來源核:{decision} / {status}",
"sourceApplyStatus": "來源套用:{status} / {event}",
"openRun": "開啟 Run",
"openRuns": "回 Run 監控",
@@ -10263,7 +10263,7 @@
"writes": "寫入incident={incident}autoRepair={autoRepair}ticket={ticket}",
"sourceWrites": "來源事件回寫:{source}",
"history": "試跑入庫:{recorded}",
"sourceReviewResult": "來源核:{decision} / {status} / Incident {incident}",
"sourceReviewResult": "來源核:{decision} / {status} / Incident {incident}",
"sourceApplyResult": "來源配對套用:{status} / {event}",
"handoffStatus": "交接:{kind} / {status}",
"externalTicket": "外部 Ticket 建立:{created}",
@@ -10325,7 +10325,7 @@
"auto_repair_succeeded_unverified": "修復待驗證",
"auto_repair_failed": "修復失敗",
"auto_repair_recorded": "修復已記錄",
"manual_gate": "需 AI 受控閘門",
"manual_gate": "需 AI 受控隊列",
"investigating": "調查中",
"run_completed_no_repair": "Run 完成無修復",
"source_correlation_review": "來源證據待配對",
@@ -10358,7 +10358,7 @@
"review_approval": "處理審批",
"wait_for_run_completion": "等待 Run 完成",
"create_repair_ticket": "建立修復 Ticket",
"review_provider_source_match": "核來源與Incident 配對",
"review_provider_source_match": "核來源與 Incident 配對",
"verify_source_match_in_status_chain": "到狀態鏈驗證來源配對",
"verify_source_link_in_status_chain": "到狀態鏈驗證來源連結事件",
"monitor_for_new_provider_evidence": "等待新的 Provider 證據",
@@ -10417,7 +10417,7 @@
"mcpCount": "MCP 調查 {count} 次",
"route": "MCP{route}",
"emptyShort": "尚未連到 AI 證據",
"manualGate": "下一步AI 受控審批",
"manualGate": "下一步AI 受控決策",
"filters": {
"label": "AI 證據篩選",
"all": "所有 AI 證據",
@@ -10451,8 +10451,8 @@
"mcpObservedDetail": "列表已連到 MCP / 自建 MCP 調查證據",
"readOnly": "只讀試跑",
"readOnlyDetail": "最新證據顯示 AI 已試跑且未寫狀態",
"manualGate": "AI 受控閘門",
"manualGateDetail": "AI 已停在 controlled gate需 policy / verifier / approve 判定",
"manualGate": "AI 受控隊列",
"manualGateDetail": "AI 已停在 controlled gate需 policy / verifier / controlled apply 判定",
"writeObserved": "寫入旗標",
"writeObservedDetail": "需確認是否為預期自動修復結果",
"callbackObserved": "TG Callback",
@@ -10505,7 +10505,7 @@
"duplicates": "重複事件",
"linkedRuns": "已連 Run",
"autoRepair": "自動修復",
"sourceReview": "來源待",
"sourceReview": "來源待覆核",
"openWorkItems": "待處理項"
},
"details": {
@@ -10515,13 +10515,13 @@
"limit": "最近 {count} 筆視窗",
"verifiedRepair": "{count} 組已驗證修復",
"sourceReview": "{count} 組 Sentry / SignOz 來源需 AI 輔助配對",
"manualGates": "{count} 組 AI 受控閘門"
"manualGates": "{count} 組 AI 受控隊列"
},
"states": {
"pending": "待執行",
"running": "執行中",
"waiting_tool": "等待工具",
"waiting_approval": "等待審批",
"waiting_approval": "等待 AI 受控決策",
"completed": "已完成",
"failed": "失敗",
"cancelled": "已取消",
@@ -10534,7 +10534,7 @@
"auto_repair_succeeded_unverified": "修復待驗證",
"auto_repair_failed": "修復失敗",
"auto_repair_recorded": "修復已記錄",
"manual_gate": "需 AI 受控閘門",
"manual_gate": "需 AI 受控隊列",
"investigating": "調查中",
"run_completed_no_repair": "Run 完成無修復",
"source_correlation_review": "來源證據待配對",
@@ -10715,7 +10715,7 @@
"title": "KM Controlled Review",
"status": "狀態:{status}",
"counts": "ready {ready} / blocked {blocked} / completed {completed} / failed {failed}",
"guardrail": "Guardrailwrites_on_read={writesOnRead}batch_writes_allowed={batchWrite}manual_review_required={manualReview}",
"guardrail": "受控邊界writes_on_read={writesOnRead}batch_writes_allowed={batchWrite}controlled_review_required={manualReview}",
"related": "{entryId} · {readiness} · {nextAction}",
"noRelated": "本 Incident 尚未對到 controlled-review completion item。",
"fetchFailed": "KM controlled-review 摘要讀取失敗:{reason}",
@@ -11083,7 +11083,7 @@
"learning": "KM / 學習",
"learningValue": "KM {km};自動修復 {autoRepair}",
"learningDetail": "驗證={verification};下一步={nextStep}",
"handoff": "人工 / 下一步",
"handoff": "AI 受控 / 下一步",
"handoffDetail": "原因={reason};下一步={nextAction}"
},
"source": {
@@ -11110,7 +11110,7 @@
"status": {
"ready": "已接收",
"waiting": "等待資料",
"needsReview": "待核",
"needsReview": "待受控覆核",
"applied": "已套用"
}
},
@@ -11643,7 +11643,7 @@
"actions": {
"repair_alert_intake_or_outbound_mirror": "修復告警入庫或出站鏡像",
"route_incident_to_mcp_gateway_and_evidence_collectors": "把事件導入 MCP Gateway 與證據收集器",
"resolve_pending_or_expired_human_gate": "處理待處理 / 已過期 AI 受控閘門",
"resolve_pending_or_expired_human_gate": "處理待處理 / 已過期 AI 受控隊列",
"record_effective_execution_or_mark_manual_no_action": "記錄有效執行,或明確標成 AI 補齊無動作",
"write_auto_repair_execution_or_blocker_reason": "寫入自動修復執行或阻塞原因",
"run_post_execution_verification": "執行事後驗證並保存結果",
@@ -11673,7 +11673,7 @@
},
"runRefs": {
"mirrorRunState": "AwoooP 執行監控可以理解資安鏡像,但只能當只讀候選。",
"readOnlyDryRun": "若未來產生試跑證據,也必須維持只讀與 AI 受控閘門語義。",
"readOnlyDryRun": "若未來產生試跑證據,也必須維持只讀與 AI 受控隊列語義。",
"ownerResponse": "負責人回覆已收到 / 已接受仍為 0任何執行進一步行動都要等待負責人脫敏證據收件。",
"activeGates": "主動執行期閘門仍為 0不從執行監控頁開閘門或建立動作按鈕。"
}
@@ -11854,7 +11854,7 @@
"title": "審批佇列",
"urgentCount": "{count} 緊急",
"loading": "載入中...",
"pendingRefresh": "{count} 筆待審 · 上次更新 {time}",
"pendingRefresh": "{count} 筆 AI 受控列 · 上次更新 {time}",
"autoRefresh": "每 10 秒自動刷新",
"refreshNow": "立即刷新",
"loadFailed": "無法載入審批資料",
@@ -11935,7 +11935,7 @@
"blocked": "有卡點需 AI 補齊",
"degraded": "資料載入需復核",
"watching": "等待 AI 受控決策",
"clear": "目前無待"
"clear": "目前無待受控決策"
},
"status": {
"loading": "資料刷新",
@@ -12009,7 +12009,7 @@
}
},
"badges": {
"humanGate": "AI 受控閘門",
"humanGate": "AI 受控隊列",
"gate5Projection": "Gate 5 投影",
"executorHandoffPending": "等待 executor handoff"
},
@@ -12044,7 +12044,7 @@
},
"empty": {
"title": "審批佇列為空",
"subtitle": "目前沒有待審批的執行項目"
"subtitle": "目前沒有等待 AI 受控決策的執行項目"
},
"incidentFocus": {
"title": "焦點 Incident 審批真相鏈",
@@ -12058,7 +12058,7 @@
"flowTitle": "處理流程",
"handoffTitle": "審批與 AI 受控接手",
"timelineEmpty": "尚未取得 Incident timeline。",
"linkedExplanation": "此 Incident 已有 批准 / timeline 關聯;若下方待審清單為空,代表它可能已完成、過期、拒絕,或已轉成驗證後 AI 補齊接手。",
"linkedExplanation": "此 Incident 已有受控決策 / timeline 關聯;若下方 AI 受控清單為空,代表它可能已完成、過期、拒絕,或已轉成 verifier / rollback / AI 補齊。",
"unlinkedExplanation": "目前沒有對應 批准 id這代表此 Incident不是等待批准的狀態應從 Work Items / Runs 追下一步。",
"needsHuman": {
"yes": "需要 AI 補齊",
@@ -12073,7 +12073,7 @@
},
"handoff": {
"approvalIds": "Approval IDs",
"pendingRows": "待審列",
"pendingRows": "AI 受控列",
"pendingRowsValue": "AwoooP {platform} / Legacy {legacy}",
"nextAction": "下一步",
"reason": "原因"
@@ -12408,7 +12408,7 @@
},
"observe": {
"title": "觀察中",
"detail": "目前尚未進入 AI 受控閘門或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"detail": "目前尚未進入 AI 受控隊列或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"primary": "回執行監控"
},
"evidence": {
@@ -12490,7 +12490,7 @@
"success": "成功",
"timeout": "已超時",
"warning": "警告",
"waitingApproval": "等待審批"
"waitingApproval": "等待 AI 受控決策"
}
},
"approvalDecision": {
@@ -12620,7 +12620,7 @@
"runId": "執行 ID",
"approve": {
"title": "確認核准",
"body": "核准後,執行會從 AI 受控閘門恢復,繼續交由 Runtime / MCP 閘道 執行。",
"body": "受控決策通過後,執行會從 AI 受控隊列恢復,繼續交由 Runtime / MCP 閘道執行。",
"warning": "此決策會寫入執行狀態、批准 token與稽核軌跡。",
"confirm": "確認核准"
},
@@ -12802,7 +12802,7 @@
},
"observe": {
"title": "觀察中",
"detail": "目前尚未進入 AI 受控閘門或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"detail": "目前尚未進入 AI 受控隊列或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"primary": "回 Run 監控"
},
"evidence": {
@@ -12832,7 +12832,7 @@
"success": "成功",
"timeout": "已超時",
"warning": "警告",
"waitingApproval": "等待審批"
"waitingApproval": "等待 AI 受控決策"
}
},
"approvalDecision": {
@@ -12898,7 +12898,7 @@
"runId": "Run ID:",
"approve": {
"title": "確認核准",
"body": "核准後,執行會從 AI 受控閘門恢復執行,繼續交由 Runtime / MCP 閘道 執行。",
"body": "受控決策通過後,執行會從 AI 受控隊列恢復執行,繼續交由 Runtime / MCP 閘道執行。",
"warning": "此決策會寫入 執行狀態、批准 token與稽核軌跡。",
"confirm": "確認核准"
},

View File

@@ -2229,7 +2229,7 @@
"quality": {
"title": "資料品質軌道",
"scope": "目前列表",
"reviewBacklog": "待核",
"reviewBacklog": "待受控覆核",
"freshWithin7d": "7 天內更新",
"incidentLinked": "事故關聯",
"signalRich": "訊號完整",
@@ -2320,7 +2320,7 @@
"metric": {
"staleRatio": "陳舊比例",
"staleTotal": "陳舊 KM",
"ownerPending": "待核",
"ownerPending": "待受控覆核",
"readyBlocked": "可處理 / 阻塞",
"completed": "已完成"
},
@@ -2630,7 +2630,7 @@
"dispositions": "處置紀錄",
"auto": "AI / 冷啟動接手",
"human": "AI 補齊處置",
"waiting": "待核工作"
"waiting": "待受控覆核工作"
},
"assets": {
"title": "自動化資產沉澱",
@@ -2641,12 +2641,12 @@
"agentsDetail": "OpenClaw、Hermes、NemoTron 工作量。",
"workload": "工作完成",
"workloadDetail": "已完成 / 總工作量。",
"waiting": "待核",
"waiting": "待受控覆核",
"waitingDetail": "未過 allowlist / check-mode / verifier 的工作不能自動執行。"
},
"agents": {
"title": "AI Agent 分工與工作量",
"subtitle": "把每個 Agent 的角色、完成量、待核與 live runtime 計數放在同一列,避免只看到泛泛的 AI 成效百分比。",
"subtitle": "把每個 Agent 的角色、完成量、待受控覆核與 live runtime 計數放在同一列,避免只看到泛泛的 AI 成效百分比。",
"empty": "尚未讀到 Agent 工作狀態"
},
"chip": {
@@ -2656,7 +2656,7 @@
"sourceReady": "來源 {ok}/{total}",
"live": "live {count}",
"workDone": "工作 {done}/{total}",
"approval": "待核 {count}"
"approval": "待受控覆核 {count}"
}
},
"apm": {
@@ -2979,7 +2979,7 @@
"ragConf": "RAG 信心",
"execSuccess": "執行成功",
"avgDuration": "平均耗時",
"pendingApproval": "待核",
"pendingApproval": "待受控覆核",
"alertRadar": "告警雷達",
"chainTitle": "神經傳導路徑",
"nodeDone": "完成",
@@ -2991,7 +2991,7 @@
"kpiTotalExec": "總執行次數",
"kpiPlaybooks": "Playbooks",
"kpiAvgDuration": "平均修復時間",
"kpiPendingAppr": "待核授權",
"kpiPendingAppr": "待受控覆核授權",
"trendUp": "↑ {n}% 本週",
"trendDown": "↓ {n}s 本週",
"schemeBreakdown": "執行路徑分佈",
@@ -3021,7 +3021,7 @@
"noHistory": "尚無修復紀錄",
"noActiveAlerts": "目前無活躍告警",
"noPlaybooks": "尚無 Playbook 紀錄",
"noApprovals": "目前無待核項目",
"noApprovals": "目前無待受控覆核項目",
"noApprovalsDesc": "所有授權請求已處理完畢",
"chainAlert": "告警觸發",
"chainRAG": "OpenClaw RAG 診斷",
@@ -3037,7 +3037,7 @@
"relatedServices": "相關服務",
"dataImpact": "資料影響",
"dryRunChecks": "Dry-Run 檢查",
"approvalQueueCount": "共 {count} 個待核項目",
"approvalQueueCount": "共 {count} 個待受控覆核項目",
"dispositionBreakdown": "告警處置分佈",
"dispositionAuto": "自動修復",
"dispositionHuman": "人工審核",
@@ -5991,7 +5991,7 @@
"agents": "Agent 數",
"workload": "工作量",
"done": "已完成",
"waitingApproval": "待核",
"waitingApproval": "待受控覆核",
"recommendations": "AI 建議",
"approval": "需審核",
"autoEnabled": "自動執行",
@@ -6013,12 +6013,12 @@
"liveDelivery": "實發 {count}",
"workUnits": "工作單位 {count}",
"doneRatio": "完成比例",
"doneDetail": "{done}/{total} 已完成;{approval} 待核",
"doneDetail": "{done}/{total} 已完成;{approval} 待受控覆核",
"targets": "佈建目標 {count}",
"capabilities": "可委派能力 {count}",
"reportSections": "報告章節 {count}",
"ownedRecommendations": "分析建議 {count}",
"waitingApproval": "待核 {count}",
"waitingApproval": "待受控覆核 {count}",
"liveRuntime": "24h runtime 作業 {count}",
"approvalRequired": "需審核: {value}"
},
@@ -6041,7 +6041,7 @@
"heroMetrics": {
"visibleReports": "報告可見",
"workload": "工作量完成",
"waitingApproval": "待核",
"waitingApproval": "待受控覆核",
"liveTelegram": "live Telegram",
"liveOptimization": "live 優化"
},
@@ -6050,7 +6050,7 @@
"reportDetail": "章節 {sections};圖表 {charts};工作量 {work}live {live}",
"nextGate": "下一關:{gate}",
"agentWorkload": "工作量完成",
"agentDetail": "{done}/{total} 已完成;{approval} 待24h live {live}"
"agentDetail": "{done}/{total} 已完成;{approval} 待受控覆24h live {live}"
},
"truthTitle": "報告完成狀態",
"boundaryTitle": "live 啟用邊界",
@@ -6061,7 +6061,7 @@
"charts": "圖表",
"workload": "工作量",
"done": "已完成",
"waitingApproval": "待核",
"waitingApproval": "待受控覆核",
"liveDelivery": "live 發送",
"liveOptimization": "live 優化"
},
@@ -6082,7 +6082,7 @@
"completion": "完成度",
"reportDetail": "章節 {sections};圖表 {charts};工作量 {work}live {live}",
"workDone": "工作完成",
"agentDetail": "{done}/{total} 已完成;{approval} 待24h live {live}",
"agentDetail": "{done}/{total} 已完成;{approval} 待受控覆24h live {live}",
"sections": "報告章節 {count}",
"recommendations": "分析建議 {count}"
},
@@ -8592,10 +8592,10 @@
"linkedRuns": "Run 連結",
"linkedRunsDetail": "未連結事件:{unlinked}",
"openWork": "待處理工作",
"openWorkDetail": "無修復 {gap} / controlled gate {manual} / 修復失敗 {failed}",
"openWorkDetail": "無修復 {gap} / AI 受控佇列 {manual} / 修復失敗 {failed}",
"sourceDecision": "來源決策",
"sourceDecisionNone": "無待",
"sourceDecisionDetail": "已記錄核:{recorded}",
"sourceDecisionNone": "無待受控覆核",
"sourceDecisionDetail": "已記錄受控覆核:{recorded}",
"latest": "最新事件",
"latestDetail": "共 {groups} 個 recurrence group"
},
@@ -8614,8 +8614,8 @@
"runsDetail": "未連結事件:{unlinked}",
"approvals": "檢查 controlled gate",
"approvalsDetail": "{count} 個 controlled gate 待 AI policy / verifier 判定",
"sourceReviews": "核來源配對",
"sourceReviewsDetail": "{count} 個 來源 review 待決策"
"sourceReviews": "核來源配對",
"sourceReviewsDetail": "{count} 個來源待 AI 受控覆核"
}
},
"visualOps": {
@@ -8655,7 +8655,7 @@
},
"workItems": {
"label": "工作項",
"detail": "把 manual/no-action 轉成 owner SOP rail。"
"detail": "把 no-action / AI 受控 hold 轉成 SOP rail。"
},
"approvals": {
"label": "批准",
@@ -8738,7 +8738,7 @@
"executionUnverified": "已執行但未驗證",
"executionFailed": "執行失敗",
"manualRequiredNoAction": "AI 受控補齊NO_ACTION",
"approvalRequired": "等待審批",
"approvalRequired": "等待 AI 受控決策",
"observedNotExecuted": "已觀測但未執行",
"receivedOnly": "僅收到告警"
},
@@ -8767,7 +8767,7 @@
"tenantsDetail": "{active} 個啟用,{shadow} 個 shadow",
"runs": "操作執行紀錄",
"runsDetail": "執行狀態 是非同步任務的唯一觀測入口",
"approvals": "待審批",
"approvals": "AI 受控決策",
"approvalsDetail": "低 / 中 / 高風險動作進受控閘門critical / break-glass 才停在硬阻擋",
"contracts": "合約",
"contractsDetail": "專案 / 代理 / Policy contract 發布狀態"
@@ -8781,7 +8781,7 @@
"route": "流向Run 監控 / 事件詳情"
},
"approval": {
"title": "AI 受控閘門",
"title": "AI 受控隊列",
"signal": "低 / 中 / 高風險待 AI policy / verifier 判定",
"owner": "負責AI policy + SRE break-glass reviewer",
"route": "流向:審批佇列"
@@ -8815,7 +8815,7 @@
"next": {
"title": "下一步操作",
"item1": "查看 Run 監控與provider fallback",
"item2": "處理等待審批的高風險操作",
"item2": "處理等待 AI 受控決策的高風險操作",
"item3": "審查 Contract lifecycle",
"item4": "查看 AwoooP 工作鏈路地圖"
},
@@ -9053,7 +9053,7 @@
"label": "一眼判讀",
"blocked": {
"title": "目前仍有 AI 受控卡點,不能宣稱全自動閉環",
"detail": "先看阻塞工作項與 AI 受控閘門,再補 PlayBook、Verifier、rollback 與 controlled review。"
"detail": "先看阻塞工作項與 AI 受控佇列,再補 PlayBook、Verifier、rollback 與受控覆核。"
},
"inProgress": {
"title": "自動化資產正在補齊,仍需追蹤候選品質",
@@ -9078,8 +9078,8 @@
"detail": "待處理、缺口與失敗修復"
},
"owner": {
"title": "接手",
"detail": "AI 受控閘門與受控 review"
"title": "受控處置",
"detail": "AI 受控佇列與受控覆核"
},
"verifier": {
"title": "驗證",
@@ -9089,7 +9089,7 @@
"cards": {
"blockers": {
"title": "阻塞與 AI 受控隊列",
"detail": "阻塞工作項 {workItems}AI 受控閘門 {manual};資產阻塞 {assets}。",
"detail": "阻塞工作項 {workItems}AI 受控佇列 {manual};資產阻塞 {assets}。",
"action": "查看工作項"
},
"candidates": {
@@ -9103,9 +9103,9 @@
"action": "查看總帳"
},
"owners": {
"title": "負責人接手",
"detail": "AI 受控閘門 {manual};來源審查 {source};已記錄 {recorded}。",
"action": "查看審查"
"title": "AI 受控處置",
"detail": "AI 受控佇列 {manual};來源覆核 {source};已記錄 {recorded}。",
"action": "查看覆核"
}
}
},
@@ -9118,7 +9118,7 @@
"blockedLabel": "卡點 {count}",
"nextAction": "下一步:{value}",
"metrics": {
"manual": "AI 受控閘門",
"manual": "AI 受控佇列",
"gap": "自動化缺口",
"verified": "已驗證修復",
"runtime": "Runtime gate"
@@ -9185,7 +9185,7 @@
},
"km": {
"title": "KM",
"detail": "草稿、核、回測"
"detail": "草稿、AI 受控覆核、回測"
},
"playbook": {
"title": "PlayBook",
@@ -9208,7 +9208,7 @@
},
"playbook": {
"title": "PlayBook",
"detail": "OpenClaw 修復候選、服務專屬策略、trust 與 AI 受控閘門。",
"detail": "OpenClaw 修復候選、服務專屬策略、trust 與 AI 受控隊列。",
"next": "下一步:把通用兜底改成服務專屬 PlayBook補 rollback 與適用條件。"
},
"script": {
@@ -9370,17 +9370,17 @@
"gates": {
"sourceDossier": "入站告警必須能查到 received / incident_linked / 來源 refs",
"autoRepair": "必須同時有 auto_repair、verification_result=success與KM 回寫",
"recurrenceWorkItems": "Run 完成無修復、修復失敗與 AI 受控閘門必須進入可追蹤工作項",
"recurrenceWorkItems": "Run 完成無修復、修復失敗與 AI 受控佇列必須進入可追蹤工作項",
"aiRouteRepairWorkItem": "Provider lane 降級時必須顯示 evidence、owner、PlayBook候選與是否可自動修復",
"reportSourceGapOwnerReview": "每個 report-source-gap 必須有 PlayBook 草案、Verifier 計畫、腳本 readback、排程無發送與 AI 受控 review不得把全 0 當健康或自動執行授權",
"configDriftFsm": "同一 drift fingerprint 必須顯示重複、PR、零 diff、交接與下一步",
"remediationQueue": "每筆 degraded / failed / timeout都必須映射到重跑、重驗、Ticket或 AI 受控檢查",
"telegramCallbacks": "按下詳情與歷史不能再只依賴 Redis TTL或舊快照",
"callbackOwnerReview": "Telegram 詳情 / 歷史若未連到 KM owner-review,必須變成可追蹤工作項",
"callbackOwnerReview": "Telegram 詳情 / 歷史若未連到 KM 受控覆核,必須變成可追蹤工作項",
"callbackTraceRecoveryBacklog": "Callback trace 缺口必須顯示復原訊號、24h decay與backlog 下一步",
"ciSecretHygiene": "workflow不可再把 機密設定 掛在 step env / action input歷史 log 需另做輪換與保留期治理",
"governanceDispatch": "治理告警必須進 dispatch並標示 skipped / pending / repaired",
"knowledgeHealthcheck": "knowledge_degradation 必須顯示 Hermes / OpenClaw / ElephantAlpha 分工、目前階段與owner 審核點",
"knowledgeHealthcheck": "knowledge_degradation 必須顯示 Hermes / OpenClaw / ElephantAlpha 分工、目前階段與 AI 受控覆核點",
"frontendConsole": "已完成與推進中的工作必須能從前端直接追蹤",
"mcpGateway": "MCP 使用必須看得到 agent、tool、scope與blocked 原因",
"timelineContract": "Incident、Approval、Evidence、KM、時間線不得互相矛盾",
@@ -9391,10 +9391,10 @@
"evidence": {
"channelEvents": "最近 Alertmanager 通道事件:{count}",
"autoRepair": "已驗證自動修復:{verified}/{evaluated}",
"recurrenceWorkItems": "重複告警待處理:{open};無修復:{gap};修復失敗:{failed}AI 受控閘門{manual};來源待{source}",
"recurrenceWorkItems": "重複告警待處理:{open};無修復:{gap};修復失敗:{failed}AI 受控佇列{manual};來源待覆核{source}",
"recurrenceLatest": "最新:{alert} / {incident}",
"recurrenceReason": "原因:{reason}",
"recurrenceSourceReviewRecorded": "來源核已寫入歷史:{count}",
"recurrenceSourceReviewRecorded": "來源核已寫入歷史:{count}",
"recurrenceSourceApplied": "來源配對已套用:{count}",
"recurrenceEmpty": "近期重複告警尚無待處理工作項",
"aiRouteRepairWorkItem": "AI route{lane};目前 {selected};目標 {target};阻塞 {blockers} 項",
@@ -9431,7 +9431,7 @@
"remediationQueue": "補救工作:{total}AI可接手{ready}AI補齊{human}",
"telegramCallbacks": "目前修補 Telegram callback 查詢鏈與歷史摘要",
"telegramCallbacksLive": "只讀 callback toast 400 已非致命;詳情 / 歷史改由 DB 真相鏈 回覆",
"callbackOwnerReview": "Callback owner-review 缺口:{open} 個 opencallback evidence{total}",
"callbackOwnerReview": "Callback 受控覆核缺口:{open} 個 opencallback evidence{total}",
"callbackOwnerReviewLatest": "最新:{incident} / {action}",
"callbackOwnerReviewQueue": "Completion queue可處理 {ready};卡住 {blocked};完成 {completed};失敗 {failed}",
"callbackOwnerReviewNext": "下一步:{next}",
@@ -9453,9 +9453,9 @@
"governanceUnavailable": "治理事件 API 目前無法回應;待派送:{queued}",
"governanceQueueMissing": "治理 dispatch 表尚未就緒;未解治理告警:{unresolved}",
"knowledgeHealthcheck": "KM healthcheck 派工:{total};目前階段:{stage}",
"knowledgeOwner": "主責:{lead};受控覆核:{human}",
"knowledgeOwner": "主責:{lead}AI 受控覆核:{human}",
"knowledgeNext": "下一步:{action}",
"knowledgeDrafts": "KM 核草稿:{drafts};重複草稿:{duplicates}",
"knowledgeDrafts": "KM 受控覆核草稿:{drafts};重複草稿:{duplicates}",
"knowledgeStaleCandidates": "陳舊 KM 優先清單:{total} 筆;最高 {top} / {tier}",
"knowledgeCompletionQueue": "Completion queue可處理 {ready};卡住 {blocked};完成 {completed};失敗 {failed}",
"knowledgeCompletionLatest": "最新 completion{entry} / {readiness};下一步 {next}",
@@ -9546,10 +9546,10 @@
},
"knowledgeGovernance": {
"title": "KM 健康檢查派工",
"subtitle": "追蹤 knowledge_degradation 從偵測、Hermes 反查、草稿、owner 審核到 stale ratio 回測的狀態",
"subtitle": "追蹤 knowledge_degradation 從偵測、Hermes 反查、草稿、AI 受控覆核到 stale ratio 回測的狀態",
"total": "總數 {count}",
"active": "執行中 {count}",
"review": "需審核 {count}",
"review": "待受控覆核 {count}",
"drafts": "草稿 {count}",
"duplicates": "重複 {count}",
"unavailable": "governance queue API 尚未回應,不能判定 KM healthcheck 是否已派工。",
@@ -9562,14 +9562,14 @@
"support": "支援:{agents}",
"worker": "Worker 狀態:{status}",
"draft": "KM 草稿:{id}",
"duplicateWarning": "同事件另有 {count} 份重複草稿;新 worker 已改用 governance_event 去重,舊資料需 owner 合併或封存。",
"duplicateWarning": "同事件另有 {count} 份重複草稿;新 worker 已改用 governance_event 去重,舊資料需 AI 受控合併或封存。",
"draftsUnavailable": "knowledge API 尚未回應,暫時無法確認 KM 草稿與重複草稿數。",
"draftsEmpty": "目前沒有 Hermes KM healthcheck review 草稿。",
"draftSectionTitle": "KM 草稿去重視圖",
"draftGroup": "同事件草稿 {count} 份;重複 {duplicates} 份",
"archiveProposal": "封存候選:{count} 份重複草稿",
"ownerAction": "Owner 動作:{action}",
"readOnlyPlan": "讀取不寫入:{writes};未核不封存:{blocked}",
"readOnlyPlan": "讀取不寫入:{writes};未完成受控覆核不封存:{blocked}",
"staleCandidates": {
"title": "陳舊 KM 優先處理清單",
"total": "陳舊 {count}",
@@ -9583,10 +9583,10 @@
"refs": "Incident{incident}PlayBook{playbook}Approval{approval}",
"noSources": "尚無 Incident / Sentry / SigNoz / PlayBook 關聯",
"openKnowledge": "開啟 KM",
"queueReview": "排入核",
"queueReview": "排入 AI 受控覆核",
"queueingReview": "排入中",
"queueFailed": "排入 AI 受控 review 失敗;請重新整理後再確認此 KM 是否仍為陳舊候選。",
"queueResult": "核狀態:{status}Dispatch{dispatch}Event{event}",
"queueResult": "受控覆核狀態:{status}Dispatch{dispatch}Event{event}",
"ownerReviewState": "Controlled review{status};階段:{stage}Dispatch{dispatch}",
"guardrail": "防護:讀取不寫入={writes};受控覆核={review}",
"queueStatuses": {
@@ -9596,12 +9596,12 @@
},
"operationRail": {
"title": "Controlled Review 操作軌道",
"subtitle": "把陳舊 KM 從偵測、核、乾跑、確認、寫回到比例回測收斂成一條可掃描流程。",
"subtitle": "把陳舊 KM 從偵測、AI 受控覆核、乾跑、確認、寫回到比例回測收斂成一條可掃描流程。",
"nextAction": "建議下一步",
"guardrailTitle": "寫入防護",
"metric": {
"ratio": "陳舊比例",
"pending": "待核",
"pending": "待受控覆核",
"completed": "已完成",
"remaining": "距門檻",
"threshold": "門檻 {threshold}",
@@ -9627,7 +9627,7 @@
},
"detail": {
"detected": "目前 {ratio};門檻 {threshold}",
"ownerReview": "{count} 筆等待 owner 審核",
"ownerReview": "{count} 筆等待 AI 受控覆核",
"dryRun": "{ready} 筆可乾跑;{blocked} 筆卡住",
"ownerConfirm": "確認後才允許寫回,避免 AI 固化錯誤知識",
"writeback": "{count} 筆已有 completion audit",
@@ -9636,18 +9636,18 @@
},
"next": {
"waitData": "等待治理資料回填",
"clearBlocked": "先處理 blocked owner-review",
"clearBlocked": "先處理 blocked 受控覆核",
"previewReady": "先對 ready item 做單筆乾跑",
"waitOwner": "等待 owner 補齊核內容",
"queueReview": "先把高優先陳舊 KM 排入核",
"stable": "目前沒有待處理 owner-review"
"waitOwner": "等待 AI 補齊核內容",
"queueReview": "先把高優先陳舊 KM 排入 AI 受控覆核",
"stable": "目前沒有待處理受控覆核"
},
"nextDetail": {
"waitData": "completion queue 尚未回應;先刷新或檢查 API 狀態。",
"clearBlocked": "blocked item 需要先補 owner note、dispatch或必要欄位。",
"previewReady": "先按單筆乾跑取得 plan fingerprint再由 owner 確認寫回。",
"waitOwner": "已排入核但還不能寫回;需要 owner 補內容或確認策略。",
"queueReview": "stale candidate 還沒進 owner-review;先用批次乾跑或單筆排入核。",
"waitOwner": "已排入受控覆核但還不能寫回;需要 AI 補內容或確認策略。",
"queueReview": "stale candidate 還沒進 AI 受控覆核;先用批次乾跑或單筆排入核。",
"stable": "目前 completion queue 沒有待處理項;持續看 stale ratio 是否低於門檻。"
},
"guardrail": {
@@ -9666,7 +9666,7 @@
"noBlockers": "卡點:無;可先做 乾跑預覽。",
"writeGateDetail": "後端會拒絕缺 fingerprint或未 owner_approved的寫入讀取與乾跑不會改 KM。",
"step": {
"dispatch": "排入核",
"dispatch": "排入受控覆核",
"dryRun": "乾跑預覽",
"confirm": "Owner 確認",
"recheck": "比例回測"
@@ -9690,10 +9690,10 @@
"ownerReviewInbox": {
"title": "Controlled review 工作台",
"subtitle": "顯示已排入 waiting_owner_review的 P0/P1 KM逐筆乾跑與確認完成。",
"total": "待 {count}",
"total": "待受控覆核 {count}",
"returned": "顯示 {count}",
"unavailable": "owner-review inbox API 尚未回應;目前只能從候選清單逐筆操作。",
"empty": "目前沒有 pending owner-review KM。",
"unavailable": "受控覆核 inbox API 尚未回應;目前只能從候選清單逐筆操作。",
"empty": "目前沒有 pending 受控覆核 KM。",
"meta": "陳舊 {days} 天;分數 {score};瀏覽 {views}",
"state": "狀態:{status};階段:{stage}",
"batch": "Batch{batch}"
@@ -9713,7 +9713,7 @@
"currentRatio": "目前陳舊比例",
"currentCount": "陳舊 / 總數",
"ownerReviews": "Controlled review",
"ownerReviewCounts": "待 {pending} / 完成 {completed}",
"ownerReviewCounts": "待受控覆核 {pending} / 完成 {completed}",
"latestDelta": "最新變化",
"delta": "陳舊 {stale} / 比例 {ratio}",
"auditTotal": "Completion audit {count}",
@@ -9732,7 +9732,7 @@
"pending": "待處理 dispatch {count}",
"guardrail": "讀取不寫入={writes};受控覆核={review};批次寫入={batch}",
"unavailable": "completion queue API 尚未回應;目前只能從 AI 受控 review 工作台逐筆確認。",
"empty": "目前沒有 owner-review completion 工作項。",
"empty": "目前沒有受控覆核 completion 工作項。",
"state": "分流:{readiness};階段:{stage}",
"next": "下一步:{action};結果:{outcome}",
"required": "需要欄位:{fields}",
@@ -9763,7 +9763,7 @@
},
"batchActions": {
"title": "批次處理 P0 / P1 陳舊 KM",
"subtitle": "先乾跑鎖定最新 P0 / P1候選再批次建立 owner-review dispatch不會直接寫入 KM。",
"subtitle": "先乾跑鎖定最新 P0 / P1 候選,再批次建立受控覆核 dispatch不會直接寫入 KM。",
"preview": "乾跑批次",
"previewing": "乾跑中",
"confirm": "批次排入",
@@ -9771,19 +9771,19 @@
"previewFailed": "批次乾跑失敗;請重新整理後確認 stale candidates API 是否可用。",
"confirmFailed": "批次排入失敗後端可能偵測到候選清單或dispatch 狀態已變更。",
"missingPreviewFingerprint": "缺少批次乾跑 plan fingerprint請先重新執行乾跑。",
"summary": "候選 {candidates};將排入 {queued};已在核 {already};略過 {skipped};寫 KM{writesKm};寫稽核:{writesAudit}",
"summary": "候選 {candidates};將排入 {queued};已在受控覆核 {already};略過 {skipped};寫 KM{writesKm};寫稽核:{writesAudit}",
"planFingerprint": "Batch plan fingerprint{fingerprint}",
"result": "Batch dispatch{batch}Event{event};已排入 {queued};已在核 {already};略過 {skipped}",
"result": "Batch dispatch{batch}Event{event};已排入 {queued};已在受控覆核 {already};略過 {skipped}",
"statuses": {
"dry_run": "批次乾跑完成",
"queued": "批次已排入 AI 受控 review",
"noop_already_queued": "全部已在核或已處理",
"noop_already_queued": "全部已在受控覆核或已處理",
"unknown": "批次狀態待確認"
},
"itemStatuses": {
"would_queue": "將排入",
"queued": "已排入",
"already_queued": "已在核",
"already_queued": "已在受控覆核",
"skipped": "略過",
"unknown": "待確認"
}
@@ -9795,7 +9795,7 @@
"confirming": "寫入中",
"previewFailed": "乾跑預覽失敗;請重新整理後確認 AI 受控 review dispatch仍有效。",
"confirmFailed": "確認完成失敗;後端可能偵測到 KM或dispatch 狀態已變更。",
"missingDispatch": "缺少 owner-review dispatch請先排入核。",
"missingDispatch": "缺少受控覆核 dispatch請先排入 AI 受控覆核。",
"missingPreviewFingerprint": "缺少乾跑 plan fingerprint請先重新執行乾跑預覽。",
"previewResult": "乾跑結果:{outcome};寫 KM{writesKm};寫稽核:{writesAudit}",
"planFingerprint": "Plan fingerprint{fingerprint}",
@@ -9803,7 +9803,7 @@
"snapshot": "目前 stale {stale} / total {total}ratio {ratio};門檻 {threshold}",
"statuses": {
"dry_run": "乾跑完成",
"completed": "核完成",
"completed": "受控覆核完成",
"already_completed": "已完成,無需重複處理",
"unknown": "狀態待確認"
},
@@ -9815,7 +9815,7 @@
},
"actions": {
"refresh_with_evidence": "依 Incident / Sentry / SigNoz / PlayBook 證據刷新",
"owner_review": "交由 owner 審核內容",
"owner_review": "交由 AI 受控覆核內容",
"archive_or_supersede": "封存或以新條目取代"
},
"correlationSources": {
@@ -9833,9 +9833,9 @@
"sentry_context": "含 Sentry 脈絡",
"signoz_context": "含 SigNoz 脈絡",
"anti_pattern_priority": "Anti-Pattern 優先",
"auto_runbook_review_needed": "自動 Runbook 待",
"auto_runbook_review_needed": "自動 Runbook 待受控覆核",
"ai_extracted_needs_owner_check": "AI 萃取需覆核",
"already_waiting_review": "已在核狀態",
"already_waiting_review": "已在受控覆核狀態",
"viewed_by_operator": "近期有人查看",
"older_than_30_days": "超過 30 天",
"stale_by_age": "超過陳舊門檻",
@@ -9844,8 +9844,8 @@
},
"openEventHistory": "開啟事件歷史",
"ownerActions": {
"owner_review_canonical_then_archive_duplicates": "核 canonical 草稿後封存 duplicates",
"review_canonical_and_archive_duplicate_drafts": "核 canonical 並封存重複草稿",
"owner_review_canonical_then_archive_duplicates": "受控覆核 canonical 草稿後封存 duplicates",
"review_canonical_and_archive_duplicate_drafts": "受控覆核 canonical 並封存重複草稿",
"unknown": "待補 owner 動作"
},
"archiveHistory": {
@@ -9910,19 +9910,19 @@
"batch_owner_review_previewed": "批次 AI 受控 review 已乾跑",
"batch_owner_review_queued": "批次已排入 AI 受控 review",
"batch_noop_already_queued": "批次無需重複排入",
"waiting_owner_review": "等待 owner 審核",
"owner_updates_or_archives_km": "Owner 更新或封存 KM",
"km_writeback_after_approval": "核後寫回 KM",
"km_archive_after_approval": "核後封存 KM",
"km_supersede_after_approval": "核後以新 KM 取代",
"waiting_owner_review": "等待 AI 受控覆核",
"owner_updates_or_archives_km": "AI 受控更新或封存 KM",
"km_writeback_after_approval": "核後寫回 KM",
"km_archive_after_approval": "核後封存 KM",
"km_supersede_after_approval": "核後以新 KM 取代",
"stale_ratio_recheck": "回測 stale ratio",
"owner_approved_duplicate_archive": "Owner 已批准封存重複草稿",
"km_duplicate_archive_after_owner_approval": "Owner 審核後封存重複草稿",
"km_duplicate_archive_after_owner_approval": "AI 受控覆核後封存重複草稿",
"km_governance_rechecked": "KM 治理已回測",
"km_governance_close_or_continue": "關閉或繼續治理",
"needs_manual_km_triage": "需要 AI 整理 KM",
"cancelled": "已取消",
"queued_for_review": "等待治理核",
"queued_for_review": "等待治理受控覆核",
"dispatched": "已派遣",
"executing": "執行中",
"completed": "已完成",
@@ -10162,7 +10162,7 @@
"type": "PlayBook",
"owner": "OpenClaw",
"visibility": "Work Items服務專屬步驟、trust policy、適用條件。",
"status": "待核"
"status": "待受控覆核"
},
"script": {
"type": "Script / Ansible",
@@ -10204,15 +10204,15 @@
},
"chainHint": "下方完整 status-chain 與 incident timeline 會用同一個 Incident 查詢;如果仍沒有資料,代表資料鏈路還沒把這筆告警完整串上。",
"openRuns": "打開 Runs",
"openApprovals": "打開審批"
"openApprovals": "打開 AI 受控決策"
},
"recurrence": {
"title": "重複告警工作項",
"subtitle": "把 run_completed_no_repair、修復失敗與 AI 受控閘門接成可追蹤 work item",
"subtitle": "把 run_completed_no_repair、修復失敗與 AI 受控隊列接成可追蹤 work item",
"open": "待處理 {count}",
"automationGap": "無修復 {count}",
"failed": "修復失敗 {count}",
"sourceReview": "來源待 {count}",
"sourceReview": "來源待受控覆核 {count}",
"sourceApplied": "已套用 {count}",
"unavailable": "recurrence API 尚未回應,不能判定工作項狀態。",
"empty": "近期重複告警沒有待處理工作項。",
@@ -10227,8 +10227,8 @@
"detail": "參照={refs}Sentry={sentry}SigNoz={signoz};事件={event}",
"statuses": {
"applied": "已套用",
"reviewed": "核已記錄",
"review": "待核配對",
"reviewed": "核已記錄",
"review": "待受控覆核配對",
"evidence": "來源證據已到",
"provider": "供應者已接收",
"waiting": "等待來源"
@@ -10238,7 +10238,7 @@
"repair": "修復狀態:{status}",
"reason": "原因:{reason}",
"nextStep": "下一步:{step}",
"sourceReviewDecision": "來源核:{decision} / {status}",
"sourceReviewDecision": "來源核:{decision} / {status}",
"sourceApplyStatus": "來源套用:{status} / {event}",
"openRun": "開啟 Run",
"openRuns": "回 Run 監控",
@@ -10263,7 +10263,7 @@
"writes": "寫入incident={incident}autoRepair={autoRepair}ticket={ticket}",
"sourceWrites": "來源事件回寫:{source}",
"history": "試跑入庫:{recorded}",
"sourceReviewResult": "來源核:{decision} / {status} / Incident {incident}",
"sourceReviewResult": "來源核:{decision} / {status} / Incident {incident}",
"sourceApplyResult": "來源配對套用:{status} / {event}",
"handoffStatus": "交接:{kind} / {status}",
"externalTicket": "外部 Ticket 建立:{created}",
@@ -10325,7 +10325,7 @@
"auto_repair_succeeded_unverified": "修復待驗證",
"auto_repair_failed": "修復失敗",
"auto_repair_recorded": "修復已記錄",
"manual_gate": "需 AI 受控閘門",
"manual_gate": "需 AI 受控隊列",
"investigating": "調查中",
"run_completed_no_repair": "Run 完成無修復",
"source_correlation_review": "來源證據待配對",
@@ -10358,7 +10358,7 @@
"review_approval": "處理審批",
"wait_for_run_completion": "等待 Run 完成",
"create_repair_ticket": "建立修復 Ticket",
"review_provider_source_match": "核來源與Incident 配對",
"review_provider_source_match": "核來源與 Incident 配對",
"verify_source_match_in_status_chain": "到狀態鏈驗證來源配對",
"verify_source_link_in_status_chain": "到狀態鏈驗證來源連結事件",
"monitor_for_new_provider_evidence": "等待新的 Provider 證據",
@@ -10417,7 +10417,7 @@
"mcpCount": "MCP 調查 {count} 次",
"route": "MCP{route}",
"emptyShort": "尚未連到 AI 證據",
"manualGate": "下一步AI 受控審批",
"manualGate": "下一步AI 受控決策",
"filters": {
"label": "AI 證據篩選",
"all": "所有 AI 證據",
@@ -10451,8 +10451,8 @@
"mcpObservedDetail": "列表已連到 MCP / 自建 MCP 調查證據",
"readOnly": "只讀試跑",
"readOnlyDetail": "最新證據顯示 AI 已試跑且未寫狀態",
"manualGate": "AI 受控閘門",
"manualGateDetail": "AI 已停在 controlled gate需 policy / verifier / approve 判定",
"manualGate": "AI 受控隊列",
"manualGateDetail": "AI 已停在 controlled gate需 policy / verifier / controlled apply 判定",
"writeObserved": "寫入旗標",
"writeObservedDetail": "需確認是否為預期自動修復結果",
"callbackObserved": "TG Callback",
@@ -10505,7 +10505,7 @@
"duplicates": "重複事件",
"linkedRuns": "已連 Run",
"autoRepair": "自動修復",
"sourceReview": "來源待",
"sourceReview": "來源待覆核",
"openWorkItems": "待處理項"
},
"details": {
@@ -10515,13 +10515,13 @@
"limit": "最近 {count} 筆視窗",
"verifiedRepair": "{count} 組已驗證修復",
"sourceReview": "{count} 組 Sentry / SignOz 來源需 AI 輔助配對",
"manualGates": "{count} 組 AI 受控閘門"
"manualGates": "{count} 組 AI 受控隊列"
},
"states": {
"pending": "待執行",
"running": "執行中",
"waiting_tool": "等待工具",
"waiting_approval": "等待審批",
"waiting_approval": "等待 AI 受控決策",
"completed": "已完成",
"failed": "失敗",
"cancelled": "已取消",
@@ -10534,7 +10534,7 @@
"auto_repair_succeeded_unverified": "修復待驗證",
"auto_repair_failed": "修復失敗",
"auto_repair_recorded": "修復已記錄",
"manual_gate": "需 AI 受控閘門",
"manual_gate": "需 AI 受控隊列",
"investigating": "調查中",
"run_completed_no_repair": "Run 完成無修復",
"source_correlation_review": "來源證據待配對",
@@ -10715,7 +10715,7 @@
"title": "KM Controlled Review",
"status": "狀態:{status}",
"counts": "ready {ready} / blocked {blocked} / completed {completed} / failed {failed}",
"guardrail": "Guardrailwrites_on_read={writesOnRead}batch_writes_allowed={batchWrite}manual_review_required={manualReview}",
"guardrail": "受控邊界writes_on_read={writesOnRead}batch_writes_allowed={batchWrite}controlled_review_required={manualReview}",
"related": "{entryId} · {readiness} · {nextAction}",
"noRelated": "本 Incident 尚未對到 controlled-review completion item。",
"fetchFailed": "KM controlled-review 摘要讀取失敗:{reason}",
@@ -11083,7 +11083,7 @@
"learning": "KM / 學習",
"learningValue": "KM {km};自動修復 {autoRepair}",
"learningDetail": "驗證={verification};下一步={nextStep}",
"handoff": "人工 / 下一步",
"handoff": "AI 受控 / 下一步",
"handoffDetail": "原因={reason};下一步={nextAction}"
},
"source": {
@@ -11110,7 +11110,7 @@
"status": {
"ready": "已接收",
"waiting": "等待資料",
"needsReview": "待核",
"needsReview": "待受控覆核",
"applied": "已套用"
}
},
@@ -11643,7 +11643,7 @@
"actions": {
"repair_alert_intake_or_outbound_mirror": "修復告警入庫或出站鏡像",
"route_incident_to_mcp_gateway_and_evidence_collectors": "把事件導入 MCP Gateway 與證據收集器",
"resolve_pending_or_expired_human_gate": "處理待處理 / 已過期 AI 受控閘門",
"resolve_pending_or_expired_human_gate": "處理待處理 / 已過期 AI 受控隊列",
"record_effective_execution_or_mark_manual_no_action": "記錄有效執行,或明確標成 AI 補齊無動作",
"write_auto_repair_execution_or_blocker_reason": "寫入自動修復執行或阻塞原因",
"run_post_execution_verification": "執行事後驗證並保存結果",
@@ -11673,7 +11673,7 @@
},
"runRefs": {
"mirrorRunState": "AwoooP 執行監控可以理解資安鏡像,但只能當只讀候選。",
"readOnlyDryRun": "若未來產生試跑證據,也必須維持只讀與 AI 受控閘門語義。",
"readOnlyDryRun": "若未來產生試跑證據,也必須維持只讀與 AI 受控隊列語義。",
"ownerResponse": "負責人回覆已收到 / 已接受仍為 0任何執行進一步行動都要等待負責人脫敏證據收件。",
"activeGates": "主動執行期閘門仍為 0不從執行監控頁開閘門或建立動作按鈕。"
}
@@ -11854,7 +11854,7 @@
"title": "審批佇列",
"urgentCount": "{count} 緊急",
"loading": "載入中...",
"pendingRefresh": "{count} 筆待審 · 上次更新 {time}",
"pendingRefresh": "{count} 筆 AI 受控列 · 上次更新 {time}",
"autoRefresh": "每 10 秒自動刷新",
"refreshNow": "立即刷新",
"loadFailed": "無法載入審批資料",
@@ -11935,7 +11935,7 @@
"blocked": "有卡點需 AI 補齊",
"degraded": "資料載入需復核",
"watching": "等待 AI 受控決策",
"clear": "目前無待"
"clear": "目前無待受控決策"
},
"status": {
"loading": "資料刷新",
@@ -12009,7 +12009,7 @@
}
},
"badges": {
"humanGate": "AI 受控閘門",
"humanGate": "AI 受控隊列",
"gate5Projection": "Gate 5 投影",
"executorHandoffPending": "等待 executor handoff"
},
@@ -12044,7 +12044,7 @@
},
"empty": {
"title": "審批佇列為空",
"subtitle": "目前沒有待審批的執行項目"
"subtitle": "目前沒有等待 AI 受控決策的執行項目"
},
"incidentFocus": {
"title": "焦點 Incident 審批真相鏈",
@@ -12058,7 +12058,7 @@
"flowTitle": "處理流程",
"handoffTitle": "審批與 AI 受控接手",
"timelineEmpty": "尚未取得 Incident timeline。",
"linkedExplanation": "此 Incident 已有 批准 / timeline 關聯;若下方待審清單為空,代表它可能已完成、過期、拒絕,或已轉成驗證後 AI 補齊接手。",
"linkedExplanation": "此 Incident 已有受控決策 / timeline 關聯;若下方 AI 受控清單為空,代表它可能已完成、過期、拒絕,或已轉成 verifier / rollback / AI 補齊。",
"unlinkedExplanation": "目前沒有對應 批准 id這代表此 Incident不是等待批准的狀態應從 Work Items / Runs 追下一步。",
"needsHuman": {
"yes": "需要 AI 補齊",
@@ -12073,7 +12073,7 @@
},
"handoff": {
"approvalIds": "Approval IDs",
"pendingRows": "待審列",
"pendingRows": "AI 受控列",
"pendingRowsValue": "AwoooP {platform} / Legacy {legacy}",
"nextAction": "下一步",
"reason": "原因"
@@ -12408,7 +12408,7 @@
},
"observe": {
"title": "觀察中",
"detail": "目前尚未進入 AI 受控閘門或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"detail": "目前尚未進入 AI 受控隊列或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"primary": "回執行監控"
},
"evidence": {
@@ -12490,7 +12490,7 @@
"success": "成功",
"timeout": "已超時",
"warning": "警告",
"waitingApproval": "等待審批"
"waitingApproval": "等待 AI 受控決策"
}
},
"approvalDecision": {
@@ -12620,7 +12620,7 @@
"runId": "執行 ID",
"approve": {
"title": "確認核准",
"body": "核准後,執行會從 AI 受控閘門恢復,繼續交由 Runtime / MCP 閘道 執行。",
"body": "受控決策通過後,執行會從 AI 受控隊列恢復,繼續交由 Runtime / MCP 閘道執行。",
"warning": "此決策會寫入執行狀態、批准 token與稽核軌跡。",
"confirm": "確認核准"
},
@@ -12802,7 +12802,7 @@
},
"observe": {
"title": "觀察中",
"detail": "目前尚未進入 AI 受控閘門或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"detail": "目前尚未進入 AI 受控隊列或終止狀態。請沿時間線確認入站事件、工具呼叫與出站訊息是否有缺口。",
"primary": "回 Run 監控"
},
"evidence": {
@@ -12832,7 +12832,7 @@
"success": "成功",
"timeout": "已超時",
"warning": "警告",
"waitingApproval": "等待審批"
"waitingApproval": "等待 AI 受控決策"
}
},
"approvalDecision": {
@@ -12898,7 +12898,7 @@
"runId": "Run ID:",
"approve": {
"title": "確認核准",
"body": "核准後,執行會從 AI 受控閘門恢復執行,繼續交由 Runtime / MCP 閘道 執行。",
"body": "受控決策通過後,執行會從 AI 受控隊列恢復執行,繼續交由 Runtime / MCP 閘道執行。",
"warning": "此決策會寫入 執行狀態、批准 token與稽核軌跡。",
"confirm": "確認核准"
},

View File

@@ -729,7 +729,7 @@ const STATE_CONFIG: Record<
border: "border-[#d9b36f]",
},
waiting_approval: {
label: "等待審批",
label: "等待 AI 受控決策",
bg: "bg-[#fff7e8]",
text: "text-[#8a5a08]",
border: "border-[#d9b36f]",
@@ -771,7 +771,7 @@ const LANE_CONFIG: Record<
> = {
intake: {
label: "排程入口",
detail: "等待 worker 接",
detail: "等待 AI worker 接",
icon: ListChecks,
className: "border-[#d8d3c7] bg-white text-[#5f5b52]",
},
@@ -782,7 +782,7 @@ const LANE_CONFIG: Record<
className: "border-[#9bb6d9] bg-[#eef5ff] text-[#1f5b9b]",
},
approval: {
label: "AI 受控閘門",
label: "AI 受控隊列",
detail: "等待 policy、check-mode 與 verifier 判定",
icon: ShieldCheck,
className: "border-[#d9b36f] bg-[#fff7e8] text-[#8a5a08]",

View File

@@ -19,6 +19,23 @@
**下一步**
- 回到 ordered P0重跑 all-host cold-start / SLO scorecard110 仍是 `harbor_110_remote_ssh_publickey_auth_stalled` + Harbor / registry `502` 主 blocker若 110 SSH/control path 恢復,第一動作仍是套用新版 systemd exporter 或暫停舊 exporter再回讀 systemd/logind、Gitea CPU 與 load5/core。
## 2026-07-01 — 13:35 AwoooP 可見文案改為 AI 受控決策 / 受控隊列
**照主線修正的問題**
- `/zh-TW/awooop/approvals`、Runs、Work Items 與 Alerts redirect 相關 AwoooP 可見文字仍混用「待審批、等待審批、AI 受控閘門、人工 / 下一步、負責人接手」等舊 HITL 語意。
- 本次只改可見 copy 與 AwoooP Runs hardcoded status label低 / 中 / 高風險流程改成 `AI 受控決策``AI 受控隊列``AI 受控覆核`;底層 `manual_review_required` / `owner-review` API 欄位、endpoint slug 與歷史 evidence key 保留為 contract / ledger truth。
- `awooop.*` message path 針對 `待人工決策 / 阻塞與人工閘門 / 人工接手 / 待審批 / 等待審批 / AI 受控閘門` 的 blocking copy scan 已歸零。
**驗證**
- `python3.11 -m json.tool --indent 2 apps/web/messages/zh-TW.json >/dev/null && python3.11 -m json.tool --indent 2 apps/web/messages/en.json >/dev/null`:通過。
- `python3.11 scripts/security/awooop-controlled-automation-copy-guard.py``AWOOOP_CONTROLLED_AUTOMATION_COPY_GUARD_OK`
- `python3.11 scripts/dev/awoooi-navigation-coverage-guard.py``AWOOOI_NAVIGATION_COVERAGE_GUARD_OK routes=47 nav_routes=46 nav_label_keys=50`
- `git diff --check`:通過。
- `pnpm --dir apps/web typecheck`:未完成,原因是本機 `node_modules``typescript@5.9.3/.../bin/tsc`,不是 TypeScript 編譯錯誤。
- `python3.11 scripts/security/security-mirror-progress-guard.py`:未完成,既有 blocker `command_palette.product_ia_source: missing 'PRODUCT_NAV_SECTIONS.flatMap(section => section.items)'`
**邊界**:只改 AwoooP 可見文案、Runs status label 與 LOGBOOK未改 API 欄位 / endpoint slug / runtime gate未使用 GitHub / `gh` / GitHub API未 workflow_dispatch未執行 110 runtime apply。
## 2026-07-01 — 13:05 AI Loop current blocker 對齊 publickey offer timeout / load-not-high
**照主線修正的問題**