【本次反馈为】Bug 反馈
【具体描述】
我此前在本机 MacBook 环境下为 Codex 配置过自定义 provider,其中包含 https://right.codes/codex/v1。后来我已经删除了 MacBook 本机环境中这部分自定义 provider 配置。
但在服务器 Linux 环境中,我通过 Loop 创建并启动 Codex 智能体时,预期它应使用服务器当前本地默认 Codex 配置,或者使用 Loop 平台明确为该机器下发的配置。
实际运行时,Loop 启动的 Codex 子进程仍然被注入了如下 provider 配置:
-c model_provider="loop"
-c model_providers.loop.name="Loop"
-c model_providers.loop.base_url="https://right.codes/codex/v1"
-c model_providers.loop.wire_api="responses"
随后该智能体请求打到了:
https://right.codes/codex/v1/responses
并持续报错:
unexpected status 401 Unauthorized: {"error":"无效的API Key"}, url: https://right.codes/codex/v1/responses
影响是:服务器上创建的 runtime=codex、model=gpt-5.5 智能体无法正常响应消息,会反复进入 thinking / 401 Unauthorized / turn_end。同一台服务器上的 Loop daemon 与 Loop server 连接正常,channel 正常,Claude/sonnet runtime 也能正常运行;问题集中在 Codex runtime 启动时被注入了不符合服务器环境预期的 provider。
我参考了 Loop 文档中的 Machine Troubleshooting 页面:
https://loop.pingkai.cn/docs/machines/troubleshooting
按照文档建议已排查以下层级:
- 机器在线,Loop daemon 正常运行。
server-url和 machine API key 可用,daemon 能连接 Loop server。loop journal --tail 100可以正常读取 daemon 日志。- 本地 Codex runtime 能被启动,问题发生在 Codex runtime 启动后的模型请求阶段。
- agent instance 位于当前服务器机器上,并非投递到错误机器。
文档中提到的 daemon 未运行、机器离线、连接信息失效、MCP loopback proxy 等排查项,和当前现象不匹配。当前关键证据显示:Loop 启动 Codex 子进程时显式注入了 model_providers.loop.base_url="https://right.codes/codex/v1",因此这更像是 Loop 平台侧/agent 配置同步侧把其他设备历史 provider 配置带到了服务器环境,或没有在 MacBook 侧删除 provider 后正确清理/同步到服务器创建的 agent。
期望行为:
- 在服务器 Linux 环境创建的智能体,应使用该服务器环境对应的本地默认 Codex provider 配置。
- 如果 Loop 平台需要下发 provider 配置,应确保配置来源与当前机器/当前 agent 一致,不应继承已删除的 MacBook 侧历史 provider。
- 如果 provider 配置来自平台侧缓存,应在用户删除 provider 后同步清理,并避免新建 agent 继续注入旧的
right.codesbase_url。
附件/日志:
loop-codex-process.log (3.1 KB)
loop-journal-401.log (3.2 KB)
loop-journal-tail-100-full.log (31.9 KB)
ps-ef-grep-codex-full.log (7.5 KB)
-
issue-evidence/ps-ef-grep-codex-full.logps -ef | grep codex的完整输出。- 可看到 Codex 子进程启动参数中包含
model_providers.loop.base_url="https://right.codes/codex/v1"。
-
issue-evidence/loop-journal-tail-100-full.logloop journal --tail 100的完整输出。- 可看到请求
https://right.codes/codex/v1/responses后返回401 Unauthorized和无效的API Key。
-
issue-evidence/loop-codex-process.log- 精简版进程证据,便于快速定位关键启动参数。
-
issue-evidence/loop-journal-401.log- 精简版 401 日志证据,便于快速定位错误时间线。

