fix: configure Codex provider authentication
This commit is contained in:
+20
-3
@@ -52,11 +52,28 @@ docker compose -f deploy/server/compose.yaml ps
|
||||
```
|
||||
|
||||
镜像固定安装 `@openai/codex@0.150.0-alpha.8`。AI 助手使用命名卷
|
||||
`codex_home` 保存 Codex 运行状态;生产环境优先通过只读环境注入
|
||||
`OPENAI_API_KEY`。若使用 ChatGPT 账号认证,可在首次启动后进入容器完成
|
||||
Codex 登录,再重启服务。不要把 `auth.json` 复制进镜像或提交到仓库。
|
||||
`codex_home` 保存 Codex 运行状态。N7Web 会在 App Server 启动握手期间验证模型认证,
|
||||
认证缺失或初始化失败时不会把 `/api/health` 误报为 ready。
|
||||
|
||||
若 `.env` 同时设置 `OPENAI_BASE_URL` 和 `OPENAI_API_KEY`,且地址不是 OpenAI 官方
|
||||
默认地址,N7Web 会为每个助手线程注入一个完整、固定的 OpenAI-compatible provider:
|
||||
`base_url` 使用该地址,密钥只通过 provider 的 `env_key=OPENAI_API_KEY` 从子进程环境
|
||||
读取,不会出现在命令行、状态或日志中。这一步是必须的;Codex 内置 `openai`
|
||||
provider 不会把应用的 `OPENAI_BASE_URL` 自动当作模型端点。
|
||||
|
||||
若未设置自定义 `OPENAI_BASE_URL`,则使用 Codex 内置 OpenAI provider。已有
|
||||
`codex_home/auth.json` 时复用现有登录;没有缓存登录但设置了 `OPENAI_API_KEY` 时,
|
||||
N7Web 通过 App Server 的 API-key 登录接口完成初始化,Codex 会把认证状态写入
|
||||
`codex_home`。因此该命名卷属于含凭据的持久数据,应限制管理员访问并纳入密钥轮换
|
||||
流程。不要把 `auth.json` 复制进镜像、日志或仓库。仅设置 `CODEX_API_KEY` 不会让固定
|
||||
版本的 App Server 自动登录。
|
||||
|
||||
若使用 ChatGPT 账号认证,推荐在无浏览器的服务器上执行 device-code 登录;普通网页
|
||||
OAuth 依赖容器内 localhost 回调,容易在 headless 环境失败。登录完成后重启服务:
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/server/compose.yaml run --rm web codex login --device-auth
|
||||
docker compose -f deploy/server/compose.yaml restart web
|
||||
docker compose -f deploy/server/compose.yaml exec web codex login status
|
||||
curl -fsS http://127.0.0.1:8511/api/health
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user