🎯 一句话总结:CLIProxyAPI 将本机已登录的 AI 账号(OAuth/CLI)转换成标准的 OpenAI 格式 API 接口,让任何工具都能直接调用,统一密钥管理且安全隔离。


📌 基本信息

项目详情
🎬 核心工具CLIProxyAPI(本地转发层)
⏱️ 部署耗时10–15 分钟
💰 核心成本工具免费,需要 VPS 或本机运行
📦 支持账号OAuth 登录态、CLI 登录、本地模型
✅ 适合人群多 AI 工具用户、技术爱好者、Agent 框架开发者

CLI Proxy API 整体架构

主要功能

  • 写代码:编辑器/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 调用示例:

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.yamlapi_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

新用户通常有免费额度,适合初期测试。


🔗 扩展资源