用网页会话或生图 API 出设计图与 HTML demo
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Octo-o-o-o/gpt-image-design该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · vision
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 79 处,展示前 35 条)
- 读取本地文件lib/index.js:215
const realRoot = await realpath(normalizedRoot); - 读取本地文件lib/index.js:227
const source = await realpath(absolute); - 读取本地文件lib/index.js:235
const info = await stat(source); - 读取本地文件lib/index.js:237
const bytes = await readFile(source); - 读取本地文件lib/index.js:1419
const [canonicalRoot, canonical] = await Promise.all([realpath2(root), realpath2(original)]); - 写入本地文件lib/index.js:1430
await mkdir(absoluteRoot, { recursive: true }); - 读取本地文件lib/index.js:1431
const canonicalRoot = await realpath2(absoluteRoot); - 写入本地文件lib/index.js:1437
await mkdir(next); - 写入本地文件lib/index.js:1519
await writeFile(temp, `${header} - 写入本地文件lib/index.js:1526
await rename(temp, join2(dir, path)); - 删除本地文件lib/index.js:1529
await rm(temp, { force: true }); - 删除本地文件lib/index.js:1531
await rm(lockPath, { force: true }); - 写入本地文件lib/index.js:1639
await rename2(temp, target); - 写入本地文件lib/index.js:1756
await writeFile2(temp, content, { flag: "wx" }); - 删除本地文件lib/index.js:1760
if (created) await rm2(temp, { force: true }).catch(() => void 0); - 删除本地文件递归lib/index.js:2172
await rm2(dir, { recursive: true, force: true }); - 删除本地文件递归lib/index.js:2173
await rm2(this.rawTopicDir(topic.id), { recursive: true, force: true }); - 删除本地文件lib/index.js:2174
await rm2(join3(this.options.localRoot, "sessions", `${topic.id}.json`), { force: true }); - 发起网络请求lib/index.js:3040
return await this.options.transport.fetch({ submissionId }); - 发起网络请求lib/index.js:3881
async fetch(request) { - 发起网络请求lib/index.js:3941
const response = await fetch(src); - 发起网络请求lib/index.js:4064
const response = await fetch(href); - 发起网络请求lib/index.js:4529
const response = await this.request(url, init); - 发起网络请求lib/index.js:4567
const response = await this.request(this.modelsUrl(), { - 读取密钥环境变量lib/index.js:5197
const envKey = (process.env.GPT_IMAGE_API_KEY ?? "").trim(); - 执行外部命令来自配置/变量lib/index.js:5882
const child = spawn(reveal.command, reveal.args, { detached: true, stdio: "ignore" }); - 执行外部命令来自配置/变量lib/index.js:5894
const child = spawn(opener.command, opener.args, { - 发起网络请求lib/client.js:724
const response = await fetch(`${options.routes}/topics`, { headers: { accept: "application/json" } }); - 发起网络请求lib/client.js:943
const response = await fetch(url, { - 发起网络请求lib/client.js:952
const response = await fetch(`${config.routes}/action`, { - 写入剪贴板lib/client.js:972
await navigator.clipboard.writeText(text); - 发起网络请求lib/client.js:978
const response = await fetch(src); - 写入剪贴板lib/client.js:994
await navigator.clipboard.write([new ClipboardItem({ "image/png": png })]); - 发起网络请求lib/client.js:1002
const response = await fetch(`${config.routes}/open`, { - 发起网络请求lib/client.js:1053
const response = await fetch(url, { signal, headers: { accept: "text/plain, text/markdown" } });
扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
DeepSeek Harness 插件:用 ChatGPT Pro 网页会话或 OpenAI 兼容生图 API 出设计图与 HTML demo,侧边栏画廊预览。
README
由 DeepSeek 最新模型翻译生成GPT-Image Design
在 DeepSeek Harness(DSH)里,用真实的 ChatGPT Pro 网页会话,或任意 OpenAI 兼容生图 API,出设计图与单文件 HTML demo;图片和代码保存到本地,侧边栏画廊预览,iframe 直接打开 demo。
dsh.pub
English: Generate images and HTML demos through a real ChatGPT Pro web session or an OpenAI-compatible image API, saved locally with a gallery in DSH.
风险提示:web 通道是订阅网页自动化,不是官方 API;页面改版、账号风控与 ToS 风险由使用者承担。api 通道按服务商条款计费,只产出图片,不产出 HTML demo。
Image Design 面板
首次安装后的空状态:侧边栏入口和面板已加载;在会话里用 /gpt-image-design 开始。
展开完整文档(README 剩余 1 节)
GPT-Image Design
在 DeepSeek Harness(DSH)里,用真实的 ChatGPT Pro 网页会话,或任意 OpenAI 兼容生图 API,出设计图与单文件 HTML demo;图片和代码保存到本地,侧边栏画廊预览,iframe 直接打开 demo。
dsh.pub
English: Generate images and HTML demos through a real ChatGPT Pro web session or an OpenAI-compatible image API, saved locally with a gallery in DSH.
风险提示:web 通道是订阅网页自动化,不是官方 API;页面改版、账号风控与 ToS 风险由使用者承担。api 通道按服务商条款计费,只产出图片,不产出 HTML demo。
Image Design 面板
首次安装后的空状态:侧边栏入口和面板已加载;在会话里用 /gpt-image-design 开始。
两种通道
| 通道 | 适合 | 产出 |
| web(默认) | 有 ChatGPT 订阅,想顺带生成 HTML demo | 图片 + 前端代码/HTML demo |
| api | 没有订阅,或想用 gpt-image-1 等 API 的质量/尺寸/参考图控制 | 只有图片;HTML demo 由智能体另行生成 |
它解决什么问题
- 一句话生成多个方向的设计图,并把每轮结果按主题和轮次落盘。
- 侧边栏「Image Design」提供画廊、demo iframe 预览和设计决策记录。
- 材料里的图片可以作为参考图(api 通道走 /images/edits),最多 4 张、每张 25MB。
- 适合落地页/海报/UI 方向探索;不适合需要像素级精确排版、或必须使用特定品牌规范自动校验的场景。
前置条件
- DSH >= 0.2.1-rc.2 < 0.3.0(本版本实测 0.2.1-rc.2)。
- Node.js 22+(DSH 自带 runtime 也可以)。
- web 通道:本机 Google Chrome + 可登录 ChatGPT 网页的账号;首次登录必须有人工操作。
- api 通道:一个 OpenAI 兼容的生图服务、base URL、key 和模型名。
- web 通道固定单账号、单会话,与研究插件共用同一个 Chrome profile。
安装
从 dsh.pub(推荐)
npx dshpub add Octo-o-o-o/gpt-image-design
dsh.pub 会把仓库固定到一个公开 commit 再安装。
从 Git commit
dsh plugin --profile <profile> add github:Octo-o-o-o/gpt-image-design#<40-char-commit>
<40-char-commit> 用仓库 Release 或 dsh.pub 记录里的完整 SHA;<profile> 换成你的 profile(例如 desktop、web)。
从 npm
dsh plugin --profile <profile> add gpt-image-design
npm 上现有 0.2.x;本仓库的 0.3.1 以 Git/dsh.pub 分发为准。
启用
安装后重启 DSH,打开 设置 → 插件,确认 GPT-Image Design 已启用;工具列表会出现 gpt_image_design,侧边栏会出现 Image Design 面板。
首次登录(web 通道)
gpt_image_design(action="login")
插件会打开一个独立的 Chrome 窗口。登录 ChatGPT 后关闭窗口即可;登录态保存在 ~/.dsh/pro-research/browser,与研究插件共用,只需登录一次。
api 通道不需要登录;配好 key 后用 probe 自检。
快速开始
web 通道
gpt_image_design(
action="start",
confirmed=true,
title="落地页首屏",
question="生成 3 个方向的首屏设计图和 1 个 HTML demo",
brief="深色科技风,中文大标题,右侧产品界面,单文件 HTML",
criteria=["至少 1 张完整首屏图", "一个可打开的 HTML demo"],
rounds=2,
designs=3
)
产物写入 <主题>/artifacts/round-NN/:
<project>/docs/design/<slug>/
├── topic.json
├── artifacts/round-01/
│ ├── image-01.png
│ ├── image-02.png
│ └── code-01.html
└── ...
- image-.png:ChatGPT 生成的图片。
- code-.html:前端代码块;单文件 HTML 可在面板 iframe 预览。
API 通道
在 设置 → 插件 → GPT-Image Design 里把 channel 改成 api,并填写:
| 设置 | 默认 | 说明 |
| channel | web | web 或 api。 |
| imageBaseUrl | https://api.openai.com/v1 | API 根地址,含版本前缀。 |
| imageApiKey | 空 | key;留空则读环境变量 GPT_IMAGE_API_KEY。 |
| imageModel | gpt-image-1 | 模型名,例如 gpt-image-1、dall-e-3 或服务商模型名。 |
| imageSize | auto | auto 或 1024x1024 / 1536x1024 / 1024x1536 等。 |
| imageQuality | auto | auto / low / medium / high(服务商支持时生效)。 |
| imageFormat | png | png / jpeg / webp。 |
| imageAuth | bearer | bearer(Authorization: Bearer)或 api-key(Azure 风格)。 |
| imageEdit | auto | 材料里的图片是否作为参考图发给 /images/edits:auto / off。 |
| imageTimeoutSeconds | 300 | 单张图片的生成/下载超时(秒,10–3600)。 |
自检:
gpt_image_design(action="probe")
返回 channel: "api"、probe.ok、模型列表或 probe.reason。ok=false 时先看 reason(key、base URL、模型名)。
改完设置或环境变量后要重载插件(重启 DSH)才生效;进行中的主题不受影响。
如果设置页没有渲染这些项,可以直接写进 profile 的 cordis.patch.yml(~/.dsh/profiles/<profile>/cordis.patch.yml):
- id: gpt-image-design
name: gpt-image-design
config:
channel: api
imageBaseUrl: https://api.openai.com/v1
imageApiKey: <your-key> # 或用环境变量 GPT_IMAGE_API_KEY imageModel: gpt-image-1 imageSize: 1536x1024
API 通道发起
gpt_image_design(
action="start",
confirmed=true,
title="深色首屏",
question="出三个方向的首屏",
brief="深色科技风,中文大标题,右侧产品界面",
criteria=["三张图方向可区分", "标题中文可读"],
designs=3
)
每个方向调用一次生图接口(designs=3 就是 3 次请求),图片保存到 artifacts/round-NN/image-01.png 等。
接口约定
- POST {imageBaseUrl}/images/generations,JSON:{model, prompt, n:1, size?, quality?, output_format?};
- 材料里有图片(.png/.jpg/.jpeg/.webp,最多 4 张、每张 25MB)且 imageEdit=auto 时改走 POST {imageBaseUrl}/images/edits(multipart,image[]);
- 响应支持 data[].b64_json、data[].url;url 会下载后落盘,鉴权头只发给 imageBaseUrl 同源地址;
- 服务商必须兼容 OpenAI images 的参数名;用 image_size、batch_size 等自定义参数的服务商暂不支持。
成本与轮次
- 每轮 = designs 次生图请求,按 API 计费;没有配置自动裁决(judgeProvider + judgeModel)时,API 通道默认只跑 1 轮,避免重复计费。显式传 rounds 可覆盖。
- 自动裁决在 API 通道只看得到提示词与结果清单,看不到图片本身;更可靠的是人工复核,或不配裁决、跑 1 轮后用 continue 显式加轮。
- 部分方向失败不会丢掉已成功的图;失败原因写进该轮答复和面板记录。
- DSH 重启后,进行中的 API 请求会丢失,这一轮不会自动重发;已生成的图片仍在 artifacts/ 里。
设置(通用)
以下设置两个通道都有:
| 设置 | 默认 | 说明 |
| rounds | 3 | 每个主题默认轮次上限(1–10)。 |
| designs | 3 | 每轮生成的方向/图片数(1–6)。 |
| model | pro | web 通道的 ChatGPT 页面模型:pro 或 thinking。 |
| store | project | 记录位置:project(仓库 docs/design)或 local(DSH 本机)。 |
| autoStart | false | 设计卡是否跳过点击直接开跑。 |
| autoReview | true | capped 后唤醒原会话检查产物。 |
| notify | stall-only | stall-only 只在卡住时提醒,all 完成也提醒。 |
| stallMinutes | 45 | 无进展判定分钟数。 |
| maxRoundMinutes | 90 | 单轮墙钟上限(分钟)。 |
| maxFiles | 12 | 单轮附件数量上限。 |
| maxTotalMB | 24 | 单轮附件总大小(MB)。 |
| rawAnswers | local | 原始答复保存位置:local 或 repo。 |
| rawAnswersDir | 空 | local 模式的原文目录。 |
| headless | false | 无头模式仅建议用于自检。 |
| judgeProvider | 空 | 自动裁决的 LLM provider;填 off 关闭。 |
| judgeModel | 空 | 自动裁决的 model。 |
产物与记录
- store=project:<项目>/docs/design/(设计插件使用 docs/design)。
- store=local:~/.dsh/gpt-image-design/。
- 原始答复默认只留在本机;只有 rawAnswers=repo 才复制进项目。
- API 通道的答复是提示词与结果清单(纯文本),不是模型自然语言回复。
- 登录态:~/.dsh/pro-research/browser(与研究插件共用,敏感,不要提交)。
验证清单
1. 工具列表出现 gpt_image_design,侧边栏出现 Image Design 面板。
2. action="probe" 返回当前通道和状态;web 通道显示登录态,api 通道显示模型/接口检查结果。
3. 跑一个 1 轮小主题,确认 artifacts/round-01/ 下有图片;web 通道还应出现 code-.html。
4. 面板里能打开画廊,点击 demo 能在 iframe 里预览。
5. 刷新侧边栏,确认主题、轮次、产物路径都在。
安全与隐私
- 会出网:web 通道把问题、brief、判据和材料发送到 chatgpt.com;api 通道发送到你配置的 imageBaseUrl。
- 本地保存:登录态在 ~/.dsh/pro-research/browser;图片/代码在项目 docs/design 或 ~/.dsh/gpt-image-design;原始答复在本机。
- key 处理:key 只来自插件设置或 GPT_IMAGE_API_KEY;不会写进 topic.json、回执、日志或错误信息(错误体做了脱敏)。
- 权限边界:插件以 DSH 进程权限运行,可以读写上述目录、启动本机 Chrome、请求你配置的生图服务;不会把 key 发给 imageBaseUrl 之外的地址,也不会把参考图发给其他服务商。
- 文件管理器:插件只用固定的 explorer.exe / open / xdg-open 参数打开它自己生成的产物文件/目录,不拼接用户输入,也不执行 shell 命令。
- 清理:删除主题目录即可删除该主题;卸载时见下文。不要把 key、登录态或 ~/.dsh 提交到仓库。
已知限制
- web 通道受页面改版、Cloudflare、账号风控、额度限制影响;失败时保留已完成轮次,不假装成功。
- web 通道只支持单账号、单会话;不支持多账号并行。
- api 通道只支持 OpenAI images 参数名;自定义参数服务商暂不支持。
- 自动裁决在 API 通道看不到图片本身,不等同于视觉评审;重要结果请人工看画廊。
- 单轮图片数、附件大小、超时受 designs / maxFiles / maxTotalMB / imageTimeoutSeconds 限制。
- 页面上的模型/功能以 ChatGPT 网页实际提供为准。
故障排查
| 现象 | 先检查 |
| web 登录窗口没出现 | 是否有残留的插件 Chrome 窗口占用 profile;关掉后重试 login。 |
| 登录后仍显示未登录 | probe 看状态;确认 ~/.dsh/pro-research/browser 可写;必要时重新 login。 |
| api 返回 401 | key、imageAuth(bearer / api-key)、base URL 是否匹配服务商。 |
| api 返回 404 | imageBaseUrl 是否包含版本前缀,模型名是否存在。 |
| 只有部分方向成功 | 这是允许的;看该轮答复里的失败原因,已成功的图不会丢。 |
| demo 在 iframe 里打不开 | 确认 code-.html 是单文件 HTML;外链资源可能被 iframe 限制。 |
| 参考图没发出去 | 检查材料格式(png/jpg/jpeg/webp)、数量(最多 4 张)、大小(每张 25MB)和 imageEdit。 |
| 改设置不生效 | 需要重启 DSH 重载插件;进行中的主题不受影响。 |
本地验证记录
2026-10-23,DSH 0.2.1-rc.2,空 web profile,从公开 commit e29502c 安装:
- --dump-config 显示 # == gpt-image-design 组合包层;
- GET /gpt-image-design/topics 返回 200 {"topics":[]};
- 侧边栏 Image Design 入口和空面板正常加载。
这是安装/加载验证,不等于真实网页登录或真实生图 API 的验收;web 通道需要你自己的 ChatGPT 账号,api 通道需要自己的服务商 key。
兼容性
| 项 | 值 |
| DSH | 0.2.1-rc.2 实测;engines.dsh 为 >=0.2.1-rc.2 <0.3.0 |
| Node.js | 22+ |
| 浏览器 | web 通道需要本机 Google Chrome(稳定版) |
| API | 任意兼容 OpenAI images 参数名的服务 |
| 平台 | Windows 已验证;macOS/Linux 使用对应的 Chrome 启动路径,未在仓库内声明实测 |
| 插件版本 | 0.3.1 |
禁用与卸载
临时禁用:设置 → 插件 关闭 GPT-Image Design;或从 profile 的 dsh.profile.bundles 移除 gpt-image-design,重启 DSH。
卸载:
dsh plugin --profile <profile> remove gpt-image-design
然后按需删除:
- ~/.dsh/gpt-image-design/(store=local 的记录)
- ~/.dsh/pro-research/browser/(如果你也不再使用研究插件;两个插件共用登录态)
- 项目里的 docs/design/(只删你确认不要的主题)
开发
源码和开发说明在 monorepo:Octo-o-o-o/dsh-pro。
npm install
npm test
npm run typecheck
npm run build
node scripts/smoke-bundle.mjs
本仓库是发布仓库:lib/ 是构建产物,请不要直接改 lib/;改源码请到 monorepo 的 packages/design。
License
MIT。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Octo-o-o-o/gpt-image-design
用网页会话或生图 API 出设计图与 HTML demo
相关插件 · 视觉能力
智能体工作台Devin-AXIS/iPolloWork
企业级、本地优先的智能体工作台,面向个人和智能体团队——一个工作区,容纳多个智能体引擎;一套统一体系,管理插件和技能;支…
★ 7,364已汉化DSH
72
开源设计工作台nexu-io/open-design
OpenDesign:首个协作式 AI 设计智能体工作区
★ 105,709已汉化DSH
71.8
GPT 图像提示词库freestylefly/awesome-gpt-image-2
Prompt as Code | GPT Image 2 / 2.5 提示词与案例库,530+ 个案例、20+…
★ 34,534已汉化DSH
71.5
多智能体编码工作区spacering-net/codeg
多智能体协作的 AI 编程工作区:汇总 Claude Code、Codex、OpenCode、Pi、Grok Build 等来源的会话。支持桌面应用、自托管服务器或 Docker。
★ 4,319已汉化DSH
71.5
AI 用量桌面小部件Javis603/token-monitor
EN | 简 | 繁 | KO | JA | PT
★ 3,533已汉化DSH
71.1
架构图生成器tt-a1i/archify
把你想理解、规划或分享的事,变成可以互动的可视化作品。
★ 93,105已汉化DSH
71.1
这是你的仓库?认领条目