實戰
真實的工作,人在哪都能做
這些畫面重現自 OAR 自己的對話紀錄——一個 Cloudflare 郵件伺服器和一款多人遊戲,全程從瀏覽器操控。讀 agent 的思考、回答它的提問,在回合中途隨手導正。
Agent 團隊
一個回合,一整組人馬
agent 可以把工作拆給並行的 subagent——而 OAR 會把每一個都留在畫面上:各自跑在哪個模型上、此刻正在執行的指令、即時 token 計數、已經跑了多久,還有一顆在手機上也按得動的 Stop 按鈕。
- 背景任務會繼續跑,不管你是在讀、在導正,還是乾脆走開。
- 每個 subagent 都能單獨追蹤、單獨取消。
- 直接支援 Claude 與 Copilot 的 task 系統,背景 agent 和分離的 shell 都算在內,不必額外設定。
監看 session
讓 agent 盯著 agent
agent 可以訂閱其他 session——在同一個中繼上,或在配對好的中繼上——那邊一有動靜就會被叫醒:一則等著回答的提問、一個錯誤、一則回覆、一項跑完的背景任務、一個安靜下來的 session。不必輪詢:OAR 會在監看者的對話裡寫下一則簡短的註記,接下來就交給 agent 處理。
- 訂閱只負責通知。事件不會核准任何操作,也不會回答任何問題;agent 能做的事,跟訂閱之前完全一樣。
- 一個對話的第一筆訂閱,要你在卡片上核准。之後標題列會顯示 watching N sessions,每一筆都附有 Unsubscribe。
- 跨配對的中繼也行:每個事件都會標明來自哪個中繼,連線中斷期間發生的事,會合成一列重播送達。
- 一連串湧進的事件只算一則訊息,忙碌的一小時會整理成一份摘要——提問和錯誤照樣立刻送到。
- agent 彼此對話時,註記和回覆會收合成一列;每個 subagent 的完整紀錄,點一下就能打開。
Runtimes
一個中繼,八種 runtime
每個對話各自挑 runtime。一條佇列、一份紀錄、一套介面。
- CopilotSDK 引擎,支援導正與背景 agent
- ClaudeAgent SDK,支援導正,thinking 可控
- Claude API用 Console 的 API 金鑰跑 Claude,可設每月上限
- Claude Cloud實驗性:在 Anthropic 的沙箱裡,對 GitHub 儲存庫跑 Claude Code
- CursorAgent,可固定 subagent 模型
- Grok透過 ACP 協定
- OpenAI自備金鑰,圖片也支援
- DeepSeek用 DeepSeek 模型思考的 Claude Code,自備金鑰
主題
白天與夜晚
OAR 有日間模式和夜間模式,這一頁的每張截圖都會跟著頂端的切換鈕變。拖動分隔線比較兩者;旁邊的手機顯示的是這一頁目前沒在用的模式。
功能
你會拿到什麼
- 可安裝的 PWA加到主畫面,用起來像 app,因為它本來就是。
- 回合中途導正agent 還在做事時照樣發訊息,它會併入正在跑的回合。
- 背景 agent讓 agent 並行跑,在面板裡看著它們做事。
- 提問卡片agent 在回合中途發問,你可以選一個答案或好幾個,在沙發上就能回。
- 跟著你走的草稿在筆電上開頭,在手機上寫完。
- 檔案與預覽瀏覽 workspace、預覽檔案,不用離開聊天視窗。
- 預覽通道直接從對話把 dev server 發佈到一個公開網址。
- 推播通知回合跑完、或 agent 需要你的時候,你會知道。
- 資料夾也能管在檔案瀏覽器裡建立、重新命名、刪除檔案和資料夾——手機上長按就行。
- 回到最新往上捲了?⌄ 按鈕會算出這段時間新進來幾則,一按就帶你回到最底。
- 封存前先確認要封存的 session 若處理程序還在跑,會先問過你。
- 一開始就能設定還沒有任何對話就能打開設定,全新安裝也能直接啟用供應商。
- 保留期限你決定subagent 的工具輸出要留多久由你選:從一週到 90 天,或永久保留。
- agent 自己查方案動手做耗費額度的工作之前,agent 可以先問各家供應商的方案還剩多少——這個中繼上的,或配對好的中繼上的。
方案用量
隨時知道方案還剩多少
OAR 會逐家追蹤供應商的方案用量,全部收進同一個對話框。回合進行中打開「檢查用量」,就看得出整晚讓 agent 跑下去還撐不撐得住——在供應商把你擋下來之前,而且就在你操控 agent 的同一個瀏覽器分頁裡。
- Claude 訂閱:5 小時的 session 視窗、每週上限,以及這次 session 各個模型各花了多少。
- Copilot:premium request 配額,外加 SDK worker 的每回合明細——AI credits、token、model call。
- DeepSeek:餘額、選用的每月預算、每天與各模型的估計花費,以及網路搜尋的次數。
- Claude API:今天與本月各模型的估計花費,以及選用的每月上限長條。
- Cursor 和 Grok 各有自己的卡片,資料來自同一個面板。
- 數字出自 worker 自己的回報和各家的配額 API,你在做事的同時就會更新。
有件事先說清楚:這不是帳單。配額數字來自供應商,session 花費則是 OAR 在前端依 token 數估出來的——把它當儀表看,別當請款單。
安裝
快速上手
- 你需要至少一個你本來就在用的供應商 CLI(Copilot、Claude、Cursor 或 Grok——或者一把 OpenAI、DeepSeek 或 Claude Console 的 API 金鑰)。Linux 和 macOS 這樣就夠了;Windows 還需要 Node.js ≥ 22.13。
- 跑那行指令。在 Linux 和 macOS 上,它會先說明要做什麼,只問一次。你的 Node.js 夠新就直接用,不然就下載一份只給 OAR 用的,接著把
@oar-sh/oar裝進你的家目錄——完全不需要 root。macOS 這條路還沒測試過。 - 它會寫好設定檔和一組新的驗證 token、啟動中繼,並印出中繼網址和 QR code——打開就進去了。有 systemd 使用者工作階段的地方,中繼會以服務執行,重開機後自動回來。在 Windows 上,安裝程式會交給
oar setup,它會問你 token、存取範圍和連接埠;之後用oar start啟動中繼。 - 可選、而且預設關閉:讓手機直接連線的區域網路存取,用
oar setup開啟;讓你從網路外部連進來的 tunnel 則寫在設定檔裡,用的是你自己安裝的cloudflared。之後只要打oar就會開啟選單,有啟動、停止、重啟、狀態、網址和服務;終端機裡的 Copilot 工作階段是oar copilot。
下一步:看文件裡的 首次執行——登入、在手機上打開中繼,以及之後的一切。
信任
安全性,直說
OAR 跑在你自己的硬體上,預設只綁 localhost。驗證 token 在本機產生,不會離開你的機器;遠端存取要你自己開啟,而且走一條你自己掌控的 tunnel。有一點要看清楚:被你中繼的 agent 是以你的使用者權限在跑——OAR 給你的是觸及範圍,不是沙箱。
FAQ
常見問題,一次講完
- 我一定要有 Copilot 訂閱嗎?
- 不用。任何一種 runtime 就夠了——OAR 中繼的是你本來就有的那些 agent。
- agent 還在工作時,我可以傳訊息給它嗎?
- 可以。在 Claude 和 Copilot 預設的 SDK 引擎上,你送出的訊息會直接併入正在跑的回合,不必等它結束。如果 agent 正在等你回答提問,你的訊息會先排隊,緊接在回答之後送出。
- Windows 上能跑嗎?
- 可以。中繼端跑在 Windows、macOS 和 Linux 上;瀏覽器那一端到哪都能跑。
- OAR 會把我的程式碼送到哪裡去嗎?
- OAR 本身什麼都不送。你的程式碼只會送到你呼叫的那幾家模型供應商,和你直接用它們自己的 CLI 完全一樣。
- 更新是怎麼運作的?
- 檢查更新要自己開啟——在設定裡啟用、或按下「立即檢查」之前,中繼端不會連線到任何地方。有新版本出現時,點一下就更新;而且只有在沒有 agent 卡在回合中時才會重啟。絕不自動進行。
- 可以跑在 VPS 或 homelab 上嗎?
- 可以——只要跑得動 Node 的地方都行。把驗證 token 顧好,寧可走 tunnel,也別開一個對外的連接埠。
Changelog
最新變更
-
0.9.19
- 記憶體耗盡的中繼現在會自行重新啟動,而不是一直停著。它啟動時帶有堆積上限(RAM 的 60%,介於 2048 到 8192 MB 之間,可用
config.json中的heapLimitMb設定),接近上限時會把一個堆積快照寫入資料目錄中的diagnostics。堆積快照包含中繼端的驗證 token 和 API 金鑰:絕不要原樣分享。記錄每 10 分鐘以及堆積超過上限的 80% 時會顯示中繼的記憶體。 - agent session 不必重新啟動,就能使用之後的中繼更新新增的供應商:
relay_tool接受任何供應商 id,中繼會依目前的清單檢查,拒絕時列出該清單。 - Copilot 會在建立任何內容之前,以
COPILOT_MODEL_UNAVAILABLE和最接近的候選拒絕其他供應商的模型 id,例如 Copilot 的claude-opus-5.5被寫成claude-opus-5-5時。 - 所有變更都在版本說明中。
- 記憶體耗盡的中繼現在會自行重新啟動,而不是一直停著。它啟動時帶有堆積上限(RAM 的 60%,介於 2048 到 8192 MB 之間,可用
-
0.9.18
- Claude 對話現在可以用 Claude Console 的 API 金鑰執行。Claude API 是與 Claude(你的訂閱方案)並列的供應商,費用記在金鑰所屬的 Console 組織。Settings → Providers → Claude API 存放金鑰、預設模型,以及可選的每月花費上限(美元);金鑰存放在中繼端的機器上,之後不會再顯示。New Chat 提供 Claude API,它的對話會顯示金色的「Claude API」標籤。
- Claude 對話可以用 Subscription | API key 切換,在你的訂閱方案與金鑰之間來回,並保留它的 Claude Code session。切換從下一個回合起生效;用金鑰的第一個回合沒有提示快取,花費較高。訂閱方案的對話因 Claude 的用量上限而暫停時,如果這個對話可以改用金鑰,橫幅就會提供切換,暫停的回合會立刻改用金鑰繼續。系統絕不會自行切換;agent 也能用
relay_tool的send切換 session 的計費方式。 - 用量檢視新增 Claude API 卡片:這個中繼端用金鑰執行的回合,今天和本月估計的花費(依模型、含 token 數),以及設定時以長條顯示的每月上限。數字是 Claude Code 自己的估算;實際金額在 Console 的帳單頁面。本月估算達到上限後,用金鑰的新回合不會執行,切換到金鑰會被拒絕,新的 Claude API 對話會收到
CLAUDE_API_CAP_REACHED;這時 New Chat 會提供 Start on subscription。已經在跑的回合會跑完。 - DeepSeek 和 Claude API 對話啟動時會關閉所有 hook,因此不會執行任何 hook 或狀態列,資料夾的設定也無法再把它們打開。managed settings 裡的 hook 仍會執行;用你的 Claude 登入的對話保留它們的 hook 和狀態列。
- 訂閱方案的對話絕不會用 Claude Code 設定交給它的 API 金鑰執行(
env.ANTHROPIC_API_KEY、apiKeyHelper或 Console 登入)。回合會在 Claude Code 啟動時停止,並附上說明,指出金鑰的來源和該移除的設定;在那之前最多只會送出一個模型請求。 - 中繼端的 agent 工具改名為
relay_tool(Claude 上是mcp__relay__relay_tool),動作和欄位都不變。如果你自己的指示、權限規則或 hook 寫的是remote_relay,請改掉:在 OAR 的 MCP 伺服器以外,舊名稱會被拒絕。 - 所有變更都在版本說明中。
-
0.9.17
- DeepSeek 成為獨立的供應商。在 Settings → Providers → DeepSeek 貼上 DeepSeek 的 API 金鑰,New Chat 就會提供 DeepSeek 的模型。DeepSeek 對話會在中繼端的機器上執行 Claude Code,連到 DeepSeek 的 API;四種模式、工具、問題卡片、子 agent、導正和背景任務都能用,reasoning effort 可選 low、high 或 max,並有 1M 的上下文視窗。
- 金鑰存放在中繼端的機器上,絕不會送到瀏覽器,也只會交給 DeepSeek 的 worker。對話資料夾裡的
.claude/settings.json或.claude/settings.local.json無法把金鑰導到別處。這項保護針對設定,不針對指令:這些檔案裡的 hook 和狀態列仍會以中繼端的使用者身分執行,和任何 Claude Code 對話一樣,所以請只在你信任的資料夾中使用 DeepSeek 對話。 - 用量檢視新增 DeepSeek 卡片:帳戶餘額、這個中繼端上 DeepSeek 回合依模型估計的花費(依 DeepSeek 公布的價格,區分尖峰與離峰時段)、最近 30 天的每日花費,以及你設定時的每月預算。在 DeepSeek 分頁使用 Import usage export,匯出檔涵蓋的日子就會在卡片上顯示 DeepSeek 自己的數字。
- 群組中的新 session 會出現在群組最上方。你排好的順序維持不變。
- 中繼端自己的 Anthropic 憑證不再傳給它啟動的 agent:
ANTHROPIC_API_KEY和ANTHROPIC_AUTH_TOKEN不會傳給任何 worker,中繼端環境中的 Claude 登入權杖也只會傳給 Claude 與 Claude Cloud 的 worker。原本用這類金鑰執行的 Claude 對話,現在改用主機的 Claude 登入。 - 修正:Inbox 會在最上方,或你上次離開的位置開啟;手機上的 session 標題列分成兩列;OpenAI 的圖片模型在 SDK 引擎上又能用了。
- 所有變更都在版本說明中。
-
0.9.16
- agent 可以向你提問,同時繼續手上的工作。側邊欄新增的 Inbox 會把這個中繼端和配對中繼端上所有待答的問題集中列出。你可以在那裡或在 session 中回答;配對中繼端的核准卡片則會在該中繼端上開啟。
- agent 可以排程提示,執行一次或每隔幾分鐘執行一次,中繼端重新啟動後排程也會保留。對話的標題列會列出它的排程,每一項都附有 Cancel 按鈕。
- agent 可以變更另一個 session 的模型、模式、標題、群組或工作資料夾。不是由它開啟的 session,需要你先按 Allow。
- agent 可以把它開啟的 session 放進你的 session 群組;監看 session 的 agent 也可以要求少被喚醒一點:每隔幾分鐘收一份摘要、設定安靜時段,或排除某些 session。
- 由 agent 開啟的 session,在 🧠 設定中新增了一個開關,讓其中的 agent 也能自己開啟 session。
- 修正:中繼端事件和其他自動送出的訊息不再算作你的訊息,因此彼此不斷互相提示的 agent 會更早來問你。
-
0.9.15
- 在 Windows 上,
oar setup會詢問中繼的啟動方式:登入時、開機時(在任何人登入之前,需要一次系統管理員確認),或不自動啟動。之後可用oar autostart signin|boot|off|status切換並查看目前的設定。 oar uninstall會停止中繼、移除 OAR 建立的自動啟動項目,再移除套件。設定、對話和上傳的檔案會保留,並告訴你位置;--purge會在你輸入delete後一併刪除。- 拒絕系統管理員確認不會改變任何東西;設定檔路徑含有空格、撇號或 ü 這類非 ASCII 字元時,開機模式也能正常運作。
- 手動建立的自動啟動工作,或只有系統管理員能讀取的工作,絕不會在沒有備份的情況下被刪除或取代:OAR 會停下來要求
--replace,它會先保留一份備份。在 0.9.14 中,切換到開機模式可能會在沒有備份的情況下刪除這類工作。 - npm 套件變小了:兩份給開發者的 README 只放在 GitHub 上。
- 在 Windows 上,
-
0.9.14
- 在使用 Windows 自動啟動,或由單純的
gh copilot啟動的中繼端,從 0.9.13 更新之前:這些中繼端把對話存在已安裝的套件裡,更新時會跟著套件一起被刪除。請關閉所有gh copilotsession 並執行oar stop(若中繼端仍在執行,請在工作管理員中結束它的 node.exe),把套件的server\data與server\uploads資料夾複製到安全的地方,再用npm i -g @oar-sh/oar --allow-scripts=@oar-sh/oar,better-sqlite3,koffi更新;絕對不要使用--ignore-scripts。所有步驟都在版本說明中。 - 自動啟動與
gh copilot的中繼端現在與oar start使用相同的資料,位於套件之外。更新會在 npm 移除舊版本之前,複製舊版本存放在套件中的資料,中繼端則在下次啟動時接手。不會刪除任何東西;若中繼端無法判斷哪個資料庫較新,它會停下來並說明。 - 當機或斷電留下的中繼端鎖不會再擋住下一次啟動,兩次啟動也不會再同時執行。Windows 自動啟動會等候
%TEMP%與資料所在的磁碟機最多 5 分鐘,RAM 磁碟或較晚掛載的磁碟機不會再讓它出錯。 - Cursor 對話在更新後會保留它的 agent,上傳檔案會跟著設定中的
dataDir,oar setup --migrate-from在安裝程式執行過後也能使用。 - agent 可以要求在中繼端重新執行時被喚醒(
relay_restarted),讓工作在重新啟動後繼續。agent 的預覽工具只會列出並關閉它自己對話的預覽。 - 核准卡片以點選作答,而不是輸入文字:在回覆框輸入的「yes」不再被當成拒絕。
- 修正:資料夾已被刪除或改名的對話會直接說明,而不是歸咎於 CLI;回答問題不再導致長回合被重送;恢復執行的子 agent 能開啟它的記錄,並在執行期間列出;每個接受 reasoning effort 的 Cursor 模型都會收到設定的 effort。
- 在使用 Windows 自動啟動,或由單純的
-
0.9.13
- 中繼端重新啟動:🌄 Restart web relay 會先列出它要等候的執行中回合、會暫留的訊息,以及背景任務,並標明每一項是否會繼續執行;Restart when idle 會把重新啟動排入佇列,Restart now 則不等待。等候期間,每個頁面都會顯示橫幅,列出 session、已等候的時間,以及 Restart now 與 Cancel restart。
- 排入佇列的重新啟動不會再無限期等下去:超過你在 Settings › General 設定的時間(預設 30 分鐘)後,橫幅與推播通知會詢問要立即重新啟動、繼續等候還是取消。只要還有回合在執行,它絕不會自行重新啟動。
- 可在 Settings › General 開啟:中繼端重新啟動後,回合被重新啟動打斷的 session 會收到一則簡短的提醒,請它確認剛才在做什麼並繼續。你的訊息絕不會重送。
- 任務主控台能撐過中繼端重新啟動:已結束的列會帶著 ✓ 或 ✘ 回來,執行中指令的輸出也能立即讀取。它會標出
| tail擋住輸出的位置,並提示改把輸出記錄到檔案;在寬螢幕上,任務的列與它的 Stop 會一直顯示在主控台下方。 - Load earlier 也放到了主控台的標題列;測試執行改以完整記錄計數,不再只看最後 64 KB;vitest 的 RUN、PASS、FAIL 標籤會以實心顯示。
- 由腳本或 agent 送出、未指定模型的訊息,會沿用對話的模型、effort 與模式,不再切換成清單上的第一個模型。
remote_relay會拒絕供應商未列出的模型,並指出最接近的選項(「did you mean 'gpt-5.4'?」)。 - 觀察中的 agent 不會再被每一個順利結束的 shell 指令喚醒:預設只會得知已結束的子 agent 與失敗的任務。指定
task_finished就能像以前一樣收到每個任務的結束。 - 修正:即使連線卡住,worker 也會在中繼端重新啟動後重新連線;任務列描述與摘要中的憑證會被遮蔽;載入較舊訊息後立即的捲動不會再被復原,⌄ 標籤也會計入你往上捲動那一刻到達的訊息;任務面板不會再短暫縮回;單元測試在 Windows 上再次通過。
-
0.9.12
- 任務主控台:在任務面板點一下背景指令或監看器,就能即時閱讀它的輸出——保留顏色、遮蔽憑證、進度列只留最後狀態,Load earlier 可往回翻完整份記錄,還有自己的 Stop。Claude 的背景 shell 與監看器、Copilot 分離與附加的 shell,以及 Grok 的終端機都能開啟。
- 安靜的任務與測試執行:任務列會顯示「no output for 12 min」,超過你在 Settings › General 設定的時間(預設 10 分鐘)就變成琥珀色;測試執行(vitest、Playwright、node:test、jest、pytest)會顯示 ✓ 412 ✘ 2 標籤,點一下就跳到第一個失敗。
- Claude 的背景指令預設可執行 2 小時,最長 8 小時(Settings › Providers › Claude);Claude 也會被告知把長時間執行的輸出記錄到檔案,並用
nohup啟動需要撐過重新啟動的執行。 - 子 agent 的列會顯示步驟數;agent 可以用
remote_relay的read_task_output讀取已配對中繼端上任務的輸出。 - 長對話開啟與往回翻都很快:不論對話多長,中繼端只讀取你要的那一頁。
- 切回某個對話或重新載入頁面時,會回到你正在讀的那則訊息,連同較舊的頁面。每個對話為此保留多少則訊息,可在 Settings › General 設定。
- 對話清單改用顏色顯示活動:工作中的 session 標題維持亮綠色,閒置的變成較深的綠色,動畫圓點已移除。
- 修正:在歷史記錄很上面閱讀時,新訊息不會再跳過中間的訊息——它們會等著,在 ⌄ 按鈕上計數,往下捲動時依序載入;從那裡送出的訊息會帶你到最後;較晚載入的圖片不會再把你正在讀的文字往下推;Copilot 的背景任務會回報結束方式與結束碼,不再顯示「unknown」。
-
0.9.11
- Session 群組:agent 開啟的 session 會排在開啟它的 session 底下,並附上一個總結群組狀態的標籤(「3 · 1 waiting for you, 2 running」)。群組裡的事都做完後會自動收合,可以命名、整組封存或停止;收合中的成員有提問時,會顯示在群組的標題列上。
- 拖放:把 session 拖進群組、拖出群組,或重新排序;把一個 session 放到另一個上面,就組成新的群組。手機上長按再移動;用鍵盤則是 Move up 和 Move down。
- Settings › Sharing 列出每一個分享連結,可以複製、更新或停止分享,還有每次開啟的存取紀錄——時間、國家、瀏覽器,以及 IP 位址(除非你關掉)。
- 分享連結不會再帶出你的路徑:可以顯示、只留檔名,或兩者都隱藏。Preview as shared 讓你看到觀看者會看到什麼,🙈 清單則集中列出對觀看者隱藏的訊息。
- 安全性:同一個位址輸錯十次 token 會被鎖一分鐘;即時通道只接受中繼端自己的來源;轉送的標頭只採信受信任的 proxy;
?token=只用來登入頁面。若在其他主機上的反向 proxy 後面,請設定trustProxy和allowedOrigins。 - Day/Night 回到 ⋯ 選單,旁邊是新的 About OAR:版本、供應商、累計數字和中繼端的健康狀態一目了然。
- 修正:預覽連結在中繼端重新啟動後仍然有效;重新啟動不會再忘記正在跑的背景任務;worker 在重新啟動後會重新連線,PATH 裡沒有
node也能啟動;往上捲動閱讀時,對話不會再自己捲動;閱讀器裡的寬表格會在自己的框內捲動。
-
0.9.10
- agent 監看 agent:agent 可以訂閱其他 session,不論是在自己所在的中繼端,還是配對好的中繼端,那邊發生的事都會把它叫醒——等著回答的提問、錯誤、回覆、跑完的背景任務、安靜下來的 session。訂閱只負責通知,不會核准任何事。對話裡的第一筆訂閱會用卡片先問過你,標題列會顯示 watching N sessions,每一筆都附有 Unsubscribe。
- 打開 subagent 的完整紀錄:它的思考、每一次工具呼叫的輸入和結果,還有它的回覆,執行中也會即時更新。工具輸出要保留多久,由 Settings → General 決定。
- agent 之間的註記會收合成一列,展開就看得到提示和回覆。agent 可以查詢各家供應商的方案還剩多少,也看得出某個 session 是在工作、在背景忙碌,還是閒置。
- 檔案瀏覽器可以建立資料夾,也能重新命名、刪除檔案和資料夾——按右鍵,手機上則是長按。
- ⌄ 按鈕會跳回最新的訊息,並算出這段時間新進來幾則;串流中的回覆和剛啟動的背景任務,對話紀錄都會一路跟著。
- 要封存的 session 若處理程序還在跑,會先問過你;還沒有任何對話時,設定也打得開。
- 修正:中斷的 websocket 不會再讓中繼端當掉;在手機上點 ⌄ 不會再跳出鍵盤;排進佇列的中繼端重新啟動,不會再因為中繼端忙碌而無止境地等下去;主機從睡眠中醒來,不會再重新啟動正在跑的回合;Cursor 的回合在等一個跑很久的指令時,不會再被當成卡住而結束;切換對話後立刻送出的訊息,會出現在你送出的那個對話裡。
-
0.9.9
- 只打
oar就會開啟選單:顯示中繼是否在跑,連同版本、網址、連接埠、存取範圍和服務,並提供啟動、停止、重啟、網址和 QR code、設定、服務、更新和 doctor。新指令:oar stop、oar restart、oar status、oar url和oar service;終端機裡的 Copilot 工作階段改為oar copilot。oar setup會問存取範圍(只有這台機器,或區域網路)和連接埠,改過的設定會送到正在跑的中繼。 - 檔案填滿整個畫面:圖片、影片和音訊在黑底上,文字排成好讀的一欄。在資料夾裡或對話的媒體之間滑動翻頁,方向鍵也行;PDF 用瀏覽器自己的檢視器開啟,音訊直接在檢視器裡播放,返回手勢只會關閉檢視器,不會關掉別的。
- 釘選訊息:每則訊息在 Hide 旁邊多了 Pin 按鈕(手機上點一下對話泡泡就會出現);有釘選的對話會在標題列顯示帶數量的 📍 按鈕,清單會帶你跳到那則訊息,就算它在歷史紀錄很上面也一樣。
- 下載拿到的是檔案現在的樣子:連結帶著檔案的版本,存檔名稱帶著最後修改的時間,而且中繼和你之間的任何快取都不能留住 API 的回應。
- 內建的 Cloudflare tunnel 改用你自己安裝的
cloudflared;隨附的那份拿掉了。如果你用過 tunnel,更新後請安裝cloudflared——中繼一找到它就會把 tunnel 跑起來。 - 供應商 SDK:Copilot SDK 1.0.17、Claude Agent SDK 0.3.292、Cursor SDK 1.0.36。
- 修正:PDF 又能在瀏覽器的檢視器裡開啟了;音訊檔和 SVG 會以它們本來的類型送出;上傳的影片可以拖動進度;日文、中文或 emoji 名稱的檔案又能送出了;跳到歷史紀錄的某處之後,畫面會停在那裡。
- 只打
-
0.9.8
- OAR 有標誌了:一隻水獺。啟動畫面、登入框、分頁圖示和已安裝 App 的圖示都會跟著日間與夜間模式切換,主題在第一次繪製之前就套用好。
- 已安裝的 App 一氣呵成地啟動:它的啟動畫面會接續手機的開啟畫面。
- Claude session 壓縮 context 的時候,進行中的回合上方會出現一行 Compacting context…;結束後變成 Context compacted,並附上 token 數。
- 改過的 auto-compact 視窗現在真的會生效:session 會在裡面沒有東西在跑的時候重新啟動一次,回覆裡也會註明。
- Linux 和 macOS 的安裝程式把事情做完:只確認一次,你的 Node.js 沒有或太舊時自帶一份,不需要 root,結束時中繼已經在跑。新指令:
oar start和oar setup --start。 - 捲軸用滑鼠更好抓:游標停在上面時,捲軸會變成兩倍寬。
-
0.9.7
- Claude Cloud(實驗性功能,預設關閉):在 Anthropic 的沙箱裡執行 Claude Code 的對話,用的是某個 GitHub 儲存庫的獨立副本。從清單挑選儲存庫和分支,即時看著回合進行、回答它的提問、停止它、在回合之間切換模型;成果會以推送的分支回來。
- 對話可以封存而不必刪除;在對話上按右鍵(手機上長按)會開啟選單:開啟、重新命名、停止、強制結束、封存、刪除。
- Agent session:開啟之後,agent 可以在自己所在的中繼端上啟動其他 session,等待它們並讀取結果。
- Claude session 的 commit 和 pull request 會帶上
Co-authored-by: Open Agent Relay (模型);可依中繼端和資料夾選擇 OAR、Claude Code 自己的署名或不署名。 - Check Usage 會立刻以上次的讀數開啟,只即時讀取目前開啟的分頁。
- 修正:同一段落裡的兩個價格不會再被顯示成公式;提到錯誤代碼的回覆不會再被存成失敗的回合;在 Windows 上,中繼端讀取處理程序清單時不會再卡住。
-
0.9.6
- Claude 的 session 碰到用量上限時會先暫停,額度重置後再接著做:橫幅會告訴你何時繼續,並附上 Resume now 和 Cancel,就算中繼端重新啟動,暫停狀態也還在。如果重置時間在六小時之後,就會等你決定;另一個橫幅則會在用量達到上限的 90% 時先提醒你。
- 沒有任何輸出的指令,不會再讓回合失敗(Copilot、Cursor、Grok):沒有進行中的工作時,回合可以安靜 2 分鐘;模型請求進行中可以 5 分鐘;工具執行中可以 30 分鐘。
- Copilot 的回合就算失敗,也失敗得漂亮:錯誤會立刻顯示,agent 已經寫出的文字就在上方;卡住的回合按 Stop 停得下來;已完成的回覆撐得過中繼端重新啟動;runtime 掛掉時,它的指令會被停掉;指令還在跑時送出的訊息,會等它跑完再處理。
- 配對好的中繼端上,agent 可以在整個 session 裡互相回應;agent 之間連續傳了 30 則提示而你都沒出聲時,下一則會先問過你。
- subagent 在正在跑的回合裡會收合成一行標題,計畫看板則放在它所屬的回覆裡——你的選擇也會一併設定 session 的模式。
- 失敗時的註記不會再建議你重新啟動中繼端,中繼端也會把主控台輸出保存在
relay-console.log。
-
0.9.5
- Claude 的回覆有時會以背景接續的形式發佈,而不是出現在你的訊息底下;這種情況不會再讓對話卡住長達 5 分鐘。大約 45 秒沒有動靜後,你的訊息就會結束,並附上一則小註記,指出那則回覆在哪裡。
- agent 在另一個中繼端開新 session 或傳訊息過去時,可以設定那邊的 reasoning effort。
- 等待另一個中繼端的回覆時,不會再因為遠端 agent 先給了中途回覆就停下來;只要它還在做事,就會繼續等。
- Windows 上的 session worker 現在也會寫 worker 記錄檔,跟 Linux 一樣。
-
0.9.4
- 遠端中繼端:在 Settings → Relays 把兩個中繼端配對起來,一邊的 agent 就能列出、讀取另一邊的 session,傳訊息過去,也能直接開新的 session。
- 配對好的中繼端,要等你在對話裡提到它才會解鎖。每個中繼端的權限由你決定,在 Ask 和 Plan 模式下,寫入動作都會先問過你,token 則始終留在中繼端上。
- 透過新的 OAR MCP server,Grok 和 Copilot 的 extension 引擎終於拿到真正能用的工具。
- 緊跟正在跑的回覆:三個切換鈕能讓它的思考、回答或工具清單隨著內容變長,一直留在畫面上。
- Suspend host(Windows)會等 agent、背景任務和 CI 都跑完才讓主機休眠;Stop 也會先問過你,才取消回合。
- 修正:切換 Claude 模型後,下一則訊息不會再卡住;閒置連線會保持開啟 65 秒。
-
0.9.3
- 回合中途導正:agent 還在做事時照樣發訊息,Claude 和 Copilot 都行,訊息會直接併入正在跑的回合。
- Copilot 的背景 agent 和 shell 會出現在任務面板裡,附上它跑的模型、正在執行的工具呼叫,還有真的停得下來的 Stop。
- 提問卡片可以選好幾個答案。
- 草稿跨裝置也安全了:閒置的裝置不會再蓋掉你正在打的字。
- 標題篩選能搜尋所有對話;手機轉向時也會保住你讀到的位置。
- 刪除對話時,也會停掉它的 worker,並移除 OAR 為它建立的 CLI session。
-
0.9.2
- 自我更新,預設關閉:從設定裡更新,或用
oar update。你沒開口之前,不會有任何東西去查版本。 - Copilot 預設改跑 SDK worker 引擎。
- 圖片、影片和音訊直接內嵌在 agent 的回覆裡——點一下就能開啟、放大、下載。
- Copilot 的模型清單修正了:真實的 context window、各模型各自的 reasoning effort。
- Windows 上可以在系統啟動時就把中繼端拉起來,不必等人登入。
- 一整批 session、佇列與 worker 的穩定性修正。
- 自我更新,預設關閉:從設定裡更新,或用
-
0.9.1
修好全域執行檔,裝完之後
oar找得到了。 -
0.9.0
以 OAR — Open Agent Relay 之名推出的第一個版本。





















