🎯 一句话总结:CLIProxyAPI 将本机已登录的 AI 账号(OAuth/CLI)转换成标准的 OpenAI 格式 API 接口,让任何工具都能直接调用,统一密钥管理且安全隔离。
📌 基本信息
| 项目 | 详情 |
|---|---|
| 🎬 核心工具 | CLIProxyAPI(本地转发层) |
| ⏱️ 部署耗时 | 10–15 分钟 |
| 💰 核心成本 | 工具免费,需要 VPS 或本机运行 |
| 📦 支持账号 | OAuth 登录态、CLI 登录、本地模型 |
| ✅ 适合人群 | 多 AI 工具用户、技术爱好者、Agent 框架开发者 |

主要功能
- 写代码:编辑器/Agent(Cursor、Claude Code、Hermes)直连
- 总结与研究:本地代理后通常有更宽松的速率限制
- 配置 Agents:Hermes、OpenCode 等框架直接用标准 API 调用
- 批量任务:脚本化调用,无需交互式登录
- 统一密钥管理:多个模型提供方统一成一套 API 密钥
⚙️ 架构解析
最简架构流程:
你的代码 / OpenAI SDK
↓
本地 API 网关: 127.0.0.1:3000/v1 ← 你拿到的是这个 key
↓
CLI Proxy API: 127.0.0.1:8317/v1 ← 内部转发层
↓
你自己的已绑定 AI 账号 ← 真正的模型提供方
各层职责:
| 层级 | 作用 | 安全边界 |
|---|---|---|
| 你的代码 | 用 OpenAI SDK、curl、脚本调用 | 可对外暴露 |
| 本地 API 网关 | 提供统一 API 密钥,仅本机监听 | 🔒 127.0.0.1 |
| CLI Proxy API | 将 OAuth/CLI 登录态转为 OpenAI 格式 | 🔒 127.0.0.1 |
| 已绑定账号 | 真正提供模型能力 | 🔒 OAuth/CLI 凭据 |
核心优势:
- 统一接口:所有模型提供方都变成
/v1标准接口 - 密钥隔离:外部只能访问网关 key,拿不到 OAuth token
- 无需破解:直接复用已有登录态,不违反服务条款
- 即时生效:绑定成功后立即可用,无需等待审核
⚙️ 搭建步骤
前置条件
- 本机已登录至少一个 AI 账号(Hermes、Step、OpenRouter、DeepSeek 等)
- Linux/macOS 系统(Windows 可用 WSL)
- 有 sudo 权限安装二进制文件
步骤 1:安装 CLIProxyAPI
macOS(Homebrew):
brew install cliproxyapi
Linux(或通用方式):
curl -LO https://github.com/cli-proxy-api/cli-proxy-api/releases/latest/download/cliproxyapi-linux-amd64
chmod +x cliproxyapi-linux-amd64
sudo mv cliproxyapi-linux-amd64 /usr/local/bin/cliproxyapi
验证安装:
cliproxyapi --version
步骤 2:配置本地网关
创建配置目录和文件:
mkdir -p ~/.cli-proxy-api
编辑 ~/.cli-proxy-api/config.yaml:
server:
host: "127.0.0.1"
port: 8317
api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxx" # 用 openssl rand -hex 32 生成
proxy:
upstream: "http://127.0.0.1:8318" # 转发到本地 CLI 服务
# 或直接指定模型提供方URL

