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:
@@ -792,12 +792,31 @@ func RunDirectOnce(cfg *DirectConfig, dryRun bool) ([]DirectResult, int, *Trigge
|
||||
if len(st.Failures) > MaxSkippedListed {
|
||||
st.Failures = st.Failures[:MaxSkippedListed]
|
||||
}
|
||||
// 單帳號時把 cloud version 也填頂層(向後相容)
|
||||
if len(accountDetails) == 1 {
|
||||
for _, v := range accountDetails {
|
||||
st.CloudVersion = v.CloudVersion
|
||||
st.CloudCheckOK = v.CloudCheckOK
|
||||
break
|
||||
// 頂層 cloud version/cloud_check_ok 給「只認得到一份版本號」的舊消費端
|
||||
// (向後相容;t103 時代單帳號才有這兩個頂層欄位)。
|
||||
//
|
||||
// 🔴 arcrun-rag#59 相關實查(2026-08-10,總管/leo 對照 curl,三台 /health 全部 200;
|
||||
// 詳見頂層 wiki `system-dev/wiki/status.md`「畫面在說謊」段):以前這裡**只有剛好
|
||||
// 一個帳號**才填,2+ 帳號(leo 自己的常態)時 `st.CloudCheckOK` 停在 Go 零值
|
||||
// `false` 沒人填過 ⇒ 讀這個頂層欄位的地方會看到「沒連上雲端」,**即使每一個
|
||||
// 帳號都連得上**。改成:不論帳號數,只要**任一**帳號連得上就算連得上;
|
||||
// `CloudVersion` 取第一個非空版本代表(按 key 排序,同一份輸入永遠同一個輸出),
|
||||
// 不是宣稱所有帳號版本一致——**多帳號時真正該看的是各帳號自己的
|
||||
// AccountDetails,這裡只是不讓頂層欄位繼續說反話**。
|
||||
if len(accountDetails) > 0 {
|
||||
hosts := make([]string, 0, len(accountDetails))
|
||||
for h := range accountDetails {
|
||||
hosts = append(hosts, h)
|
||||
}
|
||||
sort.Strings(hosts)
|
||||
for _, h := range hosts {
|
||||
v := accountDetails[h]
|
||||
if v.CloudCheckOK {
|
||||
st.CloudCheckOK = true
|
||||
}
|
||||
if st.CloudVersion == "" && v.CloudVersion != "" {
|
||||
st.CloudVersion = v.CloudVersion
|
||||
}
|
||||
}
|
||||
}
|
||||
// 🔴 2026-08-05(leo:「自始至終都顯示『等待中』…實際上已經做完了,這個 status 是壞的」):
|
||||
|
||||
Reference in New Issue
Block a user