mirror of
https://github.com/zyycn/codex-proxy-rs.git
synced 2026-11-06 16:06:08 +00:00
745b77ad35545f293b13dacdf077f228c9dcc7fa
codex-proxy-rs
面向 ChatGPT/Codex 账号池的 Rust 代理服务,提供 OpenAI 兼容接口,并尽量贴近 Codex Desktop 的上游请求行为。
特性
- OpenAI 兼容的
/v1/chat/completions、/v1/responses和/v1/models - ChatGPT/Codex OAuth、device code、refresh token 账号接入
- 账号池轮转、限流恢复、会话亲和性和 WebSocket 上游
- Codex Desktop 风格的 headers、TLS、Cookie、fingerprint 和 reasoning replay
- SQLite 存储、密钥加密、结构化日志和管理端 API
快速开始
cargo run
默认读取根目录 config.yaml。本项目不依赖 local.yaml,本地敏感值、数据库路径、日志路径和管理员默认密码都应直接在 config.yaml 中配置。
运行时数据默认写入 .runtime,历史或手动生成的根目录 logs/ 也作为本地运行产物忽略:
.runtime/data/
.runtime/logs/
logs/
默认监听 0.0.0.0:8080。首次启动会初始化管理员账号,默认值来自 config.yaml,长期使用请修改配置中的管理员密码。
开发
cargo fmt --check
cargo clippy --all-targets -- -D warnings
cargo test --all-targets
架构
flowchart LR
client[Client] --> http[http<br/>HTTP 路由和中间件]
http --> proxy[proxy<br/>OpenAI 兼容入口和请求分发]
proxy --> accounts[accounts<br/>账号、OAuth、配额和令牌刷新]
proxy --> codex[codex<br/>Codex 协议、模型和上游传输]
http --> admin[admin<br/>管理端 API]
admin --> runtime[runtime<br/>启动装配、状态和后台任务]
runtime --> infra[infra<br/>SQLite、加密、路径和日志]
proxy --> telemetry[telemetry<br/>事件日志和用量记录]
admin --> telemetry
http --> web[web<br/>静态资源 fallback]
License
MIT
Languages
Rust
90%
Vue
5.7%
TypeScript
3.7%
PLpgSQL
0.4%
Ruby
0.1%