LLM 中间人调试代理。拦截 OpenAI 兼容 API 请求,提供可视化 Messages 调试界面。
- 请求拦截 — 自动记录所有经过代理的请求和响应
- Messages 可视化 — 邮箱式布局,按 role 分色展示完整对话历史
- Tool Calls 查看 — 点击展开工具调用的完整参数
- 流式响应支持 — 自动解析 SSE 流,合并为结构化数据
- 请求重放 — 一键重发请求,便于调试对比
- 实时更新 — SSE 推送,请求到达即刻可见
docker compose up -ddocker build -t llmid .
docker run -d -p 3456:3456 llmidnode server.js需要 Node.js 22+。
将你的 OpenAI 客户端的 base_url 指向代理地址:
# 环境变量方式
export OPENAI_BASE_URL=http://localhost:3456/v1
export OPENAI_API_KEY=sk-your-key
# 或在代码中指定from openai import OpenAI
client = OpenAI(
base_url="http://localhost:3456/v1",
api_key="sk-your-key",
)
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": "Hello"}],
)代理会自动将请求转发到目标服务(默认 https://api.openai.com),同时在 http://localhost:3456 提供调试界面。
| 环境变量 | 默认值 | 说明 |
|---|---|---|
PORT |
3456 |
监听端口 |
OPENAI_TARGET |
https://api.openai.com |
目标 API 地址 |
代理到其他兼容服务:
OPENAI_TARGET=https://api.deepseek.com docker compose up -dllmid/
├── server.js # 代理后端(Node.js)
├── index.html # 调试前端(React + Zustand)
├── Dockerfile
├── docker-compose.yml
└── README.md
Client ──→ llmid proxy ──→ OpenAI API
│
├─ 记录请求
├─ 转发响应
├─ 解析流式数据
└─ 推送到调试界面 (SSE)
MIT