⚠️ 安全提醒:
api_key必须用强随机密钥,不要用简单密码host必须设为127.0.0.1,绝不能设为0.0.0.0- 生产环境建议配合防火墙规则限制访问
步骤 3:绑定 AI 账号
CLIProxyAPI 会打开原生 OAuth / CLI 登录流程,走官方授权途径。
绑定原则:
- ✅ 用你自己的合法账号
- ❌ 不复制 Cookie 或提取 token
- ❌ 不抓包私有接口
- ❌ 不绕过验证码或风控
支持的账号类型示例:
- Nous Portal(Step、Hermes 等模型)
- OpenRouter(200+ 模型聚合)
- DeepSeek / Anthropic / OpenAI 登录态
- 本地 Llama.cpp / Ollama 实例
- 其他 OpenAI 兼容的本地服务
绑定成功后,凭据仅保存在本机,不会上传云端。
步骤 4:启动服务
cliproxyapi --config ~/.cli-proxy-api/config.yaml
验证监听状态:
lsof -nP -iTCP:8317 -sTCP:LISTEN
正确输出:
cliproxyapi 12345 youruser TCP 127.0.0.1:8317
如果看到 0.0.0.0:8317,说明监听在所有接口,立即修改配置重新启动。
步骤 5:在代码中使用
设置环境变量:
export OPENAI_BASE_URL=http://127.0.0.1:8317/v1
export OPENAI_API_KEY=sk-xxxxxxxxxxxxxxxxxxxxxxxx # config.yaml 中的密钥
Python 调用示例:

from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8317/v1",
api_key="sk-xxxxxxxxxxxxxxxxxxxxxxxx"
)
response = client.chat.completions.create(
model="local-ai",
messages=[{"role": "user", "content": "写一个 Python 快速排序"}]
)
print(response.choices[0].message.content)
现在任何支持 OpenAI 格式的工具(Hermes、Cursor、Claude Code 等)都能直接连接使用。
快速排查
| 问题 | 检查点 |
|---|---|
| 连接被拒绝 | lsof -i :8317 确认服务在运行 |
| 401 错误 | config.yaml 的 api_key 是否匹配代码中的 key |
| 无法调用模型 | 检查 models.name 配置是否正确 |
| 速率限制 | 查看背后账号本身的 quota |
| 登录态失效 | 重新走一遍 CLI Proxy API 的登录流程 |
⚠️ 注意事项
安全边界
- API 网关 必须 只监听
127.0.0.1,禁止暴露公网 config.yaml中的api_key不要与生产环境混用- OAuth 凭据仅存本机,不要导出或备份
合规性
- 前提是账号为本人所有或有权使用
- 不适用于违反服务条款的共享账号
- 某些服务商限制多设备同时在线
性能影响
- 增加一次本地转发,延迟增加约 5–20ms(基本可忽略)
- 速率限制取决于背后账号本身的配额
🔄 进阶玩法
- 多账号负载均衡:配置多个 upstream,轮询或按优先级调用
- 请求日志与审计:在本地网关层记录所有 API 请求
- 本地缓存层:对重复 prompt 添加缓存,降低成本
- 速率限制管理:统一管控背后多个账号的额度
- 熔断与降级:某个账号失效时自动切换到备选
❓ FAQ
Q:这和普通反向代理有什么区别?
A:普通反向代理只是透传,CLIProxyAPI 能把本机 OAuth/CLI 登录态转换成标准的 OpenAI API 密钥,工具无需改造即可使用。
Q:会不会被服务商封号?
A:只要使用自己的账号、正常使用,一般不会。但某些服务商限制多设备在线,需留意。
Q:可以聚合多个账号吗?
A:可以。通过配置多个 upstream 和模型别名,实现负载均衡或按需切换。
Q:适合生产环境吗?
A:适合个人或小团队内部工具链。大规模生产建议用官方 API 或企业方案。
Q:需要持续运行吗?
A:是的,这是一个常驻服务。可用 systemd / pm2 / screen 托管。
💎 本站专属福利
部署本地 AI 网关通常需要云服务器或 VPS 资源。推荐以下平台:
- RunPod — 按秒计费的 GPU 云,适合跑本地模型
- Together AI — 大模型 API 服务,可作备用 upstream
新用户通常有免费额度,适合初期测试。
🔗 扩展资源
- CLIProxyAPI GitHub
- OpenAI API 官方文档
- Hermes Agent 官方文档
- 相关工具:Nous Portal、OpenRouter、Ollama
