模型 / 資料集
rynfar/meridian avatar
rynfar/meridian

Meridian:把 Claude Agent SDK 轉成 Anthropic API 的本機代理

Use your Claude Max subscription with OpenCode, Pi, Droid, Aider, Crush, Cline, Jcode. Proxy that bridges Anthropic's official SDK to enable Claude Max in third-party tools.

2,016 個 Star223 個 ForkTypeScript授權條款依專案而異

秒懂

它是什麼?
Meridian 讓 OpenCode、Crush、Cline、Aider 這類只認 base_url 的工具接上 Claude Max 訂閱。它不攔截 OAuth、不修補二進位檔,而是把 Claude Agent SDK 的 query() 包成標準 API 端點,代價是你必須接受 SDK 與 Anthropic 對用量、快取與限流的全部控制。
適合誰用?
如果你已經付了 Claude Max、日常主力是 OpenCode 或 Crush 這類可自訂 base_url 的工具,而且不介意所有請求都走 Anthropic 官方 SDK 的通道,Meridian 值得裝來試;npm 全域安裝加上一次 meridian setup 就能跑。反過來說,需要多使用者共用、需要可審計的正式環境,或想用 API key 計費而非訂閱制的團隊,應該先確認 Meridian 的認證模型與你們的合規要求是否相容,因為它明確不是以 API key 為身分基礎。
可以商用嗎?
未經許可不行。GitHub 在這個儲存庫中沒有找到授權檔案;沒有授權,預設即「保留所有權利」:你可以閱讀程式碼,但不能重複使用。使用前請看看 README,或先取得作者同意。
還在維護嗎?
有在維護。儲存庫在最近一天內有新的提交。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

它解決的是協定落差,不是額度問題

Claude Agent SDK 提供的是程式化存取,入口是 query() 這個函式。但市面上多數編輯器與終端工具期待的是 Anthropic API 端點,兩者形狀不同。Meridian 的角色就是把這個落差補起來:在本機起一個服務,接受標準 API 請求,再轉進 SDK。README 的說法是「The SDK does the work; Meridian formats the result.」,SDK 做事,Meridian 負責格式。

目標使用者相當明確。你已經有 Claude Max 訂閱,但你不想被綁在 Claude Code 這個前端,偏好 OpenCode、Crush、Cline、Aider、Pi、Droid、Jcode 其中一個。這些工具都支援自訂 base_url,所以只要把它指向 Meridian 監聽的埠就能用。如果你本來就用 Claude Code 且滿意,Meridian 對你沒有增益;它存在的理由是前端選擇權。

請求路徑:query() 是唯一的出口

Meridian 的架構只有一條主線。客戶端送出 Anthropic 或 OpenAI 格式的請求,Meridian 接收後轉成 SDK 呼叫,SDK 回傳的串流再被翻譯回標準格式。README 強調「Every request flows through query()」,所有請求都經過同一個函式,沒有旁路。

這個設計決定了幾件事的歸屬。prompt caching、context window 管理、compaction、rate limiting、authentication 全部留在 Anthropic 手上,Meridian 不繞過它們,而是依賴它們。專案自己的定位是「presentation and interoperability layer」,簡報與互通層。

在功能面上可以看到這條路徑延伸出的能力:session 會跨請求保留,能撐過 compaction 與 undo,也能在 proxy 重啟後恢復;串流走完整 SSE;父子代理請求可以並行。另外有一個值得注意的切分,主要代理拿 1M context,子代理拿 200k,專案說法是為了保留 rate-limit 預算。這是一個有意識的取捨,不是預設值隨便挑的。

安裝與設定:四步,其中一步會動到 OpenCode

README 的 Quick Start 給了完整順序。先全域安裝:

npm install -g @rynfar/meridian

再做一次認證:

claude login

OpenCode 使用者要額外跑一次設定:

meridian setup

如果要用 pinned 的 V2 beta,指令是 meridian setup --v2 --opencode-bin ~/.local/bin/opencode2。最後啟動 meridian,服務預設監聽 http://127.0.0.1:3456。

接上工具的方式是把環境變數指過去,README 的範例是:

ANTHROPIC_API_KEY=x ANTHROPIC_BASE_URL=http://127.0.0.1:3456 opencode

這裡有個容易誤解的地方。API key 的值是佔位符,Meridian 是透過 Claude Code SDK 認證,不是靠 API key。多數相容工具強制要求這個欄位有值,所以隨便填一個即可。

設定面還有幾個具體的檔案與路徑。模型價格覆寫放在 ~/.config/meridian/model-pricing.json,也可以在 /settings 頁面編輯。遙測儀表板在 /telemetry。OpenAI 相容端點是 /v1/chat/completions 與 /v1/models。多帳號切換與 sticky session routing 寫在 docs/profiles.md,NixOS、Home Manager、Docker 的部署方式在 docs/deployment.md。

認證模型決定了它能用在哪裡

Meridian 的身分基礎是 Claude Max 訂閱,不是 API key。這個選擇直接劃出適用範圍。單一開發者、自己的機器、自己的訂閱,這條路走得通,而且 claude login 之後 token 過期會自動刷新,README 說請求不會中斷。

