feat: separate image profiles from text routing
This commit is contained in:
@@ -142,12 +142,20 @@ bash ./scripts/install-for-current-provider.sh
|
||||
|
||||
在 Linux 上需要常驻运行时,推荐用 `scripts/run-profile.mjs` 作为 systemd 的 ExecStart。它会读取 profile env,生成运行时 `config.json`,并把当前 Codex provider 的 `base_url` 指向本机 gateway。
|
||||
|
||||
profile env 默认放在:
|
||||
文本 profile env 默认放在:
|
||||
|
||||
```text
|
||||
~/.config/codex-retry-gateway/profiles/<profile>.env
|
||||
```
|
||||
|
||||
图片 profile env 独立放在:
|
||||
|
||||
```text
|
||||
~/.config/codex-retry-gateway/image-profiles/<profile>.env
|
||||
```
|
||||
|
||||
当前文本 profile 与当前图片 profile 分别由 state 中的 `profile_name`、`image_profile_name` 记录;切换其中任意一方不会改写另一方。首次升级时,当前文本 profile 中已有的 `CODEX_RETRY_GATEWAY_IMAGE_*` 字段会复制到同名图片 profile,旧文本文件会保留作为兼容回退,但后续 UI/TUI 保存文本 profile 不再写入图片字段。
|
||||
|
||||
常用字段:
|
||||
|
||||
- `CODEX_RETRY_GATEWAY_LISTEN_HOST`
|
||||
@@ -170,12 +178,31 @@ profile env 默认放在:
|
||||
- `fixed_bearer`:从环境变量或文件读取 token,并覆盖上游 `Authorization: Bearer ...`
|
||||
- `auth_json`:从 Codex `auth.json` 的指定 key 读取 token,并覆盖上游 `Authorization: Bearer ...`
|
||||
|
||||
图片 profile 常用字段:
|
||||
|
||||
- `CODEX_RETRY_GATEWAY_IMAGE_BASE_URL`
|
||||
- `CODEX_RETRY_GATEWAY_IMAGE_AUTH_MODE`
|
||||
- `CODEX_RETRY_GATEWAY_IMAGE_AUTH_ENV`
|
||||
- `CODEX_RETRY_GATEWAY_IMAGE_AUTH_FILE`
|
||||
- `CODEX_RETRY_GATEWAY_IMAGE_AUTH_JSON_PATH`
|
||||
- `CODEX_RETRY_GATEWAY_IMAGE_AUTH_JSON_KEY`
|
||||
|
||||
- 配置 `CODEX_RETRY_GATEWAY_IMAGE_BASE_URL` 后,`/images/*` 和 `/v1/images/*` 会改用该地址;root 图片路径会在上游规范化为 `/v1/images/*`,其他请求仍使用 `CODEX_RETRY_GATEWAY_UPSTREAM_BASE_URL`。
|
||||
- 图片认证字段与普通上游同义,使用 `CODEX_RETRY_GATEWAY_IMAGE_AUTH_*`;默认 `fixed_bearer` 从 `CODEX_RETRY_GATEWAY_IMAGE_API_KEY` 读取 key。
|
||||
- 不要把 key 直接写进 profile env;优先通过 `IMAGE_AUTH_FILE` 或管理页的 `manual_bearer` 写入用户级受限 secret 文件。
|
||||
|
||||
示例:
|
||||
|
||||
```bash
|
||||
node ./scripts/run-profile.mjs default
|
||||
```
|
||||
|
||||
指定图片 profile:
|
||||
|
||||
```bash
|
||||
node ./scripts/run-profile.mjs default --image-profile images
|
||||
```
|
||||
|
||||
如果已经由 state 记录了当前活跃 profile,也可以直接不传 profile 参数:
|
||||
|
||||
```bash
|
||||
@@ -269,10 +296,10 @@ gateway 运行时只负责 API 与静态文件服务,不再把复杂 UI 硬写
|
||||
- 请求时间戳、首字耗时、总耗时、请求体大小、路径、模型、状态码
|
||||
- 相同重发请求会带相同的 `request_id`
|
||||
- `usage` 中的 input / output / total / reasoning tokens
|
||||
- 管理 profiles
|
||||
- 新建 / 编辑 profile env
|
||||
- 切换 provider `base_url`
|
||||
- 切换 `passthrough` / `manual_bearer` / `fixed_bearer` / `auth_json` 认证模式
|
||||
- 分别管理文本 profiles 与图片 profiles
|
||||
- 各自新建 / 编辑 / 探测 / 切换 / 删除 profile env
|
||||
- 文本切换 provider `base_url` 不会改写图片分流,图片切换只影响 `/images/*` 与 `/v1/images/*`
|
||||
- 各自切换 `passthrough` / `manual_bearer` / `fixed_bearer` / `auth_json` 认证模式
|
||||
- 改 `reasoning_equals`
|
||||
- 改 capacity error 的匹配状态码和错误文案
|
||||
- 改 `endpoints`
|
||||
|
||||
Reference in New Issue
Block a user