ccproxy-api
本地 AI 反向代理,统一接入 Claude/Codex/Copilot,使用已有订阅无需 API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地 AI 反向代理,统一接入 Claude/Codex/Copilot,使用已有订阅无需 API
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这个场景:你同时在用 Claude 写文案、用 Codex 调试代码、用 Copilot 做代码补全。每个平台的 SDK 各不相同,认证方式各异,调用的 API 端点也不一样——你的代码里塞满了重复的连接逻辑、认证逻辑和错误处理。突然有一天,Anthropic 调整了计费策略,OpenAI 改了接口格式,你只能逐个修改每个模块的代码,头疼不已。
CCProxy 解决的就是这个问题。它是一个运行在本地的反向代理服务器,在你现有的 AI 账号订阅(Claude OAuth、Codex 账号、Copilot 账号)基础上,架设一层统一的 API 抽象。你只需要面向 OpenAI 兼容格式或 Anthropic Messages 格式写一次代码,后端可以无缝切换不同的 AI 供应商——而这一切不需要额外付费,因为用的是你自己的订阅额度。
CCProxy 由 CaddyGlow 团队开发并维护,仓库 star 数 266(2026年7月),被标注为 anthropic-api、claude-code、codex、fastapi、openai 等多个 topic。从 GitHub topics 和代码结构来看,这是一个活跃的开发者工具项目,主要面向同时使用多个 AI API 的工程师团队。
项目采用 Python 3.11+ 开发,主框架选型 FastAPI,搭配 httpx(支持 HTTP/2)、pydantic(配置校验)、structlog(结构化日志)和 typer(CLI 框架)。代码质量管控相当严格:pre-commit hooks、ruff 代码风格检查、mypy 静态类型分析、pytest + pytest-xdist + pytest-cov 覆盖测试。文档使用 MkDocs Material 主题编写,站内还有专门的贡献指南和迁移文档,说明项目有一定规模的社区维护。
CCProxy 的核心是一个基于 FastAPI 的 HTTP 代理服务器,所有外部请求先经过它,再转发至上游 AI 供应商。架构上最有特色的设计是它的插件系统(Plugin System):
项目内置了 18 个插件,覆盖认证、监控、日志、计费等完整链路:
插件之间通过统一的配置模型(TOML 或嵌套环境变量)注册和管理,启动时合并 disabled_plugins 与 plugins.<name>.enabled = false 形成统一的拒绝列表,运行时的 loader 先检查白名单再确认不在黑名单中。这套机制既保证了灵活性,又避免了配置冲突。
CCProxy 支持三类主流 AI 供应商,每个供应商都有一个专门的 adapter 插件:
Anthropic Claude:支持两种接入方式——通过 Claude HTTP API(claude_api 插件,使用 OAuth2 流程)或通过本地 Claude CLI/SDK(claude_sdk 插件,支持 session 池化复用)。
OpenAI Codex:通过 Codex OAuth(oauth_codex 插件)为付费/Pro 账号建立连接,走 ChatGPT 后端的 Responses API。
GitHub Copilot:支持 chat 和 completions,覆盖免费、付费和企业账号(copilot 插件 + OAuth 令牌管理)。
更重要的是,项目维护了一个共享的模型映射层——你可以用同一个 model 标识符在不同供应商之间切换,无需修改客户端代码。例如同一个 model = "claude-sonnet-4" 字段,发给 Claude 是 Anthropic 的 Sonnet 4,发给 Codex 就是对应的模型。这种设计极大降低了多供应商迁移的成本。
上手非常简洁。项目提供两种快速安装方式:
# 方式一:uvx 一行命令(无需克隆仓库)
uvx --with "ccproxy-api[all]" ccproxy serve --port 8000
# 方式二:pipx 安装 + 本地 shim
pipx install "ccproxy-api[all]"
ccproxy serve
生产级部署则推荐 Docker Compose,项目提供了完整的多阶段 Dockerfile(bun 构建阶段 -> Python builder -> runtime)和 docker-compose.yml,内置健康检查(/health 端点 + curl 健康探测),部署时间约 3 分钟,硬件需求仅 512MB RAM + 1GB 磁盘,无需 GPU。
Web 管理面板由 dashboard 插件提供,包含 SPA 前端和一组管理 API,方便监控代理状态、查看分析数据。Dockerfile 中内置 bun 全局安装 Claude Code CLI 并链接为 /usr/local/bin/claude,体现了项目对 Claude SDK 深度集成的重视。
CCProxy 也有明显的局限:
完全依赖你的账号订阅:没有独立计费的 API key,所有用量走你现有账号的订阅配额。如果团队成员同时共用同一个订阅,可能触发速率限制(rate limiting)。
OAuth 令牌管理的复杂性:虽然项目做了 OAuth 封装,但令牌刷新、过期处理在多用户场景下需要仔细配置,不当配置可能导致代理中断。
厂商锁定风险:Anthropic、OpenAI、GitHub 三家随时可能调整 API 行为或 OAuth 政策,CCProxy 作为中间层需要及时跟进更新。
生产级 HA 支持有限:当前架构是单实例代理,没有内置的负载均衡或多副本方案,大规模并发场景需要自行在前面加 nginx 或 traefik。
从更宏观的视角看,CCProxy 反映了一个趋势:随着 AI 工具链的多元化,开发者越来越需要在多个 AI 供应商之间灵活切换——既有成本考量,也有合规考量(数据隐私),也有可靠性考量(避免单点故障)。这类「AI 流量网关」工具的价值会随着 AI 应用场景的深化而持续增长。
项目本身维护质量较高(完整测试套件、CI 流水线、详细文档),且完全开源(MIT 协议),对希望自建 AI 代理基础设施的团队有直接参考价值。