这页只收最常见、最容易卡住自部署和开发流程的问题。更深的运行时细节与安全边界,继续回仓库读 Deployment Guide。
/health 一直返回 503 starting这表示服务还没有完成 readiness,而不是单纯“进程挂了”。
200 ok。200 ok,优先看服务日志,确认数据库路径、schema 初始化和启动期任务是否异常。这通常不是前端坏了,而是流量还没真正经过这套服务。
/v1/* 请求指向 Codex Vibe Monitor。GET /health 返回 200 ok 只表示服务 ready,不表示已经有业务流量进来。最常见的原因是没有配置 UPSTREAM_ACCOUNTS_ENCRYPTION_SECRET。
这类问题优先看反向代理和出网链路。
/api/pool/upstream-accounts/oauth/callback。Origin/Host 生成 redirect URI,所以反向代理必须正确透传这些头。failed to contact oauth codex upstream,优先排查服务到 chatgpt.com/backend-api/codex 的出网连通性。默认情况下,retention / archive 不是自动开启的。
DATABASE_PATH、ARCHIVE_DIR 和 retention 窗口。ARCHIVE_DIR 与 PROXY_RAW_DIR 会锚定到 DATABASE_PATH 同级目录,不要想当然按当前工作目录去找。failureKind 应该怎么理解下面这几个最常见:
| failureKind | 典型含义 |
|---|---|
request_body_read_timeout |
客户端上传过慢,或者前置代理链路在读请求体阶段阻塞 |
request_body_stream_error_client_closed |
客户端在上传阶段主动断开 |
failed_contact_upstream |
服务到上游连接失败 |
upstream_handshake_timeout |
上游在握手或首响应阶段太慢 |
upstream_stream_error |
上游开始返回后又在流式阶段中途失败 |
如果你是在生产环境里追这类问题,优先结合 Records 明细、Stats 趋势和网关日志一起看,不要只盯单个错误字符串。
GET /health 已经稳定返回 200 okUPSTREAM_ACCOUNTS_ENCRYPTION_SECRET 已配置