但換到多人共用或需要計費歸屬的場景,問題就來了。每個 profile 對應一個 Claude 帳號,多 profile 功能是為了在同一個人手上切換帳號,或是用 sticky session routing 把 session 分散到多個帳號並保持各自的 prompt cache 溫熱。它不是為了讓一個團隊共用一份額度而設計的。如果你的組織需要以 API key 為單位稽核用量、開立發票、或把成本攤到各團隊,Meridian 的模型與這套流程對不上,這時候直接走 Anthropic API 才是對的。

還有一層是條款面。README 花了一整段說明它只用官方文件化的 SDK 呼叫,不抽取 OAuth token、不修補二進位檔、不逆向工程。這段文字本身就是在回應一個現實:用訂閱額度驅動第三方前端,是否落在 Anthropic 允許的範圍內,取決於 Anthropic 怎麼定義,而不是 Meridian 怎麼宣告。專案自己承認「Anthropic remains in full control」,也承認 Max 的額度寬鬆是因為 Anthropic 能透過 Claude Code 最佳化用量。要不要接受這個前提,是採用與否的關鍵判斷。

不適合的情況與實際限制

第一種不適合:你的工具不支援自訂 base_url。Meridian 是代理,不是外掛,客戶端必須能把請求送到別的位址。做不到這點的工具,接不上。

第二種:你需要在沒有 Claude Code 環境的機器上跑。認證走的是 claude login,這條路徑依賴 Claude Code 的憑證。容器化部署雖然有 docs/deployment.md 可查,但憑證怎麼進容器、能不能持久化,是你要自己驗證的事,README 沒有給出保證。

第三種:你期待 Meridian 幫你突破額度。它明確不做這件事。rate limiting 由 Anthropic 控制,Meridian 依賴它而非繞過它。子代理降級到 200k context 這個設計,本身就是承認預算有限。

還有一個容易被忽略的維護面。版本節奏看起來相當快,最近三個版本是 v1.67.0、v1.68.0、v1.69.0,分別在 2026 年 9 月 4 日、5 日、9 日發布。這代表上游 SDK 若有變動,Meridian 需要跟上。你把它放在日常工作流程的關鍵路徑上,就要接受這個升級頻率。授權條款方面,README 徽章寫的是 MIT,但 repository metadata 顯示 unknown,兩者不一致,採用前應該直接看 npm 頁面與 repo 裡的 LICENSE 檔案確認,本文不提供法律意見。

與直接呼叫 Anthropic API 的差異

最直接的替代方案是不用代理,讓工具直接打 Anthropic API。差異在三個層面。

計費與身分:直接呼叫用 API key,按用量計費,成本可預測也可歸屬;Meridian 用訂閱,成本固定但綁在個別帳號上。

功能歸屬:直接呼叫時,session 管理、串流、快取策略由客戶端自己處理,每個工具實作不同;Meridian 把這些收斂到 SDK 這一層,所以 OpenCode 和 Crush 拿到的行為是一致的。反過來說,你也失去了在客戶端層級調整這些機制的空間。

協定覆蓋:Meridian 同時提供 Anthropic 與 OpenAI 兩種格式,後者包含 /v1/chat/completions、/v1/models,以及 data URL 形式的 image_url 支援。README 特別點出這樣就不需要 LiteLLM。如果你原本的架構裡有一層 LiteLLM 只為了做格式轉換,Meridian 可以把它拿掉,代價是把轉換邏輯換成另一套。

另一個方向的替代是繼續用 Claude Code。那是零設定的選項,缺點是你得接受它的介面。Meridian 的整個賣點就是讓你不用接受。

值得先看的兩個觀測點

Meridian 內建遙測儀表板在 /telemetry,README 說它顯示即時效能指標、token 用量與 prompt cache 效率。這不是裝飾性功能。因為整個架構把 prompt caching 交給 Anthropic 管理,快取命中率直接影響你的實際體驗與額度消耗,而這是你能在儀表板上看到的少數硬指標之一。

第二個是 envelope integrity auditing。Meridian 會對每個回應驗證自己的 wire 輸出,檢查有沒有懸空區塊、有沒有未送達或空的 tool call,違規會顯示在儀表板上。這說明串流翻譯這一層確實有出錯的可能,否則不需要內建自我檢查。對照地看,這也意味著如果你遇到工具行為異常,第一個該看的地方是這個面板,而不是先懷疑客戶端。

這兩個觀測點加起來,構成了一個相對誠實的設計態度:專案知道自己站在翻譯層,也知道翻譯層會壞,所以把檢查結果攤開來給你看。要不要信任這個態度,比看任何功能列表都更接近採用決策的核心。

編輯結論

如果你已經付了 Claude Max、日常主力是 OpenCode 或 Crush 這類可自訂 base_url 的工具,而且不介意所有請求都走 Anthropic 官方 SDK 的通道,Meridian 值得裝來試;npm 全域安裝加上一次 meridian setup 就能跑。反過來說,需要多使用者共用、需要可審計的正式環境,或想用 API key 計費而非訂閱制的團隊,應該先確認 Meridian 的認證模型與你們的合規要求是否相容,因為它明確不是以 API key 為身分基礎。動手前先驗證三件事:claude login 的憑證在你們的環境能不能維持有效、meridian setup 對 OpenCode 的改動範圍、以及 /telemetry 上回報的快取命中率是否符合預期。最後一點最實際:授權條款在 repository 中無法確認,README 徽章標示 MIT 但 repo metadata 為 unknown,採用前請自行核對 npm 頁面與 LICENSE 檔案。

官方來源

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. rynfar/meridian on GitHub
社群筆記

社群筆記