功能

用量上限不該終結你的工作階段。

每一家供應商最終都會擋下你,而 Happier 改變不了這一點。它能做的是把工作階段停在上限處、告訴你何時重設,並從停下來的地方重新開始工作。打開「Always wait and resume」,它就會全程無人看管地把整件事做完 — 一個設定,然後你回來時看到的是一個繼續下去的工作階段,而不是一個停住的。這是在一個帳號上的情況。如果你擁有好幾份訂閱,下面有更好的答案:把它們組成池,工作階段把其中一個用乾之後就換到下一個。

只有一個帳號時,Happier 會等過重設,然後續接工作階段

供應商拒絕了一個回合,Happier 就顯示「Usage limit reached」,並在供應商有提供時附上重設時間。從那裡開始:等待 — 「Resume when limit resets」會保留工作階段並自行接續 — 或按「Check limit now」重新探測,或不再等待。等待是能保住你整個下午的那一個:Happier 記住重設時間、替你重新檢查、如果工作階段期間已經退出就重新啟動它,並送出一則提示,從被打斷的脈絡繼續下去。勾一次「Always wait and resume」,之後就不會再問你 — 之後每一次上限都會以同樣的方式處理,不需要有人看著。Codex 工作階段更進一步,只要設定了「Continue automatically」,它就會自行武裝這個等待。

那個橫幅會出現在 Claude Code、Codex、OpenCode、Gemini 和 Pi 上。登錄庫中沒有其他代理程式會以 Happier 能據以行動的形式回報用量上限,所以在那些代理程式上你看到的是供應商自己的 CLI 印出來的東西。

把你擁有的訂閱組成池,工作階段就會跨著它們繼續下去

池屬於一個已連結服務,而不是屬於某個代理程式。已連結服務是一種憑證 — 一份 Claude 訂閱、一份 Codex 訂閱、一把 Anthropic 或 OpenAI 金鑰、一個 Gemini 登入 — 而池是你在其中一種上的一組自有帳號。你要跑哪個代理程式是另一個選擇,在你啟動工作階段時做。

所以同一個池服務不只一個代理程式。Claude 訂閱和 Anthropic 金鑰由 Claude Code、OpenCode 和 Pi 使用;Codex 訂閱和 OpenAI 金鑰由 Codex、OpenCode 和 Pi 使用;Gemini 登入由 Gemini 使用。把你的兩個 Claude 帳號建成一個池,那天下午不論你開的是 Claude Code、OpenCode 還是 Pi,它都在那裡。

在你建立一個池之前什麼都不會切換,而池是你刻意做出來的東西:Settings → Connected services,打開那些帳號所屬的服務,然後 Pools → Create pool,命名它,並加入你想放進去的帳號。在它存在之前,每個工作階段都使用你挑的那一個帳號,並在那個帳號停下來時停下來。

池一旦存在,對於能在執行中工作階段內更換帳號的服務,它會以自動備援開啟的狀態開始。池上有一個開關 — "Automatic fallback" — 關掉它會留給你一個手動切換的池,如果你寧可每次自己決定,這也是一種合理的用法。

預設值刻意不積極。Happier 會備援到另一個成員,偏好剩餘額度最多的那一個,最多每回合一次、每個工作階段小時三次,中間有三十秒的冷卻時間。當供應商說某個上限會在特定時間重設時,Happier 會照它說的算,在那之前不把該帳號視為候選對象。池是為了讓你不要為了重新登入而損失二十分鐘;它不是輪替服務,而每小時的上限就是為了讓它不會悄悄變成那樣。

人們常把這叫做負載平衡。Happier 做的事比那窄,而且在你花錢買第二份訂閱之前值得知道:它不會把工作分散到你的帳號上以維持平衡。當你正在用的帳號還有餘裕時,什麼都不會移動。池的存在是為了其中一個用完的那一刻 — 產品把它稱為自動備援,而它就正是那個意思。

池如何備援:它挑哪一個帳號,以及多常挑

