one-codingplan: 一个管理你所有coding plan的 AI Coding Provider
one-codingplan (ocp) 是一个轻量级AI编程工具聚合器,可统一管理多个AI编程服务(如Kimi、Claude、DeepSeek等)。核心功能包括:1)多Provider支持,开箱即用;2)智能故障转移,自动切换可用服务;3)兼容OpenAI和Anthropic两种API格式;4)完整的访问控制和额度管理。采用Go语言开发,内置SQLite数据库和React管理后台,实现零依赖部署
one-codingplan: 一个 API 密钥搞定所有 AI Coding Provider
当你的 Kimi 配额用完,Claude API 太贵,DeepSeek 又连不上——是时候用一个工具把它们全部管起来了。
背景:一个每个开发者都会遇到的问题
作为一个AI辅助编程的重度用户,你可能已经开通了不止一个 AI 编程工具的服务:
- Kimi: 每月送 120 分钟
- Claude: 额度总是很快见底
- Qwen: 国内访问速度快但模型能力有限
- DeepSeek: 新用户免费额度很香
- Minimax: M2.5 模型效果不错
每个工具都好用,但问题是:
- 密钥管理混乱 — 每个平台都要单独配置 token
- 余额焦虑 — 用到一半突然提示 “Insufficient credits”
- 切换麻烦 — 换一个 API 要改一堆环境变量
- 国内访问不稳定 — 某些 provider 在某些网络环境下根本连不上
于是我花了点时间,写了 one-codingplan (ocp) — 一个把多个 AI Coding Provider 聚合在一起的智能代理。
one-codingplan 是什么
ocp 是一个轻量级的 AI 编程工具聚合器,核心能力就两个:
- 一键聚合 — 把 Kimi、Minimax、Qwen、DeepSeek、GLM、Mimo 全部接入同一个端点
- 自动故障转移 — 当前 provider 报 429 或余额不足?自动切到下一个,全程透明
# 只需要配置一个端点
export ANTHROPIC_API_KEY=ocp-xxxxxxxx
claude # 背后自动路由到可用的 provider
核心特性
1. 多 Provider 支持(开箱即用)
| Provider | 模型 | 特点 |
|---|---|---|
| Kimi | Kimi coding | Claude 最强平替 |
| Minimax | M2.5 | 综合能力强 |
| Qwen | Qwen Coder | 国内访问快 |
| DeepSeek | deepseek-chat | 性价比高 |
| GLM | glm-4 | 免费额度大方 |
| Mimo | mimo-v2-pro | 响应速度快 |
所有 provider 都通过配置文件管理,不用改代码。
2. 智能故障转移
ocp 内置了轻量级的熔断机制:
- 429 (Rate Limit) → 标记该 provider 为 “冷却中”,自动切到下一个
- 402 (Insufficient Credits) → 标记该 provider 为 “暂时不可用”,等管理员手动恢复
- 5xx 错误 → Exponential backoff 后重试,切到另一个 provider
核心逻辑就 20 行 Go,使用 atomic 实现无锁计数:
// internal/pool/pool.go
type upstream struct {
name string
enabled bool // 是否启用(管理员手动控制)
available bool // 是否可用(运行时健康状态)
failures int32 // 连续失败计数
lastFailure int64 // 上次失败时间戳
}
3. OpenAI + Anthropic 双重兼容
同一个端点,同时支持两种 API 格式:
# OpenAI 格式 - 兼容 Codex CLI
curl http://localhost:9189/v1/chat/completions \
-H "Authorization: Bearer ocp-xxx" \
-d '{"model": "claude-sonnet-4-5", "messages": [{"role": "user", "content": "say hi"}]}'
# Anthropic 格式 - 兼容 Claude Code
curl http://localhost:9189/v1/messages \
-H "Authorization: Bearer ocp-xxx" \
-d '{"model": "claude-sonnet-4-5", "max_tokens": 256, "messages": [{"role": "user", "content": "say hi"}]}'
4. 完整的访问控制
- Token 认证 — bearer token 方式的访问密钥
- 速率限制 — 每分钟 / 每天请求数限制
- 额度管理 — Token 预算(限制总 tokens)
- 过期时间 — 支持设置密钥有效期
- 使用统计 — 记录每个 key 的输入/输出 token 消耗
5. Web 管理 Portal
内置一个 React 管理后台:
- 监控所有 provider 的在线状态
- 管理访问密钥(创建、禁用、删除)
- 查看使用统计
- 一键切换当前 provider
6. 纯 Go + SQLite — 零依赖部署
- 数据库: SQLite(通过 GORM,glebarez 纯 Go 驱动,Alpine 镜像可直接运行)
- HTTP 框架: Gin(有成熟的 Streaming 中间件模式)
- 零外部依赖,一个 Docker 镜像搞定
技术架构

