必须使用 codex diagnose --format json 获取标准 JSON 输出,包含 system_info、config_status、auth_check 和 network_latency 四个字段;旧版需先升级至 ≥0.9.0 才支持,否则输出为不可解析的纯文本。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要直接获取 Codex CLI 诊断报告的原始 JSON 数据,用于自动化校验、CI 集成或与监控系统对接,而不是依赖终端里格式化后的可读文本。
确认诊断命令支持 JSON 输出
运行 codex diagnose --help,在输出中查找 --format 或 --output-format 选项。若未出现该参数,说明当前版本(低于 0.9.0)不支持结构化诊断输出;必须先执行 npm install -g @openai/codex@latest 升级。
旧版即使强行加 --format json 也会被忽略,且不报错——输出仍是纯文本,无法解析。
用 --format json 获取标准诊断 JSON
在任意目录下执行:
codex diagnose --format json
这条命令会输出一个完整、合法的 JSON 对象,包含 system_info、config_status、auth_check 和 network_latency 四个顶级字段。它不是 JSONL 流,而是一个单体 JSON,适合直接 pipe 给 jq 或写入文件供程序读取。
【必须显式指定 --format json,不加则默认输出 markdown 文本】
将诊断结果保存为本地 JSON 文件
方法一:重定向输出
codex diagnose --format json > diag-report.json
方法二:用 --output-file 参数(仅限 ≥0.9.5 版本)
codex diagnose --format json --output-file diag-report.json
注意:如果目标路径目录不存在(例如 ./logs/diag-report.json),CLI 不会自动创建父目录,会报错 ENOENT。请提前运行 mkdir -p ./logs。
验证 JSON 结构是否有效
第一步:检查是否为合法 JSON
codex diagnose --format json | jq empty
若无任何输出,说明 JSON 语法正确;若报错 parse error,说明 CLI 版本过低或服务端返回异常。
第二步:确认关键字段存在
codex diagnose --format json | jq -r 'has("auth_check") and has("config_status")'
应返回 true。缺任一字段,代表诊断流程未完成,可能卡在 auth.json 读取或 config.toml 解析阶段。
第三步:提取认证状态码
codex diagnose --format json | jq -r '.auth_check.status'
预期输出为 ok 或 error。若为 null,说明 CLI 根本没尝试读取 ~/.codex/auth.json——大概率是配置目录路径错误或文件权限被拒。


















