关于 Backdraw
Backdraw 是本地 MCP 服务和 Chrome 扩展,可在后台 Chrome 标签页中通过已登录的 ChatGPT 账户生成和编辑图像。它主要面向 Claude 用户,并将生成的图像保存在 Windows 电脑上。
主要功能
- 01通过 ChatGPT 生成和编辑图像
- 02在静音后台标签页运行任务
- 03将收集的网站图像用作参考
- 04在图库中浏览生成的图像
- 05在本地保存图像和任务历史
适用场景
- 01根据 Claude 请求生成图像
- 02使用参考图像编辑图像
- 03收集网站图像供后续生成使用
MCP 相关
Backdraw 作为 stdio MCP 服务运行,提供生成图像、查询或取消任务、获取图像以及管理项目和集合的工具。服务通过原生消息传递和命名管道与 Chrome 扩展通信。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
7收录的工具列表 · 更新于 2 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| prompt | string | 是 | 完整的图像描述或编辑指令,支持任何语言。 |
| output_dir | string | 否 | 可选:将图像副本保存到的文件夹,例如当前项目的 assets 文件夹(优先使用绝对路径)。中央 images 文件夹始终会保留一份副本。 |
| send_as_is | boolean | 否 | 原样发送提示词,不附加桥接程序添加的简短指令(适合回答 ChatGPT 提出的问题)。 |
| aspect_ratio | string | 否 | 可选形状,格式为 W:H,例如 1:1、3:2、2:3、4:3、3:4、16:9、9:16、4:5、5:2(Discord 横幅)或 3:1(页眉)。任意 W:H 均可,但整数需在 1:4 到 4:1 之间(不要使用 1.5:1:请用 3:2)。ChatGPT 会自行绘制 1:3 到 3:1 的比例;更宽或更高的形状会按 3:1 / 1:3 绘制后裁剪。若图像比例偏差超过 1%,则会从中心裁剪到此比例(取最接近的像素),并同时保留完整图像。 |
| wait_seconds | integer | 否 | 在此秒数内返回。默认值 45 可确保每次调用低于某些客户端的 60 秒工具时限。如果作业届时仍未完成,结果会显示 STILL RUNNING 或 QUEUED:再次使用其 job_id 调用 job_status。 |
| auto_reattach | boolean | 否 | 如果 ChatGPT 回复说无法访问图像并要求上传,则自动附加聊天中最新的图像(或 reference_images),并再次询问一次。 |
| filename_hint | string | 否 | 可选的几个主题描述词(例如 'red fox mascot'),用于生成保存文件名,而不采用提示词开头部分。如果提示词以其他内容开头(例如关于参考图像的指令),请传入此参数。 |
| include_preview | boolean | 否 | 附加缩小后的结果预览,供检查。 |
| reference_files | array | 否 | 可选:从 list_collections 获取文件名,仅附加 reference_collection 中指定的图像,而非最新图像。 |
| conversation_url | string | 否 | 可选:之前结果中的 ChatGPT 对话链接;提示词会发送到该对话,而不是新对话。适合快速跟进;如需精确编辑,优先在新聊天中使用 reference_images。 |
| reference_images | array | 否 | 可选的本地图片文件(png/jpg/webp/gif,最多 16 张),附加到消息中,例如要编辑的图片或角色设定表。之前调用保存的路径可直接使用。 |
| reference_collection | string | 否 | 可选的用户 Backdraw 参考图集名称之一(参见 list_collections;采用宽松匹配)。其中的图片会在所有 reference_images 之后附加,参考图总数最多为 16 张:超过上限时使用最新图片,除非 reference_files 指定其他图片。 |
| transparent_background | boolean | 否 | 要求生成透明背景的 PNG(贴纸、徽标、图标、精灵图)。结果会说明保存的图片是否确实包含透明像素。 |
详细介绍
让 Claude 在后台 Chrome 标签页中,使用你自己的 ChatGPT 账户生成图片。
无需 API 密钥、无需额外费用,也无需守着等待。
功能介绍
Backdraw 是一个本地 MCP 服务和 Chrome 扩展。让 Claude 使用“ChatGPT”生成图片时,Backdraw 会在你已登录的 Chrome 后台标签页中打开 ChatGPT。它会发送提示词、等待图片生成并将其保存到电脑上。Claude 会获得文件路径、预览图和聊天链接。
- 生成新图片,或附加图片作为参考图进行编辑。
- 指定形状(
16:9、4:1横幅等)或透明背景。 - 在任何网站上右键点击图片,将其保存为参考图,并作为合集重复使用。
- 在侧边栏图库中浏览你创建的所有内容。
- 纯 Node.js,无任何 npm 依赖。所有操作都在你的电脑上运行。
供个人使用,请使用你自己的 ChatGPT 账户,并自行承担风险。 自动化操作 ChatGPT 网页可能与 OpenAI 的条款冲突;开始之前请阅读 免责声明和负责任的使用。
为什么选择 Backdraw?
- 使用你日常的 Chrome。 无需单独的浏览器配置文件、再次登录或自动化浏览器:Backdraw 直接在你平时使用且已登录 ChatGPT 的 Chrome 中运行。
- 不妨碍你工作。 操作会在一个静音的后台标签页中进行,不会切换焦点,因此你可以在图片生成时继续工作。
- 不开放端口。 各组件通过 Chrome 原生消息传递和仅限你的 Windows 用户访问的命名管道进行通信。不会开放 DevTools 端口(例如 9222),也不会运行本地 Web 服务。
- 无需 API 密钥。 它使用你的 ChatGPT 套餐;每张图片都会计入你常规的 ChatGPT 使用限额。
- 从网页收集参考图。 在任何网站上右键点击图片即可收集,然后按照其风格生成图片。
- 图库:在 Chrome 侧边栏中查看你创建的所有内容。
- 一条命令即可设置:
npx backdraw@latest setup。剩下只需加载扩展。
对比
其他开源项目采用了不同的方法,其中有几个支持 Backdraw 不支持的功能(macOS 或 Linux 支持、API 模式、在服务上运行)。每一行均已根据项目的 README 和源代码于 2026-10-25 核查;? 表示我们无法确定。发现错误了吗?请提交 issue。
| 项目 | 使用你日常使用的 Chrome(无需单独的配置文件或登录) | 后台标签页(不会抢占焦点) | 开放端口 | 是否需要 API 密钥 | 右键参考图集 | 图库 | 平台 |
|---|---|---|---|---|---|---|---|
| Backdraw | 是 | 是 | 否(原生消息传递 + 命名管道) | 否 | 是 | 是 | Windows |
| lownamlee/gpt-image-2-mcp | 否(使用自己的浏览器配置文件) | 部分支持¹ | 否 | 可选(API 模式) | 否 | 否 | ? |
| nothariharan/image-gen | 否(使用自己的 Edge 配置文件) | 否 | 是(CDP 9222) | 否 | 否 | 否 | Windows;macOS/Linux 需手动配置 |
| goofyshwetank/mcp-chatgpt-gemini-image | 否(使用自己的 Chromium 配置文件) | 否 | 否 | 否 | 否 | 否 | ? |
| Dasemu/chatgpt-imagegen-mcp | 否(在服务上使用自己的配置文件) | 部分支持² | 是(HTTP 8088,远程服务) | 否(使用自己的服务令牌) | 否 | 否 | Linux 服务 |
Codex 内置的 $imagegen | –(无浏览器) | – | 否 | 否(登录 Codex) | 否 | ? | ? |
| Sateezg/codex-bridge | –(无浏览器,运行 Codex) | – | 否 | 否(登录 Codex) | 否 | 否 | macOS、Linux |
¹ 使用自己的浏览器窗口;ChatGPT 就绪后将窗口移出屏幕或最小化。 ² 在服务上的虚拟显示器(Xvfb)中运行浏览器,或以无头模式运行。
Codex 用户已经可以使用内置的图像生成功能;Backdraw 主要面向 Claude Code、Claude 桌面应用和 VS Code。
工作原理
Claude Code / Claude desktop app (MCP client)
│ MCP over stdio
▼
mcp-server.js ──── named pipe, your Windows user only ────► host.js
│ Chrome native messaging
▼
Backdraw Chrome extension
│ background tab
▼
chatgpt.com → your Project → new chat → image
mcp-server.js负责与 Claude 通信。它会将每次工具调用转发给host.js。- Chrome 连接扩展时会启动
host.js。它负责运行作业队列(一次处理一个作业)、保存图像,并将作业历史记录保存在%USERPROFILE%\.backdraw\data中。 - 扩展会在你选定的 ChatGPT Project 中,于后台标签页打开 chatgpt.com。该标签页不会被激活,并且会静音;没有窗口会抢占焦点,也不会使用你的鼠标和键盘:只会在该标签页内触发合成事件。作业完成后,该标签页会关闭,除非你正在查看它。
- 无需 API 密钥。 Backdraw 使用你已在 Chrome 中登录的 ChatGPT 会话。它绝不读取 Cookie、令牌或密码。
- 除你发送给 ChatGPT 的内容(提示词和任何参考图像)外,任何内容都不会离开你的电脑。 Backdraw 没有服务,也不收集遥测数据。
图像会保存在图片文件夹下的 Backdraw 目录中,文件名由时间和提示词组成,例如 20261021-153012_a-cozy-reading-nook.png。
要求
| 操作系统 | Windows 10 或 11 |
| 浏览器 | Google Chrome 116 或更高版本(也已为 Edge、Brave 和 Chromium 注册,但仅测试过 Chrome) |
| 运行环境 | Node.js 20 或更高版本 |
| 账号 | 可生成图像的 ChatGPT 账号,并已在 Chrome 中登录 chatgpt.com |
| 客户端 | Claude Code、Claude 桌面应用、Codex、Cursor、VS Code 或 Gemini CLI(或其他可运行 stdio 服务的 MCP 客户端) |
目前仅支持 Windows——代码按平台模块拆分,欢迎贡献 macOS/Linux 支持。所有特定于操作系统的内容(命名管道、原生主机注册、用户文件夹)都位于 platform/win32.js 中。
安装
快速安装
在 PowerShell 或 cmd 中运行以下命令(无需管理员权限):
npx backdraw@latest setup
它会运行 npm 上的 backdraw 软件包。
setup 会完成所有操作,除了在浏览器中点击一次:
-
它会将 Backdraw 复制到
%USERPROFILE%\.backdraw(npx 自己下载的副本是临时的),并设置图片文件夹Pictures\Backdraw(参考图集会放在Pictures\Backdraw\References中)。 再次运行会更新 Backdraw,同时保留你的设置、任务历史记录和图集。 -
它会为你的 Windows 用户注册原生消息传递主机,并为找到的每个浏览器注册(Chrome、Edge、Brave、Chromium)。
-
它会列出找到的 MCP 客户端(Claude Code、Claude 桌面应用、Codex、Cursor、VS Code、Gemini CLI),并询问要将 Backdraw 添加到哪些客户端。它只会添加或更新
backdraw条目,并在修改每个配置文件前创建带时间戳的.bak副本。--yes会选择找到的所有客户端;--clients=claude-code,cursor则只选择指定的客户端。 -
它会打开扩展文件夹和浏览器的扩展页面,将文件夹路径复制到剪贴板,然后等待你加载扩展。这是剩下需要你完成的一步:
- 开启开发者模式(右上角),
- 点击加载已解压的扩展程序,
- 选择该文件夹(按 Ctrl+V 粘贴路径)。
扩展一连接,安装程序就会打印 ✓ Ready 和一条示例提示词。
原生主机仍名为 io.github.muhammedtalha04.backdraw,沿用项目旧的 GitHub 用户名:更名会导致现有安装无法使用。
从客户端安装
你的 MCP 客户端也可以自行添加 Backdraw;此时它会使用 npx backdraw@latest mcp 启动服务。浏览器端仍需在电脑上进行一次性设置,该设置不会改动客户端:
npx backdraw@latest setup --clients=none
在 Windows 上,命令会通过 cmd /c 执行,因为客户端启动 npx 时不会使用 shell。每个客户端只使用一种安装方式:如果安装程序已将 Backdraw 添加到 Claude Code,那么插件会再启动一个提供相同工具的服务。
手动安装
-
获取代码。 使用 git 克隆仓库,或将其下载为 ZIP(Code → Download ZIP)并解压:
git clone https://github.com/devtalh/backdraw.git cd backdraw -
运行安装程序(无需管理员权限):
node install.js它会执行上述第 1 和第 2 步,并将 Backdraw 添加到 Claude Code(用户范围)。对于其他客户端,请改为运行
node bin/backdraw.js setup,或参阅使用方法。 -
加载扩展(仅需一次):打开
chrome://extensions,开启开发者模式,点击加载已解压的扩展程序,然后选择%USERPROFILE%\.backdraw\extension。
在弹出窗口中完成设置
- 打开弹出窗口。 点击工具栏中的 Backdraw 图标(从拼图菜单中将其固定)。
在所有设置完成前,弹出窗口会显示设置检查清单,并为每个步骤提供解决方法:
- 桥接已连接,
- 已登录 ChatGPT,
- 已选择 ChatGPT Project,
- 就绪:可复制到 Claude 的示例提示词。
- 创建并选择 ChatGPT Project。 在 ChatGPT 中为图片创建一个 Project(例如“Backdraw”),打开它,点击 Backdraw 图标,然后按 Use the “Backdraw” project。 你也可以向 Claude 提问:“在 ChatGPT 中为图片选择我的 Backdraw project。” 每个新图片对话都会在该 Project 中创建。
弹出窗口还提供语言(Auto / English / Türkçe)和主题(Auto / Light / Dark)设置。
如果遇到问题,请运行 npx backdraw@latest doctor。
使用方法
在 Claude Code 中使用
安装后启动一个新的 Claude Code 会话(MCP 服务会在会话启动时加载),然后用任意语言直接描述需求。backdraw 服务会向 Claude 提供以下工具:
generate_image、job_status、cancel_job、fetch_images、list_projects、select_project 和
list_collections(参见工具参考)。
在 Claude 桌面应用(聊天)中使用
桌面应用为聊天单独保存 MCP 配置。Claude 退出时会重写该配置,因此 Backdraw 只会在 Claude 关闭时修改配置。如果设置时检测到 Claude 正在运行,请稍后添加 Backdraw:
-
完全退出 Claude,包括从系统托盘退出。
-
在 PowerShell 中运行以下命令(不要在 Claude 会话中运行):
npx backdraw@latest setup --clients=claude-desktop(手动安装时:在
~\.backdraw中运行node install.js --desktop。)修改每个配置文件前,都会先写入一份带时间戳的.bak备份。 -
重新启动 Claude。Backdraw 即可在新聊天中使用。
在其他 MCP 客户端中使用
setup 也会将 Backdraw 添加到 Codex、Cursor、VS Code 和 Gemini CLI:在提示时选择这些客户端,或运行
npx backdraw@latest setup --clients=codex,cursor,vscode,gemini。它会将 node.exe 的完整路径作为命令写入,因此即使客户端无法读取你的 PATH,也能找到它。之后重启客户端或启动新会话。
VS Code 和 Gemini CLI 允许在配置文件中添加注释。重写这类文件会删除注释,因此 setup 会保留带注释的文件并提示你;然后请手动添加条目。
Backdraw 是一个使用标准输入/输出的 MCP 服务:node %USERPROFILE%\.backdraw\mcp-server.js。要手动添加,请使用以下示例。在配置文件中,将 C:/Users/you 替换为你的主文件夹(在 cmd 中运行 echo %USERPROFILE% 可查看路径)。Windows 支持正斜杠,且 JSON 中无需转义。下方的 ~ 表示你的主文件夹。PowerShell 命令会自动填入路径。
Codex(CLI、IDE 扩展和应用共用 ~\.codex\config.toml;
文档)。在 PowerShell 中运行:
codex mcp add backdraw -- node "$env:USERPROFILE\.backdraw\mcp-server.js"
或在 config.toml 中添加:
[mcp_servers.backdraw]
command = "node"
args = ["C:/Users/you/.backdraw/mcp-server.js"]
Cursor(所有项目共用 ~\.cursor\mcp.json,也可以使用项目中的 .cursor\mcp.json;
文档)。Cursor 会自动填入 ${userHome}:
{
"mcpServers": {
"backdraw": {
"type": "stdio",
"command": "node",
"args": ["${userHome}/.backdraw/mcp-server.js"]
}
}
}
VS Code(GitHub Copilot Agent 模式:每个工作区运行 MCP: Open User Configuration,或在某个工作区中创建 .vscode\mcp.json;
文档)。
这里的键为 servers,且必须包含 type:
{
"servers": {
"backdraw": {
"type": "stdio",
"command": "node",
"args": ["C:/Users/you/.backdraw/mcp-server.js"]
}
}
}
Gemini CLI(~\.gemini\settings.json;
文档)。-s user
会将其添加到所有项目中(默认仅添加到当前项目)。在 PowerShell 中运行:
gemini mcp add -s user backdraw node "$env:USERPROFILE\.backdraw\mcp-server.js"
或在 settings.json 中添加:
{
"mcpServers": {
"backdraw": {
"command": "node",
"args": ["C:/Users/you/.backdraw/mcp-server.js"]
}
}
}
示例提示词
| 你说 | Claude 传递给 generate_image 的内容 |
|---|---|
| 用 ChatGPT 生成一张图片:雨窗旁温馨的阅读角,暖色的灯光。 | 详细的 prompt |
| 用 ChatGPT 为我的博客制作一张 16:9 横幅:“Night Shift Notes”,黄昏时分的霓虹城市。 | aspect_ratio: "16:9" |
| 用 ChatGPT 制作一个开心仙人掌贴纸,背景透明。 | transparent_background: true |
用 ChatGPT 编辑 C:\path\to\photo.png:把天空改成日落,其他一切保持不变。 | reference_images: ["C:\\path\\to\\photo.png"] |
| 用我的“Cats”收藏集作为参考,用 ChatGPT 制作一张海报。 | reference_collection: "Cats" |
要编辑图片,Backdraw 需要它是电脑上的文件:将完整路径提供给 Claude(输入或粘贴),这样 Claude 就能将其传入 reference_images。之前调用保存的文件可以直接使用。附上图片后开启新聊天,是最可靠的编辑方式。
你也可以询问 “ChatGPT 图片任务的状态如何?” 或 “取消它。”
参考收藏集
从网上收集图片,然后将它们用作参考。
- 在任意网页上的图片上右键点击 → 添加到 Backdraw → 选择一个收藏集,或选择 新建收藏集…(会弹出一个小窗口,要求输入名称)。
- 页面上会显示简短提示以确认操作,例如“已添加到 Cats · 5 张图片”。在 Chrome 不允许扩展显示提示的页面上,工具栏图标会闪烁 ✓(出错时显示红色 !)。
- 按名称让 Claude 使用该收藏集。
每个收藏集都是一个文件夹 Pictures\Backdraw\References\<collection>\,其中包含图片(由
Backdraw 命名为:001_<name>.png、…)、记录每张图片来源页面和日期的 collection.json,以及
thumbs\ 文件夹。同一张图片添加到一个收藏集两次时只会保留一份。PNG、JPEG、WebP
和 GIF 会保留原格式;Chrome 能显示的其他格式(例如 AVIF、BMP 或 SVG)会保存为
PNG。手动删除图片文件后,该图片会从收藏集中移除。
弹出窗口中的 收藏集 部分会列出你的收藏集。打开一个收藏集即可查看缩略图、删除 图片,或重命名、删除收藏集。
| 限制 | |
|---|---|
| 每条消息的参考图片数 | 16(reference_images 和收藏集图片合计;测试中 ChatGPT 接受 16 张) |
| 单张参考图片 | 20 MB |
| 单条消息的所有参考图片 | 80 MB |
| 单张收藏集图片 | 25 MB(超过 20 MB 的图片仍会保留在收藏集中;请求会将其排除并说明原因;在 reference_files 中指定该图片会导致请求失败并显示提示) |
请求会使用该收藏集中符合剩余可用名额的最新图片。若要使用指定图片,请给出其名称:Claude 会将它们的文件名(来自 list_collections)传入 reference_files。
尺寸和透明度
aspect_ratio
使用整数表示的 W:H,范围为 1:4 到 4:1:1:1、3:2、2:3、4:5、16:9、9:16、
5:2(Discord 横幅)、3:1、4:1,……1920:1080 会被简化为 16:9;请写 3:2,不要写 1.5:1。
部分名称也可使用:square、landscape(3:2)、portrait(2:3)、wide(16:9)、tall(9:16)、
discord-banner(5:2)。
- 1:3 到 3:1: ChatGPT 会自行绘制,尺寸约为 1.57 百万像素,并符合指定形状。2026 年 10 月观察到的尺寸: 1254×1254(1:1)、1536×1024(3:2)、1672×941(16:9)、1983×793(5:2)。
- 最高为 4:1 / 1:4: ChatGPT 会按 3:1(或 1:3)生成图片,并被告知要将主体、面部和文字保留在裁剪后仍会保留的带状区域内;随后 Backdraw 会从中心裁剪。
- 如果图片与指定比例相差超过 1%,则会从中心裁剪。裁剪后的图片是主文件(
<name>.png),ChatGPT 的原图会保留在其旁边,文件名为<name>_full.<ext>。output_dir中只会复制主文件。 - 如果 ChatGPT 生成了其他形状,导致裁剪范围超出预期,结果会提醒你检查主体或文字是否被裁掉。
transparent_background
transparent_background: true 会要求 ChatGPT 生成一张带 Alpha 通道且仅显示主体的 PNG 图片。ChatGPT 不一定总能做到,因此 Backdraw 会检查保存的图片:读取 PNG 标头(Alpha 通道或 tRNS 块),并测量透明像素所占比例。结果要么是
Transparent background: yes — PNG with an alpha channel, 61% of the pixels are transparent.
要么以 ⚠ TRANSPARENT BACKGROUND MISSING 开头(没有 Alpha 通道,或透明像素占比不超过 2%)。之后,请在新的聊天中重试一次,或使用其他工具移除背景。透明图片的预览会显示在棋盘格背景上。
画廊侧边栏
点击弹出窗口中的 打开画廊,即可在当前页面旁打开 Backdraw 的侧边栏。也可以右键点击 Backdraw 工具栏图标 → 打开 Backdraw 画廊。
- **顶部:**正在进行的任务(步骤、任务 ID 和已用时间;悬停可查看 ChatGPT 的消息)、“空闲”或未连接提示。
- **画廊:**生成的图片,按时间从新到旧排列,每次显示 12 张(加载更多)。每张图片都显示缩略图、日期、提示词(悬停可查看其前 300 个字符)、尺寸,以及(如有要求)纵横比。
- 每张图片:打开聊天、在文件夹中显示(在资源管理器中选中该文件)、复制路径和添加到集合(现有集合或新建集合…)。
画廊会列出任务历史记录中的图片,历史记录最多保留最近 100 个任务。缩略图来自预览文件,预览文件保留 7 天;较早的图片会显示占位符。图片文件本身会一直保留在你的图片文件夹中。
工具参考
| 工具 | 参数(默认值) | 功能 |
|---|---|---|
generate_image | prompt(必填)、aspect_ratio、transparent_background(false)、reference_images、reference_collection、reference_files、conversation_url、auto_reattach(false)、send_as_is(false)、output_dir、wait_seconds(45)、include_preview(true) | 在你的 Project 中开始新的聊天(或继续 conversation_url),并生成或编辑图像。 |
job_status | job_id、wait_seconds(45)、include_preview(true) | 等待任务并报告状态。不提供 job_id 时:报告桥接状态(Chrome 是否已连接、所选 Project、图像文件夹、队列、最近的任务)。 |
cancel_job | job_id(必填) | 取消排队中或正在运行的任务。如果 ChatGPT 已在生成图像,则在后台标签页中点击“停止”。 |
fetch_images | conversation_url(必填)、aspect_ratio、output_dir、wait_seconds(45)、include_preview(true) | 下载现有聊天中最新回复的图像,不发送任何内容。 |
list_projects | – | 列出你的 ChatGPT Projects,并显示当前所选项。 |
select_project | name 或 url | 选择并记住用于新图像聊天的 Project(名称采用模糊匹配)。 |
list_collections | – | 列出你的参考图集合及图像数量、文件夹和文件(最新的在前)。 |
reference_images:本地 png / jpg / webp / gif 文件,最多 16 个;集合中的图像会填入剩余位置。reference_files:list_collections返回的文件名,仅附加reference_collection中指定的图像。conversation_url:https://chatgpt.com/聊天链接。适合快速跟进;若要精确编辑,使用包含reference_images的新聊天效果更好。auto_reattach:如果 ChatGPT 表示看不到图像并要求重新发送,则自动附加图像并再询问一次。send_as_is:逐字发送提示词,不附加 Backdraw 添加的简短指令(例如,回答 ChatGPT 提出的问题)。output_dir:也将结果复制到此文件夹;图像文件夹始终会保留一份副本。wait_seconds:0 到 900。
结果可能显示:
| 结果 | 含义 |
|---|---|
SUCCESS | 已保存的文件路径、聊天链接和预览。编辑会额外添加一行 编辑检查。 |
STILL RUNNING / QUEUED | 尚未完成;Claude 会继续使用任务 ID 调用 job_status。 |
NEEDS USER ACTION | ChatGPT 显示登录或人工验证页面(请参阅故障排除)。 |
NEEDS REFERENCE IMAGE | ChatGPT 无法访问要编辑的图像。结果会列出该聊天中已保存的图像。 |
CHATGPT REPLIED WITHOUT AN IMAGE | ChatGPT 以文本作答(提问、拒绝或提示限制);结果中会包含最多 3,000 个字符的回复。 |
FAILED / CANCELLED | 显示失败原因,以及聊天链接(如果有)。 |
快速返回
生成通常需要 1-3 分钟,但 generate_image、fetch_images 和 job_status 默认会在 45 秒内返回(wait_seconds)。如果图像尚未准备好,结果会显示 STILL RUNNING 或 QUEUED(并附上队列位置)以及任务 ID;Claude 会再次调用 job_status(job_id, wait_seconds=45),直到任务完成。
通过云端连接到你的 PC 的客户端通常会在 60 秒后放弃工具调用;45 秒的默认值可确保这些调用不超过该限制。客户端询问进度时,Backdraw 会在等待期间发送进度通知。在客户端取消工具调用只会停止等待;任务会继续运行,直到 cancel_job 将其停止。
CLI
要进行设置和故障排除,请在 Backdraw 文件夹(%USERPROFILE%\.backdraw 或你安装时使用的文件夹)中运行以下命令。在任意位置运行 npx backdraw <command>,也可执行相同的命令,例如 npx backdraw status。npm run status 等同于 node cli.js status。backdraw mcp 会通过 stdio 运行 MCP 服务;MCP 客户端会启动该服务。
node cli.js status Bridge status (Chrome connected, selected project, queue)
node cli.js projects List ChatGPT projects
node cli.js select <name | link> Select the project where images are generated
node cli.js generate "<prompt>" [--ref IMAGE]... [--url CHAT_LINK] [--aspect W:H] [--transparent]
[--reattach] [--out FOLDER] [--raw] [--wait 300] [--collection NAME [--file FILE]...]
Generate an image (--ref: a reference or the image to edit, up to 16)
node cli.js collect <chat link> [--aspect W:H] [--out FOLDER]
Download the latest images of an existing chat (sends nothing)
node cli.js job <id> [--wait 60] Show a job's status
node cli.js cancel <id> Cancel a job
node cli.js collections List the reference collections
node cli.js collection <name> Show one collection and its images
node cli.js outdir <folder> Change the central images folder
node cli.js debug on|off Verbose logging (logs\host.log)
node cli.js diagnose [link] [--selector CSS] [--max N] [--worker]
Page diagnostics
node cli.js reload Reload the Chrome extension
示例:
node cli.js generate "a lighthouse at dawn, watercolor" --aspect 16:9
node cli.js generate "close only the eyes" --ref C:\path\to\portrait.png
node cli.js collect https://chatgpt.com/c/<chat id> --aspect 16:9
Doctor
npx backdraw@latest doctor checks everything, changes nothing
npx backdraw@latest doctor --fix repairs what is safe to repair, then checks again
doctor 会为每项检查打印一行结果:✓(正常)、⚠(值得检查)或 ✗(故障),并附上一行修复建议:
- Node.js 版本、安装目录,以及文件、扩展和版本是否匹配。
- 主机清单,以及每个已安装浏览器实际读取的注册表项(也包括在 Claude 桌面应用的 MSIX 沙盒内)。
- 会关闭按用户配置的本机主机(
NativeMessagingUserLevelHosts)或阻止它们(NativeMessagingBlocklist)的浏览器策略。只有管理员可以更改这些策略。 - 桥接(命名管道)、扩展及其版本、扩展上次检测到的 ChatGPT 登录状态,以及是否已选择 Project。
- 每个 MCP 客户端的 Backdraw 配置项:是否存在,以及是否指向此安装。还会说明 Claude 桌面应用是否正在运行。
--fix 会重写主机清单和注册表项,并将客户端配置项指回此安装(会创建备份;仅在 Claude 桌面应用关闭时操作)。它会说明无法修复的内容。输出可安全地粘贴到 issue 中:你的主文件夹会显示为 ~,且不会打印项目名称、提示词或聊天链接。
故障排除
| 问题 | 处理方法 |
|---|---|
| 任何问题 | 先运行 npx backdraw@latest doctor。 |
BRIDGE NOT RUNNING | Chrome 已关闭,或扩展尚未加载或已关闭。打开 Chrome(扩展会自动连接),或在 chrome://extensions 中启用 Backdraw。运行 node cli.js status 检查。 |
| Backdraw 图标上有红色 ! | 扩展无法连接本地主机。弹出窗口会显示错误和修复方法。运行 npx backdraw@latest doctor --fix(或再次运行 node install.js),然后在 chrome://extensions 中重新加载 Backdraw。 |
NEEDS USER ACTION | ChatGPT 显示了登录或人工验证(CAPTCHA)页面。在 Chrome 中打开 ChatGPT 标签页并自行完成验证;Backdraw 不会尝试绕过它。任务最多等待你 10 分钟;你完成后,任务会自动继续。10 分钟后任务会失败,并保持 ChatGPT 标签页打开。 |
⚠ EDIT CHECK (edited: false) | ChatGPT 生成了新图片,而不是编辑原图(真正的编辑会保留约 95–100% 的图像)。请在 reference_images 中提供原图并再次请求,且不要使用 conversation_url,也就是在新聊天中操作。 |
NEEDS REFERENCE IMAGE | 聊天过长,ChatGPT 忘记了图片。请通过 reference_images 附上图片(最好在新聊天中),或使用 auto_reattach。 |
FAILED — ChatGPT did not finish in time | 任务约 10 分钟后会放弃。如果结果中有聊天链接,ChatGPT 完成后,fetch_images(或 node cli.js collect <link>)会下载图片;再次传入相同的 aspect_ratio,即可按相同方式裁剪。 |
No ChatGPT project is selected yet | 在弹出窗口中选择一个 Project,或让 Claude 列出并选择你的 Projects。 |
ChatGPT did not open the project | Project 已被删除或重命名;请重新选择。 |
| 两个 Chrome 配置文件 | 每个 Windows 用户只有一个本地桥接,因此只在一个 Chrome 配置文件中加载 Backdraw。 |
如需详细日志,请运行 node cli.js debug on 并查看 %USERPROFILE%\.backdraw\logs\host.log(运行 node cli.js debug off 可再次关闭)。
如果 ChatGPT 网页界面发生变化
Backdraw 会操作 chatgpt.com 网页,因此重新设计可能会导致它无法正常工作(例如,无法再找到消息框)。
- 运行
node cli.js diagnose(或node cli.js diagnose <chat link>)。它会打印 Backdraw 所看到的页面结构摘要;--selector CSS和--max N可缩小范围,--worker会检查正在运行的任务所用的标签页。 - 选择器位于
extension/inpage.js中。 - 修复后,再次运行
node install.js:它会复制文件并重新加载正在运行的扩展。 - 请提交 issue,说明发生了哪些变化。请先从诊断输出中移除个人信息(聊天标题、项目名称、提示词)。
更新
npx backdraw@latest setup
如果是手动安装:运行 git pull(或重新下载 ZIP),然后运行 node install.js。
这两种方式都会将新文件覆盖旧文件,保留你的设置、任务历史记录和集合,重新注册所有内容,并重新加载正在运行的扩展。如果 Chrome 已关闭,它会在启动时加载新版本。
从「ChatGPT image bridge」(1.x)迁移? 设置过程(或 node install.js)会进行迁移:从 %USERPROFILE%\.claude\chatgpt-image-bridge 复制设置和任务历史记录(不会覆盖现有内容),并移除旧的原生主机和旧的 chatgpt-images MCP 条目。接着,在 chrome://extensions 中移除旧的「Claude ChatGPT Görsel Köprüsü」扩展,并改为加载 %USERPROFILE%\.backdraw\extension;扩展 ID 保持不变。确认 Backdraw 正常工作后,手动删除旧文件夹。
卸载
npx backdraw@latest uninstall --dry-run shows what would be removed, changes nothing
npx backdraw@latest uninstall
(如果是手动安装:运行 node install.js --uninstall [--dry-run]。)此操作会移除所有浏览器的原生主机注册,以及 Claude Code、Codex、Cursor、VS Code 和 Gemini CLI 中的 backdraw MCP 条目;还会在桌面应用关闭时,从其配置中移除对应条目(每个配置都会先备份),并移除 1.x 使用的名称。然后在 chrome://extensions 中移除扩展。
你的文件会保留在以下两个位置:
%USERPROFILE%\.backdraw:程序、你的设置、任务历史记录(含提示词)、预览和日志。- 图片文件夹,默认为
Pictures\Backdraw:生成的图片,以及References下的参考集合。试运行会列出实际使用的文件夹,卸载前运行node cli.js status也会列出这些文件夹。
如需彻底删除,请手动删除这些文件夹。从 1.x 迁移而来?还要删除 %USERPROFILE%\.claude\chatgpt-image-bridge。
隐私与安全
- 所有操作都在你的 PC 上运行:没有 Backdraw 服务、遥测数据或 API 密钥。
- Backdraw 不会读取 Cookie、令牌或密码,也不会自动执行登录或 CAPTCHA:这些操作由你自行完成。
- 本地桥接使用命名管道,而非网络端口;原生主机只接受 Backdraw 扩展的连接。
- 提示词、任务历史记录、预览和日志保存在
%USERPROFILE%\.backdraw(data\和logs\)中。 reference_images可以将名称以.png、.jpg、.jpeg、.webp或.gif结尾的任意本地文件附加到 ChatGPT 消息中。当 Claude 处理你不信任的内容时,请检查 Backdraw 的工具调用。
详情、威胁模型以及漏洞报告方式: SECURITY.md。
MCP 协议支持
- 2026-07-28(无状态):无需握手;每个请求都在
_meta中指定版本; 支持server/discover。 - 旧版
initialize握手: 2025-11-25、2025-06-18、2025-03-26 和 2024-11-05。 - 工具标题和注释、进度通知、
notifications/cancelled以及 JSON-RPC 批处理。对于不受支持的版本,会返回错误-32022和受支持版本列表。
免责声明与负责任使用
- 个人使用自己的账户。 Backdraw 旨在供个人在自己的 Chrome 浏览器中使用自己的 ChatGPT 账户生成图像。请勿用它共享账户、作为服务为他人生成图像,或将其用作产品的后端。
- OpenAI 的条款。 OpenAI 的使用条款规定,用户不得“自动或通过程序提取数据或输出内容”,也不得绕过速率限制或保护措施。Backdraw 会替你操作 ChatGPT 网页,因此使用它可能与这些条款冲突。请阅读条款并自行决定。
- 账户风险由你承担。 OpenAI 可能会限制、暂停或关闭其认定违反条款的账户。Backdraw 不提供任何保证(MIT 许可证),其作者不对你的账户所发生的情况负责。
- 一次处理一个任务,保持人工操作的节奏。 任务使用单一队列:在一个后台标签页中处理一个提示词,只有保存图像后才会开始下一个任务。Backdraw 不会并行打开多个对话,也不会自行重新发送提示词(
auto_reattach的单次重新询问除外),并会在每个登录页面或人工验证页面暂停,直到你自行完成操作。 - 你仍受常规限制约束。 每张图像都会计入你自己的 ChatGPT 使用限额。
- 与 OpenAI 或 Anthropic 没有关联,也未获得其认可或赞助。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。