fix(arcrun-rag#59): 額度卡與雲端連線兩則假訊息改口

leo21c 畫面同時說「今天已經幫你整理了 0 份」與「額度用完,可以換一個模型,
或升級 Cloudflare」——一份都沒成功,額度其實是被同帳號正在做的向量化
(嵌入固定走 Workers AI,與萃取共用同一份每日免費額度)吃光的,換萃取模型
救不了。改法:buildQuotaNotice 在 dailyCount==0(本輪一份都沒吃到額度就先
撞牆)時換一套出口/保證句——不再建議換模型、不再無條件承諾「明天會自動
接著跑」,只留「升級 Cloudflare」這個結構上真的有效的出口;dailyCount>0
(單純量大用完)維持原三句話不動。

同批修另一則真因已被頂層 wiki 鎖定的假訊息:leo 三個帳號 /health 全部 200,
畫面卻顯示「沒連上雲端」——direct.go 寫 status.json 頂層 cloud_check_ok 時
以前只有剛好一個帳號才會填,2+ 帳號(leo 的常態)時恆為 Go 零值 false。
改成不論帳號數,任一帳號連得上就標頂層為 true。

兩者都有回歸測試:對修改前的程式碼跑會 FAIL(多帳號 CloudCheckOK 案例已
用 git stash 實測驗證),修完後 PASS。額度卡文案另外用真正的 frontend/dist
+ 假 window.go 灌 leo21c 現場資料,Claude Browser 實際開起來看過,確認新
文案正確渲染、不再出現「可以換一個模型」、console 無紅字。

未做:兩者都只在原始碼層修好,尚未重打 daemon bundle 出貨(0.18.25 用戶
手上還看不到);頂層 cloud_check_ok 的實際消費端(除已知的舊版 tray)未
完全追出,留給下一輪核實。詳見 system-dev/docs/3-specs/daemon-beta/tasks.md
t216/t217。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-08-11 12:28:49 +08:00
parent 3862a1a877
commit 4cbc7ebe11
6 changed files with 209 additions and 18 deletions
+7 -3
View File
@@ -57,9 +57,13 @@ type SyncStatus struct {
LastActivityAt string `json:"last_activity_at,omitempty"` // RFC3339,上次有產出那輪的完成時間
LastActivityOK int `json:"last_activity_ok"` // 那一輪成功幾份
LastActivityFailed int `json:"last_activity_failed"` // 那一輪失敗幾份
// 頂層 cloud 欄位保留向後相容(單帳號時同時填頂層+AccountDetails
CloudVersion string `json:"cloud_version,omitempty"` // bundle_version(單帳號時填)
CloudCheckOK bool `json:"cloud_check_ok"` // /health 可達才為 true
// 頂層 cloud 欄位保留向後相容(同時填頂層+AccountDetails;不論帳號數——
// arcrun-rag#59 相關實查修過,見 direct.go 寫入處註解:以前只有剛好一個帳號
// 才填,2+ 帳號時這裡恆為零值 false,讀這個頂層欄位的地方會看到「沒連上雲端」
// 即使每個帳號都連得上)。CloudCheckOK=任一帳號連得上;CloudVersion=第一個
// 非空版本代表,不代表所有帳號版本一致。
CloudVersion string `json:"cloud_version,omitempty"` // bundle_version(有連得上的帳號時填)
CloudCheckOK bool `json:"cloud_check_ok"` // 任一帳號 /health 可達即為 true
// t104per-account 狀態(key = instanceHostOf(cypher_url)
AccountDetails map[string]AccountSyncStatus `json:"account_details,omitempty"`