mirror of
https://github.com/zyycn/codex-proxy-rs.git
synced 2026-11-06 16:06:08 +00:00
Keep documentation focused on current contracts, responsibilities, and required operations. Define when PRs need documentation updates and consolidate setup commands with explicit ownership and permissions. Co-authored-by: Codex <noreply@openai.com>
115 lines
4.3 KiB
Markdown
115 lines
4.3 KiB
Markdown
<!-- prettier-ignore -->
|
||
<div align="center">
|
||
|
||
<img src="frontend/public/favicon.svg" alt="Codex Proxy RS" width="80" height="80" />
|
||
|
||
# Codex Proxy RS
|
||
|
||
面向 Codex 的自托管多账号 AI 网关
|
||
|
||
[](https://github.com/zyycn/codex-proxy-rs/actions/workflows/ci.yml)
|
||
[](https://github.com/zyycn/codex-proxy-rs/releases)
|
||
[](https://github.com/zyycn/codex-proxy-rs/pkgs/container/codex-proxy-rs)
|
||
[](LICENSE)
|
||
|
||
[快速开始](#快速开始) · [客户端接入](#客户端接入) · [文档](#文档) · [社区](#社区) · [许可证](#许可证)
|
||
|
||
</div>
|
||
|
||
> [!NOTE]
|
||
> 本项目提供 Responses API,不支持 `/v1/chat/completions`。接入前请确认客户端支持 Responses 协议。
|
||
|
||
## 快速开始
|
||
|
||
使用 Docker Compose 部署发布镜像 `ghcr.io/zyycn/codex-proxy-rs:latest`,同时启动 PostgreSQL 和 Redis。
|
||
以下命令适用于 Linux amd64/arm64,需要 Docker Engine、Docker Compose Plugin、curl 和 OpenSSL。已有部署请先看
|
||
[升级说明](deploy/README.md#镜像升级与源码构建),不要覆盖原配置。
|
||
|
||
### 1. 下载部署文件并配置
|
||
|
||
```bash
|
||
mkdir -p codex-proxy-rs/deploy && cd codex-proxy-rs
|
||
|
||
curl -fsSL https://raw.githubusercontent.com/zyycn/codex-proxy-rs/main/deploy/compose.yaml \
|
||
-o deploy/compose.yaml
|
||
curl -fsSL https://raw.githubusercontent.com/zyycn/codex-proxy-rs/main/deploy/config.example.yaml \
|
||
-o deploy/config.example.yaml
|
||
|
||
install -d -m 0750 .runtime/postgres .runtime/redis
|
||
sudo install -d -m 0770 -o "$(id -u)" -g 10001 .runtime/data .runtime/logs
|
||
sudo install -m 0640 -o "$(id -u)" -g 10001 deploy/config.example.yaml deploy/config.yaml
|
||
```
|
||
|
||
分别生成数据库和 Redis 密码:
|
||
|
||
```bash
|
||
openssl rand -hex 24
|
||
openssl rand -hex 24
|
||
```
|
||
|
||
编辑 `deploy/config.yaml`,填好以下三项:
|
||
|
||
| 配置项 | 填写内容 |
|
||
| --- | --- |
|
||
| `store.database.password` | 第一个生成的 48 位十六进制密码 |
|
||
| `store.redis.password` | 第二个生成的 48 位十六进制密码 |
|
||
| `admin.default_password` | 管理员初始密码,至少 12 位,不能包含 `$` |
|
||
|
||
### 2. 启动服务
|
||
|
||
```bash
|
||
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 --wait
|
||
curl -i http://127.0.0.1:8080/healthz
|
||
```
|
||
|
||
健康检查返回 `204 No Content` 后,打开 `http://127.0.0.1:8080`,
|
||
使用 `admin@cpr.local` 和刚设置的管理员密码登录。
|
||
|
||
默认地址只能在服务器本机访问。从其他设备使用时,需要配置
|
||
[HTTPS 反向代理](deploy/README.md#公网访问)。
|
||
|
||
### 3. 添加账号与客户端密钥
|
||
|
||
1. 在「账号」中添加账号,完成授权或导入。
|
||
2. 按需建立账号分组,再创建客户端密钥并选择可用分组。**不选分组表示可使用全部账号**。
|
||
3. 打开密钥的「使用密钥」,复制客户端配置。
|
||
|
||
## 客户端接入
|
||
|
||
**Codex CLI / 桌面端**:在「使用密钥」中按操作系统复制配置,或通过 CCSwitch 导入。
|
||
合并到客户端配置后重启 Codex。完整步骤、生图配置与排障见[客户端配置](deploy/README.md#客户端配置)。
|
||
|
||
**其他 Responses API 客户端**:填写以下信息。
|
||
|
||
| 配置 | 值 |
|
||
| --- | --- |
|
||
| Base URL | `http://127.0.0.1:8080/v1`;远程接入使用服务器的 HTTPS 地址 |
|
||
| API Key | 管理端创建的客户端密钥 |
|
||
|
||
可用模型以该密钥查询到的模型列表为准:
|
||
|
||
```bash
|
||
curl http://127.0.0.1:8080/v1/models \
|
||
-H 'Authorization: Bearer <client-api-key>'
|
||
```
|
||
|
||
## 文档
|
||
|
||
- [客户端接入与生图](deploy/README.md#客户端配置)
|
||
- [部署、备份与恢复](deploy/README.md)
|
||
- [API 参考](docs/api.md)
|
||
- [系统架构](docs/architecture.md)
|
||
- [管理端主题](docs/theme.md)
|
||
- [数据库迁移](backend/migrations/README.md)
|
||
- [贡献与审查](CONTRIBUTING.md)
|
||
|
||
## 社区
|
||
|
||
感谢 [LINUX DO](https://linux.do) 社区提供开放、友善的技术交流平台。
|
||
|
||
## 许可证
|
||
|
||
本项目基于 [Apache License 2.0](LICENSE) 开源。
|