開發了連接 Claude Code、Codex、Gemini 的 LLM API 轉換代理伺服器「llmglot」
在 AI 開發現場,比起模型本身,越來越常被 API 規格差異所困擾。
Claude Code 使用 Anthropic Messages API。OpenAI 系工具使用 Chat Completions API 或 Responses API。Gemini 則有自己的獨立 API,而在本機 LLM 環境中,Ollama 與 LM Studio 會提供 OpenAI 相容 API。
明明想用的模型已經存在,卻因為 API 規格不同而無法連接。必須改寫 SDK、實作轉換層,並針對不同環境分別設定。
解決這類問題的就是 llmglot。
GitHub: https://github.com/Himeyama/llmglot
llmglot 是什麼
llmglot 是一個可在多種 LLM API 之間相互轉換的代理伺服器。
它會接收 Anthropic Messages API、OpenAI Responses API、OpenAI Chat Completions API、Gemini API 等請求,並適當轉換後轉送到上游 API。
也就是說,即使客戶端要求的 API 規格與實際想使用的模型 API 規格不一致,也仍然可以使用。
支援範圍
以客戶端來說,支援:
- Claude Code
- Anthropic SDK
- OpenAI SDK
- Responses API 用戶端
- Gemini SDK
等。
作為連接端則可使用:
- Ollama
- LM Studio
- OpenAI
- Gemini
- OpenRouter
- Azure OpenAI
- vLLM
等。
例如:
- Claude Code → Ollama
- OpenAI SDK → Gemini
- Responses API → Chat Completions API
這類連接都能實現。
連接 Claude Code 與本機 LLM
llmglot 的用途之一,就是連接 Claude Code 與本機 LLM。
例如使用 Ollama 時,可以用:
CHAT_BASE_URL=http://localhost:11434/v1 llmglot
來啟動。
接著只要把 Claude Code 的連接目的地改成 llmglot,就能從 Claude Code 使用本機 LLM。
不用昂貴的 API 就能試用程式碼代理,這點非常有吸引力。
(補充:Ollama 支援 Messages API,所以其實不需要代理)
也支援 Responses API
近年來,使用 Responses API 的工具越來越多。
llmglot 實作了 /v1/responses 端點,除了 HTTP 之外也支援 WebSocket。
因此,像 Codex CLI 這類以 Responses API 為基礎的客戶端也更容易連接。
日誌功能很方便
llmglot 配有日誌顯示功能。
可確認的資訊包括:
- 模型名稱
- 供應商
- 輸入 token 數
- 輸出 token 數
- 快取使用量
- 預估成本
- 生成速度
等。
在使用多個 LLM 的環境中,能集中管理使用情況的優點非常大。
與 LiteLLM 的差異
這裡令人好奇的是與 LiteLLM 的差異。
兩者都是位於 LLM 中間層的軟體,但目標方向大不相同。
LiteLLM 的思路
LiteLLM 會將多數 LLM 供應商統一成 OpenAI 格式。
也就是:
應用程式
↓
LiteLLM
↓
各 LLM 供應商
這樣的架構。
可以說,它是為了讓應用程式開發者使用統一 API 的機制。
llmglot 的思路
另一方面,llmglot 則是:
Claude Code
Codex CLI
Gemini SDK
↓
llmglot
↓
各 LLM 供應商
這樣的架構。
其目的在於轉換客戶端的 API 規格。
以 Claude Code 來比較
Claude Code 使用 Anthropic Messages API。
LiteLLM 基本上是以 OpenAI 相容 API 為中心,因此要直接連接 Claude Code 並不容易。
相對地,llmglot 可以直接接收 Anthropic Messages API。
因此可以實現:
Claude Code
↓
llmglot
↓
Ollama
這樣的架構。
這是 llmglot 非常大的特色。
該選哪一個
適合 LiteLLM 的是:
- 開發 AI 應用程式的人
- 想把 OpenAI SDK 當作統一介面的人
- 想做負載平衡或 fallback 的人
另一方面,適合 llmglot 的是:
- 想讓 Claude Code 使用其他模型的人
- 想讓既有客戶端使用本機 LLM 的人
- 想把 Responses API 轉成其他 API 的人
- 不想改寫 SDK 的人
總結
在 LLM 的世界裡,越來越多情況下,問題不在模型本身,而在 API 的差異。
想使用 Claude Code,卻想搭配 Ollama。想使用 OpenAI SDK,卻想搭配 Gemini。這類需求未來只會越來越多。
llmglot 就是在中間吸收這些 API 規格差異。
- Claude Code → Ollama
- OpenAI SDK → Gemini
- Responses API → Chat Completions API
- Gemini API → OpenAI 相容 API
如果說 LiteLLM 是「給開發者的統一 API」,那麼 llmglot 就可以說是「客戶端相容代理」。
載入中...