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

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