dsh-openai-codex-image:用 ChatGPT 订阅额度生成 gpt-image-2 图

前言

在 DSH 里让智能体出图,常见做法是配置 OpenAI API Key,走 api.openai.com 上的 gpt-image-2。若你本身已为 ChatGPT 订阅付费,同一模型可能形成「订阅 + API 按量」的双重计费。Codex CLI 走的是 ChatGPT 侧的后端路由;dsh-openai-codex-image(维护者 kkczx5428,社区分类「趣味换装」)把同一路径封装成 DSH 插件:用 ChatGPT 账号(Codex OAuth)鉴权,经订阅额度调用 gpt-image-2,而不是依赖付费 API Key。

下面介绍插件定位、能力、安装方式与典型用法。事实以 GitHub 仓库 README 为准;这是非官方的 Codex 端点集成,与 OpenAI 无隶属关系,端点可能变更,使用前需符合你账号适用的条款。

这是什么

dsh-openai-codex-image 是 DeepSeek Harness(DSH)插件 bundle,npm 包名 openai-codex-image,当前版本 1.1.0,许可证 MIT。它向智能体暴露 generate_image 与 openai_account 工具,并在 DSH 设置中提供 ChatGPT Image 页面,用于查看授权状态、设备码登录与登出。

请求形态与 Codex CLI 一致:向 https://chatgpt.com/backend-api/codex/responses 发起 POST,携带 image_generation 工具(默认模型 gpt-image-2),并使用 ChatGPT OAuth access token 与 chatgpt_account_id 鉴权。

核心功能

  • generate_image:根据 prompt 在工作区生成 PNG;若当前对话模型支持图像输入,结果可在聊天中内联展示。
  • openai_account:查询状态、设备码登录(login_start / login_poll)、登出(仅删除插件自有凭证,不改动 Codex CLI 文件)。
  • Settings → ChatGPT Image:展示授权来源、账号、套餐、token 过期时间;同源 API 路由 /api/openai-codex-image/* 不向页面返回 token(账号 id 会脱敏)。
  • 鉴权解析顺序:优先 DSH 凭证库中插件写入的记录;否则只读本地 Codex CLI 登录文件 ~/.codex/auth.json(auth_mode: "chatgpt")。插件自有 OAuth 记录在过期前约 60 秒自动刷新并写回同一凭证记录。
  • 依赖:仅使用 Node 内置模块与 DSH 上下文服务,不硬依赖 @deepseek-ai/*,可作为本地 bundle 安装。

环境要求

  • DSH Desktop,或具备 credentials、attachments、workingDirectory、llm 等服务的 DSH profile。
  • Node.js ^22.19.0 || >=24.0.0。
  • 可使用 Codex 的 ChatGPT 账号,已通过 Codex CLI(codex login)或本插件 设备码流程 登录。

安装与启用

插件以 bundle 形式链接进当前 profile。在 DSH 会话中让智能体执行(target 为本机上该插件目录的绝对路径;源码见 GitHub):

plugin_manager(action="install_bundle", target="<absolute path to the cloned directory>")

install_bundle 会把目录链入活跃 profile 并写入 bundle 列表。修改插件源码后需重启 DSH;新装 bundle 一般立即生效。Client 端(设置页)在宿主启动时加载,安装或升级后需重启 DSH Desktop 才能看到新的 ChatGPT Image 页。

卸载:

plugin_manager(action="remove_bundle", target="openai-codex-image")

典型用法

生成图片

在会话中调用工具,例如:

generate_image(prompt="A red panda with round glasses using a glowing laptop, cozy study, 3/4 view")
generate_image(prompt="...", size="1536x1024", quality="low", output_dir="assets")
参数 必填 说明
prompt 是 画面描述;中英文均可
size 否 默认 1024x1024;可选 1536x1024、1024x1536、2048x2048、2048x1152、3840x2160、2160x3840
quality 否 auto / low / medium / high
model 否 图像模型,默认 gpt-image-2
host_model 否 承载 image_generation 工具的对话模型;默认来自配置
output_dir 否 相对工作区或绝对路径;默认 generated_images
file_name 否 可选文件名(自动补 .png,会去掉路径成分)

返回包含 path、实际 width/height、bytes、model、请求的 size、可选 revised_prompt;支持图像输入的模型还会附带 image attachment。后端会把请求尺寸对齐到支持的宽高比,返回尺寸以实际为准。

账号授权(设备码)

  1. openai_account(action="login_start") → 打开返回的 URL(https://auth.openai.com/codex/device),输入 8 位设备码;
  2. 在浏览器完成 ChatGPT 登录;
  3. openai_account(action="login_poll") → 状态为 authorized;
  4. 之后 generate_image 使用该授权。

也可在 Settings → ChatGPT Image 完成同等流程。status 可查看来源、账号、套餐与过期时间;logout 仅清除插件凭证。

配置

可选项写在 bundle 的 cordis.patch.yml 行配置中:

键 默认值 说明
authFile ~/.codex/auth.json Codex CLI 登录文件
hostModel gpt-6.1-sol 承载图像工具的对话模型
imageModel gpt-image-2 图像模型
defaultSize 1024x1024 默认尺寸
outputDir generated_images 默认输出目录
timeoutMs 240000 单次请求超时(可设 30s–600s)

适用场景与注意

适合已订阅 ChatGPT、希望在 DSH 智能体工作流里直接出图、且希望走订阅额度而非单独购买 API 额度的开发者。README 中的 Demo 图(如小熊猫、灯塔)均通过订阅账号的 generate_image 生成,可作为效果参考。

安全与合规:插件以当前 DSH 进程权限运行,会读取凭证与(可选)~/.codex/auth.json;安装前应自行审阅 源码与 MIT 许可证,确认符合组织与个人策略。

常见问题(摘自 README Troubleshooting):

现象 含义 / 处理
HTTP 400 ... model is not supported when using Codex with a ChatGPT account 当前 host_model 对你的账号不可用;可换 host_model(如 gpt-6.1-sol、gpt-6-sol、gpt-5.6-sol,可参考 Codex 的 models_cache.json)
HTTP 401/403 授权无效或过期;重新设备码登录
HTTP 429 速率或配额限制;等待订阅配额重置
超时 提高 timeoutMs;常见生成约 20–60 秒,大尺寸更久
聊天内不显示图 当前模型不支持图像输入;PNG 仍会写入 path
安装后没有设置页 重启 DSH Desktop

DSH 生态强调「一切皆插件」;SkillHub 目录页 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-openai-codex-image 把 ChatGPT(Codex OAuth)登录与 gpt-image-2 生图收进 DSH 工具与设置页,让订阅额度覆盖智能体侧出图需求。进一步细节、变更记录与 Issue 见 GitHub:kkczx5428/dsh-openai-codex-image;目录入口:SkillHub 插件页。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye