Claude 0.9.0 新增
Claude 供應商透過 Claude Agent SDK,在中繼所在的機器上執行 Anthropic 的 Claude Code agent。OAR 會為每個對話啟動一個 worker 處理程序。不需要輸入 API 金鑰:Claude 使用中繼所在機器的 Claude 登入,而你可以從瀏覽器變更這個登入。
Claude Cloud 則是在 Anthropic 的沙箱中執行 Claude Code,而不是在你的機器上。它是另一個獨立的供應商,有自己的設定方式。0.9.18 新增 Claude API 以 Claude Console 的 API 金鑰(而非你的訂閱)執行同樣的 Claude 對話,而且 Claude 對話可以在兩者之間切換。
你需要什麼 #
- 中繼所在機器上的 Claude 登入。中繼不儲存任何 Claude 金鑰;登入由 Claude CLI 保管,OAR 只負責驅動它。你可以從瀏覽器登入(見 Claude 帳戶),也可以在該機器上執行一次
claude。 - 該機器上的 Claude Code CLI(
claude),供瀏覽器登入和帳戶列使用。Claude 回合不需要它:回合執行的是 Agent SDK 隨附的 Claude Code 建置版本。OAR 可以幫你安裝 CLI,之後新的 session 就會使用這份 CLI。
Claude Code CLI 列 #
在 Settings → Providers → Claude(設定 → 供應商 → Claude)頂端有一列 Claude Code CLI,顯示 CLI 是否已安裝、版本、所在位置,以及是否為最新版本。按鈕會依狀態而不同:
| 按鈕 | 時機 | 作用 |
|---|---|---|
| Install(安裝) | 找不到 CLI | 先請你確認(會列出指令和要寫入的資料夾),再以中繼的使用者身分執行 Anthropic 自家的安裝程式。在 Linux 和 macOS 上是 curl -fs;在 Windows 上是 irm https://。 |
| Update(更新) | 找到 CLI | 執行 claude update。 |
| Switch to native installer(切換至原生安裝程式) | CLI 是用 npm 安裝在中繼使用者無法寫入的資料夾 | 執行 claude install。npm 版本會留在原處;在 PATH 上會優先使用原生版本。 |
| Cancel(取消)/ Dismiss(關閉) | 安裝進行中 / 安裝結束後 | 停止執行 / 清除結果。 |
安裝輸出會以 Install log(安裝記錄)即時串流到面板中。關閉設定後它仍會保留,也可以從另一台裝置觀看。同一個中繼一次只會執行一個安裝。你輸入的任何內容都不會送進 shell:指令是固定寫在中繼裡的。
OAR 會先在中繼的 PATH 上尋找 claude,再找 ~/. 和 /。安裝或更新後,它會立刻改用新的執行檔,並在重新啟動後仍記得它,所以你不必重新啟動中繼。已在執行的 session 會繼續使用啟動時的執行檔。
啟用 #
Claude 預設為關閉。開啟 Settings → Providers → Claude,在 Claude SDK 下:
| 控制項 | 預設 | 作用 |
|---|---|---|
| Enable Claude for New Chat model selection(在新對話的模型選擇中啟用 Claude) | Off(關閉) | 讓 Claude 成為 New Chat(新對話)中的選項,並執行模型探索。切換後立即生效,不必按 Save Claude settings(儲存 Claude 設定)。 |
| Claude model ID(Claude 模型 ID) | claude- |
Claude 對話一開始使用的模型。按 Save Claude settings 套用。 |
| Commit attribution(提交署名) | OAR | commit 和 pull request 中會寫什麼。見提交署名。同樣需要按 Save Claude settings。 |
控制項下方有一行文字說明 Claude 目前的狀態。關閉 Claude 時,尚未送出任何訊息的對話會移回預設供應商。已經開始的對話則繼續使用 Claude。
模型 #
啟用 Claude 時,會探索 Agent SDK 提供的模型,並把它們的 claude- ID 加到選擇器中。用 Select Models → Claude SDK(選擇模型 → Claude SDK)選擇其中哪些要出現在輸入區;預設模型永遠保持啟用。
claude- 這類長上下文變體不會以獨立模型出現,而是在 New Chat 和輸入區中,以基礎模型 Context window(上下文視窗)下拉選單裡的 1M 項目顯示。
新模型隨 OAR 更新推出
探索是向 Agent SDK 隨附的 Claude Code 建置版本查詢,所以光是執行 claude update 不會讓新的 Claude 模型出現。新模型會隨 OAR 更新一起推出。
Claude 帳戶 #
CLI 列下方的帳戶列會顯示已登入的帳戶及其方案,例如 Account: dev@example.,或 Not logged in。
重新登入 #
- 按 Relogin(重新登入)。中繼會在它的機器上執行 Claude CLI 的登入程序。
- 畫面會出現 Open the Claude login page(開啟 Claude 登入頁面)連結,以及 Copy link(複製連結)按鈕。在任何裝置上開啟這個連結,並在 claude.ai 上授權。
- claude.ai 會顯示一組代碼。把它貼到 Paste the code from claude.ai(貼上 claude.ai 的代碼)欄位,然後按 Submit code(提交代碼)或 Enter。
- 面板會顯示
Logged in as …。這時會重新執行一次模型探索,所以你不必重新啟動中繼。
Cancel 會放棄這次登入。沒有人完成的登入會在 10 分鐘後結束。同一個中繼一次只會執行一個登入。登入會推送到每個開啟中的瀏覽器,所以你可以在一台裝置上開始、在另一台裝置上完成,關閉設定也不會讓它遺失。
中繼不保存任何 Claude 機密資訊。CLI 會把新的登入寫入中繼所在機器的 Claude 設定資料夾(~/.,或 CLAUDE_ 指定的資料夾)。
登出 #
Logout(登出)會開啟 Log out of Claude(登出 Claude),其中會顯示帳戶名稱,並說明有多少 Claude worker 正在執行。按 Log out(登出)確認。之後新的 Claude 回合都會失敗,直到你重新登入。
執行中的 session #
執行中的 Claude session 會繼續使用先前的帳戶,直到它的 worker 處理程序結束。新的 session 使用新帳戶。
提交署名 #
Claude Code 通常會在 agent 建立的 commit 中加上自己的 Co- 行,並在 pull request 內文中加上一行。OAR 讓你自己選擇:
| 選項 | Commit | Pull request |
|---|---|---|
| OAR(預設) | 結尾為 Co-,括號中是模型名稱,例如 Claude Fable 5.。 |
結尾為 🤖 Generated with [Open Agent Relay](https://。 |
| Vanilla(原版) | Claude Code 自己的那幾行。 | Claude Code 自己的那一行。 |
| Off | 沒有署名行。 | 沒有署名行。 |
選擇 OAR 和 Off 時,commit 和 pull request 的文字中也不會出現 session 的連結。
在 Settings → Providers → Claude → Commit attribution(設定 → 供應商 → Claude → 提交署名)中為整個中繼設定這個選項。下拉選單下方會有一行範例,顯示 commit 會寫成什麼樣子。
依資料夾 #
Claude 對話的 🧠 上下文按鈕會顯示該對話資料夾的 Commit attribution,並附一個下拉選單:Inherit (provider: …)(繼承,供應商:…)、OAR、Vanilla 或 Off。在這裡的選擇適用於該資料夾中的每個 Claude session。Inherit(繼承)會改回整個中繼的設定。
變更會隨下一則訊息套用到執行中的 session。切換到 vanilla 會在回合之間重新啟動 session 的 CLI。Claude Cloud 對話同樣遵循整個中繼的設定。0.9.18 新增 Claude API 對話也是 Claude session,和其他 session 一樣遵循資料夾的選擇。0.9.17 新增 該資料夾中的 DeepSeek 對話也遵循資料夾的選擇,但 Vanilla 會當作 OAR 處理;DeepSeek 對話的全中繼設定在 DeepSeek 子分頁上。其他供應商不受影響。
背景指令上限 0.9.12 新增 #
Settings → Providers → Claude → Claude background command limit(設定 → 供應商 → Claude → Claude 背景指令上限)決定當 Claude 沒有替指令自訂逾時時,Claude 在背景執行的指令最多能跑多久,超過後 Claude Code 就會停止它。滑桿範圍是 30 分鐘到 8 小時,每格 30 分鐘;預設為 2 小時。按 Save Claude settings 儲存。Claude 仍可為單一指令要求最多 8 小時。
- Claude 在前景執行的指令,2 分鐘後會移到背景,讓回合在指令執行時繼續進行,並連同其主控台顯示在任務面板中。
- 以
sleep開頭的指令和 subagent 的指令會留在前景,因此可能佔住回合直到上限。 - Claude 會被告知這個上限,並被要求把長指令的完整輸出寫入記錄檔,而不是用管線傳給
tail或head;必須在 session 重新啟動後繼續存在的執行,則要用nohup以分離方式啟動。 - CLI 在啟動時讀取上限:變更會套用到儲存之後啟動的 Claude session;執行中的 session 會保留原本的上限,直到重新啟動。Claude Cloud 對話不受影響;0.9.17 新增 DeepSeek 和 0.9.18 新增 Claude API 對話同樣執行 Claude Code,因此使用相同的上限。
OAR 會以 BASH_ 把上限傳給 Claude Code,並把 BASH_ 設為 8 小時、CLAUDE_ 設為 2 分鐘。OAR 啟動的每個 Claude session 都會設定這三個變數,所以中繼環境中的同名變數不會有作用。
Reasoning effort 與思考 #
Reasoning effort #
reasoning effort 選擇器以訊息為單位:你可以在回合之間變更。它提供 none 以及模型回報的等級(low、medium、high、xhigh、max)。支援 xhigh 的模型會出現 Ultracode。它代表 xhigh 的 reasoning effort 加上多 agent 工作流程協調,會使用多得多的 token。
上下文視窗 #
對於有 1M 變體的模型,Context window 下拉選單會提供模型的預設視窗(顯示為 —,因為 SDK 的模型目錄沒有提供數值)和 1。只以 1M 變體推出的模型就只提供這一項。
思考 #
🧠 上下文按鈕中還有兩個 Claude 專屬的控制項,以對話為單位設定:
| 控制項 | 選項 | 預設 |
|---|---|---|
| Thinking(思考) | On(開啟)、Off | On |
| Thinking text(思考文字) | Summarized(摘要)、Hidden(隱藏) | Summarized |
開啟思考或變更思考文字的設定,會在下一則訊息生效。關閉思考則在下一個 CLI session 生效。Hidden 只是隱藏文字;模型仍會思考,token 也照樣計算。真正能省 token 的控制項是 Off。
Claude 上特別好用的功能 #
- 導正。 回合執行中送出的訊息會直接進入該回合;傳送按鈕會顯示 Steer(導正)。見回合與佇列和回合執行期間。
- 模式。 plan 使用 SDK 自己的計畫模式,最後會出現由 Claude 計畫工具產生的 Plan ready(計畫已就緒)看板。見中繼模式。
- 提問卡片。 Claude 的
Ask會變成卡片,也支援多選。見 ask_user。User Question - 背景任務與 subagent。 轉到背景的指令、subagent、監控任務和工作流程,在啟動它們的回覆結束後仍會繼續執行,並顯示在輸入區的任務面板中。點 subagent 的標題可開啟它的完整紀錄。只有在背景執行的 subagent 可以單獨停止;在目前回合內執行的 subagent 會隨回合一起停止。Settings → General → Background task timeout(設定 → 一般 → 背景任務逾時)限制 session 只剩背景任務時還能持續執行多久,預設為 4 小時。
- 精確的上下文明細。 🧠 按鈕會顯示 SDK 回報的各個類別。
- 自動壓縮。 Claude 會自行壓縮過長的 session。🧠 對話框中有 Auto-compact window(自動壓縮視窗)滑桿:Auto(自動)、100k、150k、200k、300k、500k 或 1M。見壓縮對話。
- 用量上限暫停。 碰到訂閱用量上限的回合會暫停,並在額度重設後繼續。見達到用量上限時。
- Session 延續。 OAR 會儲存 SDK 的 session id,所以 worker 重新啟動後,對話可以接續進行。
- 附件。 5 MB 以內的圖片會內嵌傳送。更大的圖片和其他檔案則以路徑提供,由 Claude 自行讀取。
Claude 回合的回覆下方沒有用量行。Claude 的方案上限請見 Check Usage(檢查用量)。
Session 存放位置 #
在檔案瀏覽器中,Session root(Session 根目錄)按鈕(🕵️)會開啟該 session 在 Agent SDK 專案區域中的專屬資料夾,位於 ~/. 內(或 CLAUDE_ 內)。對話紀錄是該資料夾旁邊的 . 檔案。這個資料夾只有在 session 有 subagent 或工具結果檔案時才會建立,所以剛開始不久的對話,這個資料夾可能是空的。刪除對話時,也會刪除它的對話紀錄。
環境變數 #
在中繼啟動時所用的環境中設定這些變數。
| 變數 | 作用 |
|---|---|
CLAUDE_ |
取代 ~/. 的 Claude 設定資料夾:存放登入,也是查找 session 資料夾的位置。 |
CLAUDE_ |
worker 使用的 Claude Code 執行檔,取代 Agent SDK 隨附的建置版本。從面板安裝或更新時會自動幫你設定。 |
CLAUDE_ |
覆寫自動壓縮視窗。滑桿下方那行文字會把它標示為來源。由 Claude Code 自己讀取;session 在 tmux 下執行時,為中繼設定的值不會傳到 Claude Code(見哪些變數會傳到 agent)。 |
BASH_、BASH_、CLAUDE_ |
0.9.12 新增 不從中繼的環境讀取:OAR 會依背景指令上限為每個 Claude session 設定這些變數。 |
CLAUDE_ |
取代 CLI 登入檔的登入 token,用於 Claude Cloud 和本機的 Claude 對話(它們的 CLI 會優先使用它,而不是登入檔)。0.9.17 新增 只有 Claude 和 Claude Cloud 的 worker 會取得它;在 tmux 下,是透過只有中繼使用者能讀取的檔案傳遞;其他供應商的 worker(包括 DeepSeek 的)一律不會取得。 |
ANTHROPIC_、ANTHROPIC_ |
0.9.17 新增 不會傳給 worker。Claude 對話使用 Claude 登入執行,絕不會使用中繼環境中的金鑰;0.9.17 之前,Claude Code 會優先使用這類金鑰而非登入。Claude API 對話使用 Settings → Providers → Claude API(設定 → 供應商 → Claude API)中儲存的金鑰執行,絕不使用這些變數。 |
0.9.18 新增 訂閱對話絕不會使用 API 金鑰執行。 只要 Claude Code 自己的某個設定提供了 API 金鑰,它就會優先使用該金鑰,而不是你的 Claude 登入:~/. 或對話資料夾 . 中的 env.、api,或 Console 登入。這類對話以前會用該金鑰執行,費用由金鑰擁有者支付。現在,回合會在 Claude Code 啟動時停止,並附上一則註記,指出來源和要移除的設定,以及代碼 relay.。Claude Code 在啟動後稍待片刻才會送出第一個模型請求,因此最多只會有一個模型請求先以該金鑰送出。若要用 API 金鑰執行對話,請使用 Claude API 及其計費切換。
疑難排解 #
| 問題 | 該怎麼做 |
|---|---|
| New Chat 中沒有 Claude | 在 Settings → Providers → Claude 中開啟 Enable Claude for New Chat model selection。 |
| CLI 列顯示 Not installed(未安裝),或帳戶列無法讀取帳戶 | 瀏覽器登入和帳戶列需要中繼所在的機器上有 claude。按 Install,或自行安裝後重新開啟設定。 |
Not logged in,或回覆說 Claude 無法驗證身分 |
在失敗的回覆上按 Claude settings(Claude 設定),再按 Relogin(或在該機器上執行 claude)。然後重新傳送訊息。 |
| 登入已過期 | 同上。執行中的 session 會保留舊的 token,直到它的 worker 結束;登入後重新傳送訊息。 |
| 回覆提到計費、訂閱或組織 | 檢查面板顯示的帳戶:它的訂閱、付款方式,以及組織是否允許使用 Claude Code。Relogin 可以改登入其他帳戶。 |
| 回合因用量上限而暫停 | 等待額度重設,或使用橫幅上的 Resume now(立即繼續)或 Cancel。見達到用量上限時。 |
| 選擇器中沒有新模型 | 模型來自 SDK 隨附的 Claude Code 建置版本;新模型隨 OAR 更新推出,而不是透過 claude update。 |
0.9.18 新增 Claude Code took an API key for this subscription turn (source "…"), so the turn was stopped(relay.) |
從 Claude Code 設定(~/.,或資料夾的 .)的 env 中移除 ANTHROPIC_、移除 api,或登出 Console 登入,然後重新傳送訊息。若要用設定中儲存的金鑰執行對話,請把它切換為 API 金鑰。 |
| Relogin 在 Windows 上失敗 | 登入流程是為 Linux 和 macOS 設計的;在 Windows 上只能盡力而為。請改在終端機中執行 claude。 |