Files
codex-proxy-rs/deploy/config.example.yaml
T
Zyy e6587b6ca2 feat(openai): add configurable upstream client identities (#156)
Add six Desktop and CLI presets, global defaults and per-key overrides, custom identity parameters, and official release tracking. Keep the resolved identity stable throughout each request and its retries.
2026-09-18 16:39:29 +08:00

105 lines
3.2 KiB
YAML

# Codex Proxy RS 应用配置模板。
#
# 使用:
# sudo install -m 0640 -o "$(id -u)" -g 10001 deploy/config.example.yaml deploy/config.yaml
#
# PostgreSQL 与 Redis 密码分别执行 `openssl rand -hex 24` 生成;管理员初始密码单独设置。
schema_version: 1
host:
listen:
# 本地 cargo run 使用;Docker 内由 CPR_SERVER_HOST/PORT 覆盖。
host: '127.0.0.1'
port: 8080
# OpenAI 会话身份、系统更新状态和备份暂存区的统一根目录。
# 相对路径以 deploy/config.yaml 所在目录为基准。
runtime_data_dir: '../.runtime/data'
logging:
level: 'info'
stdout: true
# 将原始 AT/RT 写入独立 OAuth 恢复文件,沿用 file 的目录、大小与保留期。
oauth_recovery: false
# 将完整请求与响应头、正文写入独立文件;包含凭据,仅排障时开启。
request_dump: false
request_dump_retention_days: 1
file:
enabled: true
# 相对路径以 deploy/config.yaml 所在目录为基准。
directory: '../.runtime/logs'
retention_days: 7
max_file_size_mb: 20
drain_timeout_seconds: 30
worker_shutdown_timeout_seconds: 30
store:
database:
# Docker 内由 CPR_DATABASE_URL 覆盖;密码不要写进 URL。
url: 'postgres://codex_proxy@127.0.0.1:5432/codex_proxy'
password: &postgres_password ''
redis:
# Docker 内由 CPR_REDIS_URL 覆盖;密码不要写进 URL。
url: 'redis://127.0.0.1:6379/'
password: &redis_password ''
# 可选:PostgreSQL 连接池预算;下列值与当前推荐默认一致。
# pool:
# max_connections: 20
# acquire_timeout_seconds: 5
admin:
session_ttl_minutes: 1440
default_username: 'admin@cpr.local'
# 仅首次创建管理员时使用;至少 12 个字符且不能包含 `$`。
default_password: ''
client:
# 统一登录中密钥身份的固定会话有效期。
session_ttl_minutes: 1440
api:
# Docker 内由 CPR_WEB_DIST_DIR 覆盖。
asset_directory: '../frontend/dist'
cors_allowed_origins: []
request_timeout_seconds: null
request_id_header: 'x-request-id'
openai:
# 上游客户端身份从管理端设置,默认 macOS Desktop 自动最新。
# 旧版本的完整 wire_profile 仅在首次初始化数据库选择时导入。
wire_profile:
# 数据驻留仍为部署配置;省略或 null 不指定地域约束。
residency: us
xai:
# OAuth 端点、额度与模型目录策略由 xAI Provider 固定管理;这里只声明请求画像启动基线。
wire_profile:
# Provider 每 24 小时读取官方 npm metadata,仅在进程内更新 client_version。
client_identifier: 'GrokShell'
client_version: '1.0.13'
client_mode: 'headless'
target_os: 'linux'
target_arch: 'x86_64'
verified_at: '2026-08-31T00:00:00+08:00'
# Compose 凭据桥接区;密码仍只维护在 store 中。
services:
postgres-credentials:
environment:
POSTGRES_PASSWORD: *postgres_password
redis-credentials:
command:
- redis-server
- --appendonly
- 'yes'
- --requirepass
- *redis_password
healthcheck:
test:
- CMD
- redis-cli
- --no-auth-warning
- -a
- *redis_password
- ping