文档目录
首页 / 开发文档 / Codex 生图成功,但看不到图片怎么办?
故障排查

Codex 生图成功,但看不到图片怎么办?

新版 Codex App 使用第三方 Provider 时,可能因权限校验和图片请求头缺失而出现“提示生成成功,但对话中没有图片”。优先修复 Codex Provider 配置;无法修改配置时,再改用 Image Gen-Local。

根本原因

新版 Codex App 会对第三方 Provider 执行额外的权限校验。如果 Provider 仍要求官方 OpenAI 登录,或图片请求没有携带 Codex 需要的授权来源请求头,Image Gen 可能已经完成生成,但结果无法正常回传并显示在对话中。

主推方案是修复 ~/.codex/config.toml 中的第三方 Provider 权限配置。这样可以继续使用 Codex 内置 Image Gen,不必先更换生图 Skill。
  • Codex 明确提示图片已经生成完成。
  • 对话中没有出现图片,也没有提供可访问的本地文件路径。
  • 再次询问“图片在哪里”后,仍然只收到文字回复。
  • 当前通过 CC Switch 将 Codex 请求转发至 dacall.AI。

方法 1(推荐):修复 Codex Provider 配置

先退出 Codex App,再备份并打开 config.toml。找到当前使用的 dacall Provider,确认 Provider 显示名称和 x-openai-actor-authorization 请求头值都填写 dacall,API 地址填写 https://api.dacall.ai/v1。

保存配置后必须完全退出并重新启动 Codex App,新的 Provider 配置才会生效。
系统配置文件位置
macOS / Linux / WSL~/.codex/config.toml
WindowsC:\Users\你的 Windows 用户名\.codex\config.toml
  1. 完全退出 Codex App

    不要只关闭窗口;先退出应用,避免正在运行的进程覆盖配置。

  2. 备份 config.toml

    复制一份带日期的备份,再编辑当前配置文件。

  3. 按示例修改配置

    使用 custom Provider;name 和 x-openai-actor-authorization 都填写 dacall,并将 requires_openai_auth 从 true 改为 false。

  4. 重新启动并测试

    完全重新打开 Codex App,新建任务并继续使用内置 Image Gen 生图。

~/.codex/config.toml
model_provider = "custom"
model = "gpt-5.6-sol"
review_model = "gpt-5.6-sol"
model_reasoning_effort = "high"
model_context_window = 372000
model_auto_compact_token_limit = 372000

[model_providers.custom]
name = "dacall"
wire_api = "responses"
base_url = "https://api.dacall.ai/v1"
requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "dacall" }

两项关键配置

简单说,关键就是下面两项配置。前者关闭 OpenAI 官方账号鉴权要求,后者补上 Codex 客户端输出图片时需要的请求头。

~/.codex/config.toml
requires_openai_auth = false
http_headers = { "x-openai-actor-authorization" = "dacall" }

方法 1 验证与注意事项

修改后必须完全重启 Codex App。只刷新页面、重开任务或关闭窗口,可能仍在使用旧配置。
  • 重启后确认当前 Provider 是 custom,name 和 x-openai-actor-authorization 均为 dacall,Base URL 为 https://api.dacall.ai/v1。
  • 示例沿用推文中的 gpt-5.6-sol;如果控制台不可用,请把 model 和 review_model 一起换成 dacall.AI 当前可用的模型名称。
  • 使用 Codex 内置 Image Gen 发起一次新任务;成功时,生成图片应直接显示在对话中。
  • 如果通过 CC Switch 管理 Provider,请检查切换或保存操作是否重新覆盖了 config.toml 中的两项修复配置。
  • 如果使用 CC Switch 管理 API Key,请不要公开配置截图或将配置提交到仓库;怀疑密钥泄露时立即更换。

方法 2:创建 Image Gen-Local Skill

如果方法 1 暂时无法使用、配置会被工具覆盖,或你希望图片始终保存到本地,可以使用 Skill Creator 创建 Image Gen-Local。它直接调用 OpenAI 兼容的 Images API,把结果写入本地文件,并使用绝对路径在对话中展示。

创建完成后,生图时明确要求 Codex 使用 Image Gen-Local,避免再次调用内置 Image Gen。
发送给 Codex 的指令
你用 Skill Creator 这个 Skill,自己写个 Skill,叫 Image Gen-Local,基于 Image Gen 改。然后用 OpenAI 的接口协议直接生成图片,如果遇到报错自动重试,最多 2 次。

方法 2:确认 Image Gen-Local 创建成功

打开 Codex 的 Skills 页面,在已安装列表或 Personal 分类中确认能看到 ImageGen Local,并显示已启用状态。

Codex Skills 页面中已成功创建并启用 ImageGen Local
附图 1:ImageGen Local 已出现在 Codex Skills 列表中 · 点击图片可查看原图

方法 2:Image Gen-Local 应完成什么

环节要求
请求使用 OpenAI 兼容的 Images API 直接请求 dacall.AI
保存将返回的图片数据或图片 URL 下载并写入本地工作区
校验检查文件存在、大小正常,并确认图片可以读取
展示使用本地图片的绝对路径在 Codex 对话中展示
重试遇到超时、空响应、无效 JSON 或下载失败时,自动重试最多 2 次
返回提供图片路径、生成模型、尺寸和质量等结果信息

方法 2 实测:从不显示图片到正常显示

示例中,首次使用内置 ImageGen 后只返回“已生成”的文字,图片没有出现在对话里。随后明确要求使用 imagegen-local 继续同一任务,生成结果便正常保存并显示。

关键指令是明确指定本地 Skill,例如:“使用 imagegen-local 继续生成这个图片任务”。
Codex 对话中先出现生图不显示问题,改用 imagegen-local 后图片正常显示的完整示例
附图 2:改用 imagegen-local 后,生成图片正常出现在 Codex 对话中 · 点击图片可查看原图

方法 2 使用步骤

  1. 创建本地 Skill

    把上面的指令发送给 Codex,等待 Skill Creator 完成 Image Gen-Local 的创建。

  2. 确认 dacall.AI 配置

    检查当前 OpenAI 兼容接口地址、API Key 和图片模型配置是否正确。不要在对话、截图或仓库中粘贴完整 API Key。

  3. 明确指定新 Skill

    发起图片任务时写明“使用 Image Gen-Local 生成”,避免 Codex 继续选择官方 Image Gen Skill。

  4. 检查本地结果

    生成结束后,确认回复中包含绝对文件路径,并验证图片能在对话中显示、能从该路径打开。

仍然看不到图片时

只有确认图片已经成功写入本地且可读取后,才应将任务标记为生成成功。否则应明确返回失败环节和错误原因。
  • 方法 1:确认两项关键配置位于当前实际生效的 Provider 下,并且完全重启过 Codex App。
  • 方法 1:如果使用 CC Switch,重新打开 config.toml,检查切换 Provider 后配置是否被覆盖。
  • 先检查回复中的绝对路径是否存在,文件大小是否为 0。
  • 确认文件格式是 Codex 可显示的常见图片格式,例如 PNG、JPEG 或 WebP。
  • 查看 Skill 返回的原始错误,判断是接口请求、图片下载、本地写入还是界面渲染失败。
  • 如果文件能在本地打开但对话不显示,可把绝对路径重新用 Markdown 图片语法展示。
  • 如果连续重试仍失败,请保留发生时间、模型名、错误信息和 Request ID 后再联系支持;不要提交 API Key。