2026-07-03 22:16:17 +08:00
2026-07-03 22:16:17 +08:00
2026-07-03 18:20:05 +08:00
2026-07-03 22:16:17 +08:00
2026-07-03 10:25:44 +08:00
2026-07-02 13:13:47 +08:00
2026-07-03 18:20:05 +08:00

Codex Proxy RS

OpenAI 兼容的 ChatGPT / Codex 多账号代理网关

环境

  • Rust ≥ 1.95
  • Node ≥ 20,pnpm ≥ 9(仅开发管理端前端时需要)

快速开始

cargo run --manifest-path backend/Cargo.toml

启动后监听 http://0.0.0.0:8080,默认配置从运行目录下的 config.yaml 读取,也可以用 CPR_CONFIG_FILE=/path/to/config.yaml 显式指定。首次启动会自动创建管理端账号;admin.default_password 必须显式设置为至少 12 位的非默认密码。

Docker 部署:

cp deploy/config.example.yaml deploy/config.yaml
# 编辑 deploy/config.yaml,设置 admin.default_password
docker compose -f deploy/docker-compose.yml build
docker compose -f deploy/docker-compose.yml up -d

默认只监听宿主机 127.0.0.1:8080。挂载关系:deploy/config.yaml → /app/config.yaml,数据和日志写入 Compose 命名卷 cpr-data、cpr-logs。

API

所有接口通过 Authorization Bearer header 鉴权,API Key 在管理端创建和管理。

端点 说明
POST /v1/responses OpenAI responses 接口
POST /v1/chat/completions Chat completions 接口
GET /v1/models 模型列表
GET /v1/models/catalog 模型目录
/api/admin/* 管理端 API(前端调用)
curl http://127.0.0.1:8080/v1/responses \
  -H 'Authorization: Bearer <your-api-key>' \
  -H 'Content-Type: application/json' \
  -d '{"model": "gpt-5.5", "input": "Say hello", "stream": true}'

管理控制台

前端是 Vue 3 单页应用,源码在 frontend/。开发时:

pnpm --dir frontend dev

生产构建后由后端直接托管:

pnpm --dir frontend build
cargo run --manifest-path backend/Cargo.toml

管理端功能包括账号管理、API Key 管理、用量仪表盘、请求记录和运行时设置。账号、Key、模型路由等运行时配置在管理端操作,不写在 YAML 里。

配置

最小 config.yaml:

server:
  host: '0.0.0.0'
  port: 8080

api:
  base_url: 'https://chatgpt.com/backend-api'

database:
  url: 'sqlite://.runtime/data/codex-proxy-rs.sqlite'

logging:
  directory: .runtime/logs
  retention_days: 14

admin:
  default_password: '<set-a-long-random-password>'

完整配置项见 deploy/config.example.yaml,包括 TLS、WebSocket 连接池、请求指纹、账号额度策略等。

运行数据目录:

.runtime/data/   # SQLite 数据库
.runtime/logs/   # 日志文件

架构

Codex Proxy RS 是单主服务架构:Rust 后端同时承载 OpenAI 兼容代理、管理端 API、SQLite 持久化、前端静态资源托管和在线更新。详细模块边界、请求链路、发布和更新流程见 架构说明。

项目结构

backend/
  src/        Rust 源码
  tests/      集成测试
  build/      构建脚本
frontend/     Vue 3 管理控制台
deploy/       Dockerfile、Compose、示例配置
docs/         架构与维护文档

开发

cargo fmt --manifest-path backend/Cargo.toml --check
cargo clippy --manifest-path backend/Cargo.toml --all-targets --all-features --locked -- -D warnings
cargo test --manifest-path backend/Cargo.toml --test main
pnpm --dir frontend build

License

MIT

S
Description
基于 Rust 的低风控、高性能、自托管多账号透明代理网关
Readme Apache-2.0
44 MiB
Languages
Rust 90%
Vue 5.7%
TypeScript 3.7%
PLpgSQL 0.4%
Ruby 0.1%