Claude Cloud 0.9.7 新增
Claude Cloud 對話會在 Anthropic 的沙箱中執行 Claude Code,而不是在你的中繼主機上。沙箱在它自己 clone 的 GitHub 儲存庫上工作。它只看得到已推送到 GitHub 的內容,看不到你機器上的任何東西,成果則以 agent 推送的分支形式傳回。對話的費用會算在中繼主機上 Claude CLI 所登入的 Claude 帳戶。
在 OAR 中,它和其他對話一樣:回覆會即時串流顯示,提問會以卡片出現,也能在手機上操作。
實驗性功能,預設關閉
Claude Cloud 會使用 Claude CLI 保存在中繼主機上的登入,去呼叫 Claude CLI 自己使用的 API 端點。這些端點並不是有文件記載的公開 API。 Anthropic 可能在不另行通知的情況下變更它們;屆時雲端對話和即時用量數字都會失敗並顯示註記,直到 OAR 更新為止。如果你不放心讓 CLI 以外的程式這樣使用它的登入,請不要啟用這個供應商。
所需條件 #
- 中繼主機上的 Claude CLI,並以 claude.ai 帳戶登入:使用 Settings → Providers → Claude → Relogin(設定 → 供應商 → Claude → 重新登入),或在主機上執行
claude。Claude 對話也使用同一個登入。 - 該 Claude 帳戶已連結 GitHub:claude.ai/connect-github。
- 雲端對話要處理的每個儲存庫,都已允許 Claude GitHub app 存取(GitHub → Settings → Applications → Claude → Configure)。
- Claude 帳戶上有一個環境。沒有環境的帳戶,只要開啟一次 claude.ai/code 就會得到預設環境。
啟用 #
開啟 Settings → Providers → Claude Cloud(設定 → 供應商 → Claude Cloud)。
| 控制項 | 預設 | 作用 |
|---|---|---|
| Enable Claude Cloud for New Chat(在新對話中啟用 Claude Cloud) | 關閉 | 在 New Chat(新對話)中提供 Claude Cloud,並開啟 Check Usage(檢查用量)中的即時帳戶數字。主機沒有 Claude 登入時無法開啟。 |
| Claude login(Claude 登入) | 跳到 Claude 分頁,登入要在那裡變更。 | |
| Cloud environment(雲端環境) | 帳戶的第一個作用中環境 | 新的雲端 session 執行時所在的環境。尚未儲存任何環境時,中繼會取用第一個作用中的環境並儲存。 |
| Default model(預設模型) | claude- |
新雲端對話一開始使用的模型。清單是 Claude 供應商的模型(不含 [1m] 變體),再加上預設模型。 |
| Save Claude Cloud settings(儲存 Claude Cloud 設定) | 儲存環境和預設模型。開關則會立即生效。 |
這個分頁也會顯示對話計費的帳戶,以及中繼從哪裡讀取登入、登入的有效期限。
啟用這個供應商,即表示你同意以上述方式使用 Claude 登入:
- 中繼和它的雲端 worker 只會讀取存取 token。token 只會送到
https://,不會送到其他主機。api. anthropic. com - token 只保存在記憶體中,不會寫入資料庫或記錄,不會送到瀏覽器,也不會出現在錯誤訊息中。
- OAR 從不更新它,也從不使用 refresh token。CLI 會自行讓登入保持有效。token 過期時,中繼會重新讀取檔案,並請 CLI 檢查自己的登入,但最多每五分鐘一次。如果登入仍然過期,回合會結束,並附上請你重新登入的註記。
- 開關關閉時,中繼不會用這個登入向 Anthropic 要求任何東西:不列出環境,也不讀取帳戶用量。
關閉 Claude Cloud 後,它就不會出現在 New Chat 中。已存在的雲端對話仍可繼續使用。
開始雲端對話 #
選擇 + New Chat → Provider → Claude Cloud(新對話 → 供應商 → Claude Cloud)。Working directory(工作資料夾)仍然存在,但在這裡只用來自動填入兩個欄位,你也可以從清單挑選或自行輸入。沒有 reasoning effort 可以選。雲端 session 本身會在你送出第一則訊息時建立。這個對話框的說明見開始對話。
儲存庫 #
從資料夾的 origin remote,或其上游分支的 remote 讀取。欄位取得焦點時,OAR 會列出 Claude GitHub app 在此帳戶下可存取的儲存庫。清單從 Anthropic 讀取,並保留一分鐘;標籤旁的 ↻ 會重新讀取。若無法讀取,原因會顯示在先前用過的儲存庫下方。此中繼先前雲端對話用過的儲存庫會排在最前面,並標示「used here」;其他標示有「private」、「public」、「archived」和「no access」。輸入文字會依 owner/ 篩選清單;用方向鍵和 Enter 選取,Escape 關閉清單。
你也可以輸入或貼上 owner/ 或 GitHub 網址(https 或 ssh)。只接受 GitHub 儲存庫。
分支 #
預設為資料夾目前的分支;從清單挑選的儲存庫會帶入它的預設分支。欄位取得焦點時,OAR 會列出中繼主機的 git 所看到的儲存庫分支(git ls-,使用主機自己的 GitHub 登入)。主機無法讀取時,這個欄位就是一般文字欄位。留空即使用儲存庫的預設分支。
警告 #
OAR 會在欄位下方警告雲端 clone 中會缺少哪些內容:
| 警告 | 意義 |
|---|---|
1 commit not pushed — the cloud clone will not have it. |
資料夾的分支領先其上游。有多個 commit 時會顯示數量。 |
Branch main has no upstream — push it first, the cloud clone only sees Git |
這個分支從未推送過。 |
Uncommitted changes stay local. |
資料夾有尚未 commit 的變更。 |
This folder is not a git repository — enter the repository by hand. |
資料夾沒有可自動填入的資訊。 |
No Git |
若有 remote 但不在 GitHub 上,會改為顯示 The remote of this folder is not on Git。 |
Could not read git details for this folder — enter the repository by hand. |
中繼無法讀取這個資料夾。 |
The Claude Git |
雲端會拒絕第一則訊息。 |
No cloud environment is set — choose one in Settings → Providers → Claude Cloud. |
在設定中選擇一個環境。 |
前兩個警告只會在欄位仍是資料夾自己的儲存庫和分支時出現。
如果 Start chat(開始對話)被拒絕,欄位下方的錯誤行會說明原因,例如 Enter a Git、Not a Git、Not a valid branch name.、Claude Cloud is not enabled on this relay,或是 No cloud environment is set. 並建議你在設定中選一個。
在雲端對話中工作 #
回覆會隨 agent 撰寫即時串流顯示,包含思考、工具活動和 subagent 泡泡。沙箱啟動期間,工具活動會以 Cloud: 開頭的行顯示各個步驟,接著顯示 Claude Code running in the cloud 和模型。
- 雲端資訊列。 位於輸入區上方:儲存庫、分支、指向 session 的 claude.ai ↗ 連結、agent 推送的每個分支各一個 ⇡ branch(⇡ 分支)連結(最新 20 個),以及 Anthropic 回報的 session 目前花費。推送的分支會開啟 GitHub 上它與對話起始分支的比較(如果 agent 直接推送到起始分支,則開啟該分支本身)。
- 在 claude.ai 開啟。 session 建立後,對話
⋯選單中的 ☁️ Open on claude.ai(在 claude.ai 開啟)會在 claude.ai 上開啟該 session。 - 提問。 agent 的提問(
Ask)會以提問卡片出現,也支援多選。要求權限的工具會顯示 Allow(允許)/ Deny(拒絕)卡片。你在 claude.ai 上回答的卡片,在 OAR 中也會關閉。User Question - 停止。 Stop(停止)會中斷雲端回合。如果雲端在 30 秒內沒有確認,OAR 中的回合會結束,並附上一則註記,說明 agent 可能仍在雲端工作,以及 session 的連結。
- 圖片。 JPEG、PNG、GIF 或 WebP,每張最多 5 MB,以內嵌方式傳送。其他附件會被拒絕:沙箱無法讀取中繼主機上的檔案。
- 後續訊息。 訊息會進入同一個雲端 session,即使它已閒置很久也一樣。回合進行中送出的訊息會等到回合結束。
- 變更模型。 和本機 Claude 對話一樣,可以在回合之間從輸入區變更模型。沙箱會在下一則訊息之前切換。
- 提交署名。 agent 在沙箱中建立的 commit 和 pull request,結尾會是 Claude 分頁的署名設定所指定的行;見提交署名。commit 的作者仍是沙箱的 git 身分(
Claude)。 - 背景工作。 agent 的背景工作(subagent、長時間指令)執行期間,回合會保持開啟,所以最後的回覆會出現在同一個回合中。
- 由 session 自行啟動的回合。 當 agent 的背景工作在回合結束後仍在執行,或你在 claude.ai 上送出訊息時,回答會以接續回覆的形式出現在對話中,並附一行說明它的來源。
- 封存與刪除。 封存或刪除對話時,Anthropic 那邊的雲端 session 會被封存;取消封存則會恢復它。那邊不會刪除任何東西。
瀏覽器或中繼不在線時 #
agent 會在雲端繼續工作。中繼或對話的 worker 在回合中途重新啟動,不會讓你的訊息被送出兩次:新的 worker 會在 session 的事件記錄中找到該回合並接著追蹤;期間已經完成的回合,則直接從記錄中取得回答。與 session 之間中斷的連線,會從中斷處重新連上。一般情況的說明見重新啟動與繼續。
達到用量上限時 #
雲端因 Claude 用量上限而拒絕的回合,會像本機 Claude 回合一樣暫停:顯示附有重設時間的註記和橫幅,並在重設後自動繼續。見達到用量上限時。接近上限前的警告是工具活動中的一行 Claude usage limit warning (...,而不是橫幅。
雲端對話沒有的功能 #
中繼主機上的任何東西都不會傳到沙箱。
- 中繼工具。 沒有
preview、沒有relay_,也不能以主機路徑嵌入媒體。見依供應商。tool - 資料夾。 沒有可變更的工作資料夾,
⋯選單中沒有 Change CWD(變更工作資料夾)。也沒有可瀏覽的 Session 資料夾。 - 中繼模式。 沒有中繼模式、reasoning effort 或上下文大小:這三個選擇器都會隱藏。
- 導正與任務。 沒有回合中導正,也沒有背景任務面板。
- 附件。 只能傳圖片。
用量 #
啟用 Claude Cloud 時,Check Usage 會有一張 Claude Cloud 卡片:
- 帳戶持有的每筆美元點數各有一個計量條,顯示已用多少、剩多少以及到期時間;
- Cloud spend (OAR sessions)(雲端花費,OAR session):Anthropic 回報的、此中繼仍保有的雲端 session 的費用;如果你是從雲端對話開啟這個對話框,還會顯示該對話自己的費用;
- 最新的雲端 session 報告:其費用,以及依模型列出的費用和 token。
這些數字是 Anthropic 回報的費用,不是帳單,而且不計入在其他地方啟動的 session。已提供但尚未領取的點數會被提及,並附 claude.ai 連結。雲端回合會先使用雲端點數;沒有點數時,會計入 Claude 的用量上限。
啟用 Claude Cloud 時,Check Usage 中的 Claude 卡片也會即時從帳戶讀取上限。🧠 按鈕會顯示 session 的上下文視窗已使用多少,但沒有類別明細。回覆下方不附用量行。
從 agent 啟動雲端 session #
agent 可以用 create_ 啟動雲端對話,指定 provider: "claude-、repo,以及選填的 branch;見 create_session。這適用於配對的中繼上的 agent(依照從該處啟動任何 session 的規則),也適用於此中繼上的 agent,前提是已開啟 agent session。檢查項目和 New Chat 中相同:供應商已啟用、已設定環境、儲存庫位於 GitHub。沒有指定模型的對話會以分頁中的預設模型開始。agent 也可以讀取你建立的雲端對話、對它傳送提示、等待它,以及停止它。
環境變數 #
| 名稱 | 作用 |
|---|---|
CLAUDE_ |
Claude 登入 token,中繼和它的雲端 worker 會用它取代 CLI 的憑證檔。0.9.17 新增 只有 Claude Cloud 和 Claude 的 worker 會取得它,不論是否使用 tmux;在 tmux 下,它會透過只有中繼使用者能讀取的檔案傳遞,worker 的 shell 讀取一次後就會刪除該檔案。 |
CLAUDE_ |
Claude 設定目錄,取代 ~/.。CLI 的登入(.)從這裡讀取。 |
OAR_ |
在中繼主機上設為 off,可讓 New Chat 的分支清單不再查詢 git。分支欄位會變成一般文字欄位。 |
無法正常運作時 #
如果 New Chat 中沒有 Claude Cloud,請在 Settings → Providers → Claude Cloud 中啟用它。
失敗原因已知時,回覆會是一則系統註記,說明發生了什麼事以及該怎麼做。處理後再重新傳送訊息。
| 你看到的 | 原因與處理方式 |
|---|---|
開關無法開啟:Claude Cloud needs the Claude CLI login on this host. Log in on Settings → Providers → Claude, then switch it on. |
先在 Claude 分頁登入。 |
Claude Cloud needs the Claude login of this relay host, and there is none. |
在 Settings → Providers → Claude 登入。 |
The Claude login of this relay host has expired. |
在 Settings → Providers → Claude 重新登入。API 拒絕該登入時也會顯示同樣的註記。 |
Git |
在 claude.ai/connect-github 連結 GitHub。 |
The Claude Git |
把這個儲存庫加入 app 的儲存庫存取權限(GitHub → Settings → Applications → Claude → Configure)。 |
The cloud environment of this conversation is missing. |
在 Settings → Providers → Claude Cloud 中選擇環境。如果清單是空的,用這個帳戶開啟一次 claude.ai/code。 |
Claude Cloud refused the request because of a rate limit. |
稍等一下。如果雲端有指定等待時間,註記會顯示 Wait about N s。 |
The cloud session of this conversation was not found. |
它可能已在 claude.ai 上被刪除,或中繼主機登入了另一個 Claude 帳戶。請開始新的 Claude Cloud 對話。 |
Claude Cloud takes images only, sent inline (JPEG, PNG, GIF or Web |
移除該附件,或把 agent 需要的內容放進儲存庫或訊息中。這則訊息沒有送出。 |
the Claude Cloud turn failed (... |
中繼無法辨識原因的失敗,例如 Anthropic 變更介面之後。請重試或傳送新訊息;若持續失敗,請更新 OAR。 |
環境清單顯示 Could not list the cloud environments: ... |
中繼無法從 Anthropic 讀取清單。已儲存的環境仍可選擇。 |
可能自行恢復的連線問題不會讓回合失敗:訊息會回到佇列並重新傳送。