mirror of
https://github.com/zyycn/codex-proxy-rs.git
synced 2026-11-06 16:06:08 +00:00
3c4bd8757fd41b16fda883111393ec32c2d10f23
Note
只支持 OpenAI Responses API,不提供
/v1/chat/completions。
能力
| 领域 | 实现 |
|---|---|
| 协议 | Responses HTTP、SSE、官方 WebSocket |
| 传输 | 会话级 WebSocket 池、共享 HTTP/2 后备 |
| 调度 | 智能调度、额度优先、轮询、粘滞 |
| 故障处理 | 额度、认证、封禁、模型与传输故障切换 |
| 身份 | 账号身份隔离、稳定 installation ID、会话拓扑透传 |
| 管理 | 账号、客户端 Key、模型别名、运行设置与在线更新 |
| 遥测 | Token、费用、缓存、TTFT、延迟与错误 |
快速开始
需要 Docker Engine 与 Docker Compose Plugin。
1. 准备
git clone https://github.com/zyycn/codex-proxy-rs.git
cd codex-proxy-rs
mkdir -p .runtime/data .runtime/logs
install -d -m 0750 .runtime/postgres .runtime/redis
cp deploy/config.example.yaml deploy/config.yaml
sudo chown "$(id -u):10001" deploy/config.yaml
chmod 0640 deploy/config.yaml
分别执行三次:
openssl rand -hex 24
将结果写入 deploy/config.yaml:
| 配置 | 约束 |
|---|---|
x-cpr.database.password |
48 位十六进制 |
x-cpr.redis.password |
48 位十六进制 |
x-cpr.admin.default_password |
至少 12 位,不能包含 $ |
Linux 需要允许容器组写入运行目录:
sudo chown -R "$(id -u):10001" .runtime/data .runtime/logs
chmod 0770 .runtime/data .runtime/logs
2. 启动
docker compose -f deploy/compose.yaml config --quiet
docker compose -f deploy/compose.yaml pull
docker compose -f deploy/compose.yaml up -d --no-build
curl -i http://127.0.0.1:8080/healthz
204 No Content 表示应用、PostgreSQL 与 Redis 均可用。管理端地址:
http://127.0.0.1:8080。
3. 初始化
- 使用
admin@cpr.local与初始密码登录。 - 添加 Codex 账号并执行连接测试。
- 创建
sk_...客户端 Key。 - 复制 Codex CLI 配置,或导入 CCSwitch。
Note
admin.default_password只在首次创建管理员时生效。
完整部署、权限和密码轮换规则见 deploy/README.md。
客户端接入
| 配置 | 值 |
|---|---|
| Base URL | http://127.0.0.1:8080/v1 |
| API Key | 管理端创建的 sk_... |
| 鉴权 | Authorization: Bearer <client-api-key> |
curl http://127.0.0.1:8080/v1/models \
-H 'Authorization: Bearer <client-api-key>'
curl http://127.0.0.1:8080/v1/responses \
-H 'Authorization: Bearer <client-api-key>' \
-H 'Content-Type: application/json' \
-d '{
"model": "<model-id>",
"input": "Reply with pong.",
"stream": false
}'
API 路由
| 路由 | 用途 |
|---|---|
POST /v1/responses |
JSON 或 SSE |
GET /v1/responses |
Responses WebSocket |
POST /v1/responses/review |
Review |
GET /v1/models |
模型列表 |
GET /v1/models/catalog |
模型目录 |
GET /v1/models/{model_id} |
模型详情 |
所有 /v1/* 路由都需要客户端 API Key。
运维
# 升级
docker compose -f deploy/compose.yaml pull codex-proxy-rs
docker compose -f deploy/compose.yaml up -d --no-build
# 日志
docker compose -f deploy/compose.yaml logs -f codex-proxy-rs
# 从源码构建
docker compose -f deploy/compose.yaml build codex-proxy-rs
docker compose -f deploy/compose.yaml up -d
Important
.runtime/保存数据库、Redis、身份密钥和日志。删除该目录会永久清除运行状态。
Compose 默认只绑定 127.0.0.1。公网接入应使用 HTTPS 反向代理,转发 WebSocket
upgrade 与真实客户端 IP;不要暴露 PostgreSQL 或 Redis。
文档
Languages
Rust
90%
Vue
5.7%
TypeScript
3.7%
PLpgSQL
0.4%
Ruby
0.1%