为什么要用 Go
- 并发模型 — Go 的 goroutine 天生适合代理大量长连接 SSE 流
- 生态成熟 —
one-api和new-api两个参考项目都是 Go + Gin,社区问题已经被解决 - 单二进制 —
//go:embed把 React Portal 直接编译进 Go 可执行文件,部署极简 - Streaming 原生 —
httputil.ReverseProxy+FlushInterval: -1直接处理 SSE
为什么要用 SQLite
- 零运维 — 单文件数据库,不用跑 MySQL/Postgres 容器
- 纯 Go 驱动 —
glebarez/sqlite不需要 CGo,Alpine 镜像直接运行 - 足够用了 — 单实例部署,SQLite 写入锁不是瓶颈(使用统计是异步写)
快速开始
1. 下载或构建
git clone https://github.com/ChrisZhangJin/one-codingplan.git
cd one-codingplan
make build
2. 配置
cp config.yaml.example config.yaml
编辑 config.yaml:
server:
port: 9189
admin_key: "你的管理密码"
database:
path: "./ocp.db"
upstreams:
- name: minimax
base_url: https://api.minimaxi.com/anthropic
api_key: "sk-你的minimax密钥"
enabled: true
- name: kimi
base_url: https://api.kimi.com/coding
api_key: "你的kimi密钥"
enabled: true
# 其他 provider...
3. 启动
OCP_ENCRYPTION_KEY=16位加密密钥 ./ocp serve
注:
OCP_ENCRYPTION_KEY用于加密存储在数据库中的 API Key,必须是 16/24/32 字符。
4. 访问管理 Portal
打开浏览器访问 http://localhost:9189,用 admin_key 登录。
使用示例
配合 Claude Code
export ANTHROPIC_BASE_URL=http://localhost:9189
export ANTHROPIC_API_KEY=ocp-xxxxxxxx
claude
配合 Codex CLI
export OPENAI_BASE_URL=http://localhost:9189/v1
export OPENAI_API_KEY=ocp-xxxxxxxx
codex
直接调用 API
curl http://localhost:9189/v1/messages \
-H "Authorization: Bearer ocp-xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "claude-sonnet-4-5",
"max_tokens": 256,
"messages": [{"role": "user", "content": "用 Go 写一个 Hello World"}]
}'
下一步规划
目前 v1.1 已发布, Roadmap 上正在开发:
- v1.2 — Codex Responses API 支持 + Portal UX 优化
- v1.3 — 多租户支持(可选)
- v1.4 — Prometheus 监控指标
结语
one-codingplan 解决的是一个很朴素的问题:能不能让我只配一个地方,然后用上所有 AI 编程工具?
如果你也有多账号管理困难、用到一半余额告急、国内访问不稳定等困扰,欢迎试试这个项目。
GitHub: https://github.com/ChrisZhangJin/one-codingplan
如果觉得有用,欢迎 ⭐ Star,如果有问题欢迎提 Issue/PR。
本文同步发布于 GitHub。
更多推荐


所有评论(0)