新池起始時的預設值。全部都可以逐池編輯。

設定預設值原因
它挑哪一個帳號剩餘額度最多的從最後一次用量快照讀取。固定優先順序和完全手動是替代方案。
什麼會觸發切換用量上限、驗證過期、帳號變更權杖更新失敗不會,因為更新失敗通常是出於另一個帳號也解決不了的原因。
預防性切換剩餘低於 15%只有在另一個成員有更新鮮可用的額度時才會。設成 0,Happier 就會等到真正的上限。
每回合的切換次數1一個回合不能走完你整個池。如果下一個帳號也用完了,工作階段會停下來並說明。
每個工作階段小時的切換次數3這是上限,不是目標。
兩次切換之間的冷卻時間30 秒避免一個反覆跳動的供應商回應造成一連串的帳號變更。
供應商的重設時間遵守供應商說某個成員在下午 4 點之前用完了,那它在下午 4 點之前就不是候選對象。

哪些帳號可以組成池,以及哪些代理程式可以使用它們

你可以連結的每一種帳號各一列。能夠使用一個池,和能夠在執行中的回合裡更換帳號,是兩種不同的能力,而第二種比較少見。

你連結的帳號可以使用它的代理程式工作階段中途切換額度計量
Claude 訂閱Claude Code、OpenCode、PiClaude Code
Anthropic API 金鑰Claude Code、OpenCode、PiClaude CodeNo
Codex 訂閱Codex、OpenCode、PiCodex
OpenAI API 金鑰Codex、OpenCode、PiCodexNo
GeminiGemini

OpenCode、Pi 和 Gemini 都可以指向一個池化的帳號,也都可以在它的成員之間移動,但不能不重啟工作階段 — 所以對這些來說,你是在工作階段開始之前選帳號,而不是在進行中選。Happier 執行的其他每一個代理程式都是透過自己的 CLI 登入,完全不在這件事之內。

GitHub 也是一個已連結帳號,而它是唯一不在這裡的:沒有代理程式跑在 GitHub 權杖上。Happier 用它來發佈儲存庫或開 pull request,所以它既沒有池也沒有額度計量。

你自己的帳號,以及你的供應商條款允許什麼

帳號池是給你自己擁有的帳號用的。這項功能的形狀是一個人擁有好幾個自己的登入 — 一份個人的 Max 訂閱和一個工作用的 Claude 席次、一份 Codex 訂閱和一把 OpenAI 金鑰 — 全部在同一個地方保持可見、可切換,而不是每次用完就重新驗證一次 CLI。

它不是把好幾個人放到同一份訂閱上的方法。供應商條款 — Anthropic 和 OpenAI 都一樣 — 禁止多人共用單一訂閱,而池化並不改變這一點:如果你那樣使用它,你就在供應商條款之外,沒有任何用戶端能替你解決這件事。

我們不是律師,我們不提供任何保證,而且供應商條款會改變。請自行閱讀。如果你的組織與供應商有協議,在你連結工作帳號之前先確認它。

在應用程式裡建立一個池,從 CLI 在它上面啟動工作階段

在同一個服務上連結兩個帳號、一個池,再確認計量有在讀。建立池是應用程式的工作 — Settings → Connected services,選擇服務,Pools — 因為沒有任何指令會建立池;happier connect 從 shell 把帳號登入進來,就到此為止。在你已經建好的池上啟動工作階段,則是屬於 CLI 的那一半:happier --auth cs:<id> 接受一個設定檔或一個池的 id。當設定檔和池共用一個 id、短格式無法區分它們時,還有一個較長的 cs:group:<id> 寫法。

先連結帳號,而那一部分有一份設定參考:每個供應商的登入怎麼運作、哪個代理程式可以使用哪一種憑證,以及額度快照從哪裡來。

自行架設的中繼站可以關掉這項功能,也可以把額度計量和池化分開關掉。如果你在別人的伺服器上而 Pools 畫面不見了,那是伺服器的答案,而不是錯誤。