LLM API Gateway
独立子服务 · /Users/zhenjiangzhao/Desktop/workbench/services/llm_gateway · 系统装的 Codex / Claude / Gemini,跑在你的真实 HOME(共用终端里的登录态)。
Bearer token
客户端必须带 Authorization: Bearer <token>。存于 /Users/zhenjiangzhao/Desktop/workbench/services/llm_gateway/data/token.txt。
版本
CLI 由系统安装器自管(claude native / codex · gemini 用 brew),此处仅显示已装版本,不做更新检测或拉取。最近刷新:2026-09-19 23:13:03。
| CLI | 已装版本 |
|---|---|
| claude | 2.1.260 |
| codex | 0.155.1 |
| gemini | 0.38.2 |
Providers
三家 CLI 由系统安装(claude native 在 ~/.local/bin,codex · gemini 用 Homebrew),跑在你的真实 HOME。这里只探测状态;未登录时下方会显示对应的登录命令,在终端里跑一次即可(CLI 用你的真实 HOME,登录态自动续期)。
Playground
网页内对话窗口。多轮上下文走 OpenAI 兼容路径 /api/llm/v1/chat/completions。Effort = low/minimal 会快很多;reasoning 模型默认 xhigh,所以慢。
💡 留 (默认) 通常就行:用 CLI 自带的当前模型。
只在需要 固定到某个特定 model(如 Claude opus 别名永远是最新一代 Opus)或 调 effort 时再选。
还没有消息。在下方输入开始对话。
Endpoints
挂载在 workbench 主 app 的 /api/llm 下。
POST /api/llm/chat- 自定义:
{"prompt":"...", "provider":"codex|claude|gemini", "model":null} POST /api/llm/v1/chat/completions- OpenAI 兼容。base_url =
http://localhost:31415/api/llm/v1,model=codex/claude:sonnet/gemini:gemini-2.5-pro,可加reasoning_effort。 GET /api/llm/providers- 三家的实时状态。
Quick test
登录完成后跑一下确认。
TOKEN=$(cat /Users/zhenjiangzhao/Desktop/workbench/services/llm_gateway/data/token.txt)
curl -X POST http://localhost:31415/api/llm/chat \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"provider":"codex","prompt":"reply with just: ok"}'