所有頁面
本頁內容

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-sonnet-5-5 新雲端對話一開始使用的模型。清單是 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/name 篩選清單;用方向鍵和 Enter 選取,Escape 關閉清單。

你也可以輸入或貼上 owner/repo 或 GitHub 網址(https 或 ssh)。只接受 GitHub 儲存庫。

分支 #

預設為資料夾目前的分支;從清單挑選的儲存庫會帶入它的預設分支。欄位取得焦點時,OAR 會列出中繼主機的 git 所看到的儲存庫分支(git ls-remote,使用主機自己的 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 GitHub. 這個分支從未推送過。
Uncommitted changes stay local. 資料夾有尚未 commit 的變更。
This folder is not a git repository — enter the repository by hand. 資料夾沒有可自動填入的資訊。
No GitHub remote in this folder — enter the repository by hand. 若有 remote 但不在 GitHub 上,會改為顯示 The remote of this folder is not on GitHub — cloud sessions need a GitHub repository.。
Could not read git details for this folder — enter the repository by hand. 中繼無法讀取這個資料夾。
The Claude GitHub app has no access to example-org/sample-repo — add it under GitHub → Settings → Applications → Claude, or pick another repository. 雲端會拒絕第一則訊息。
No cloud environment is set — choose one in Settings → Providers → Claude Cloud. 在設定中選擇一個環境。

前兩個警告只會在欄位仍是資料夾自己的儲存庫和分支時出現。

如果 Start chat(開始對話)被拒絕,欄位下方的錯誤行會說明原因,例如 Enter a GitHub repository.、Not a GitHub repository. Use owner/repo or a github.com URL.、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 的提問(AskUserQuestion)會以提問卡片出現,也支援多選。要求權限的工具會顯示 Allow(允許)/ Deny(拒絕)卡片。你在 claude.ai 上回答的卡片,在 OAR 中也會關閉。
  • 停止。 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_session 啟動雲端對話,指定 provider: "claude-cloud"、repo,以及選填的 branch;見 create_session。這適用於配對的中繼上的 agent(依照從該處啟動任何 session 的規則),也適用於此中繼上的 agent,前提是已開啟 agent session。檢查項目和 New Chat 中相同:供應商已啟用、已設定環境、儲存庫位於 GitHub。沒有指定模型的對話會以分頁中的預設模型開始。agent 也可以讀取你建立的雲端對話、對它傳送提示、等待它,以及停止它。

環境變數 #

名稱 作用
CLAUDE_CODE_OAUTH_TOKEN Claude 登入 token,中繼和它的雲端 worker 會用它取代 CLI 的憑證檔。0.9.17 新增 只有 Claude Cloud 和 Claude 的 worker 會取得它,不論是否使用 tmux;在 tmux 下,它會透過只有中繼使用者能讀取的檔案傳遞,worker 的 shell 讀取一次後就會刪除該檔案。
CLAUDE_CONFIG_DIR Claude 設定目錄,取代 ~/.claude。CLI 的登入(.credentials.json)從這裡讀取。
OAR_CLAUDE_CLOUD_BRANCH_LOOKUP 在中繼主機上設為 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 拒絕該登入時也會顯示同樣的註記。
GitHub is not connected to the Claude account of this relay host. 在 claude.ai/connect-github 連結 GitHub。
The Claude GitHub app has no access to this repository. 把這個儲存庫加入 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 WebP, up to 5 MB each). Not sent: ... 移除該附件,或把 agent 需要的內容放進儲存庫或訊息中。這則訊息沒有送出。
the Claude Cloud turn failed (...) 中繼無法辨識原因的失敗,例如 Anthropic 變更介面之後。請重試或傳送新訊息;若持續失敗,請更新 OAR。
環境清單顯示 Could not list the cloud environments: ... 中繼無法從 Anthropic 讀取清單。已儲存的環境仍可選擇。

可能自行恢復的連線問題不會讓回合失敗:訊息會回到佇列並重新傳送。