Command Palette

Search for a command to run...

UnylyUnyly
Весь каталог

ChatGPT Web Image

БесплатноНе проверен

A local MCP/CLI tool that uses a Chrome profile with an active ChatGPT web session to submit image generation prompts and return saved images as MCP content.

GitHubEmbed

Описание

A local MCP/CLI tool that uses a Chrome profile with an active ChatGPT web session to submit image generation prompts and return saved images as MCP content.

README

一个独立的本地 MCP/CLI 工具:复用专用 Chrome profile 中已经登录的 ChatGPT 网页会话,通过固定 ChatGPT 项目或 https://chatgpt.com/images/ 专用输入框提交生图、改图提示词,等待网页结果,并把图片保存到本机后作为 MCP image 内容返回给调用它的 AI。它支持可复用的人物档案和画风档案,并能自动创建、配置和记住一个固定项目 URL。

它不依赖 ComfyUI,不包含 workflow、模型权重、视频链路、OpenAI API key、Gateway、隧道或公网 HTTP 服务。

[!WARNING] 这不是 OpenAI 官方 API 或官方集成。OpenAI 当前个人版 Terms of Use 明确限制自动或程序化提取 Output。本项目执行网页 UI 自动化并取回图片,可能不符合你所适用的账户条款,也可能因页面改版失效。使用者必须自行确认授权、条款和账号风险。正式生产、批量或对外服务请使用官方 Image API。

调用链

本地 AI / MCP 客户端
        |
        | stdio MCP
        v
generate_chatgpt_web_image
        |
        v
专用 Chrome profile -> 固定项目/chat surface 或 images surface -> 图片生成结果
        |
        v
本机 outputs 目录 + MCP image content

浏览器、页面操作、图片捕获、任务串行化和 MCP 协议分别位于独立模块。运行时不会导出 Cookie,也不会把 Chrome profile 打进 npm 包。

环境要求

  • Node.js 20+
  • Google Chrome
  • 有权使用的 ChatGPT 账号
  • 本地 MCP 客户端,例如 Codex、Claude Desktop 或其他支持 stdio MCP 的 AI 工具

安装

git clone https://github.com/leixyou/chatgpt-web-image-mcp.git
cd chatgpt-web-image-mcp
npm install

可选配置参考 .env.example。本项目不会自动加载 .env;请在 shell 或 MCP 客户端的 env 中设置变量。

第一次登录

npm run login

命令会打开专用 profile:

~/.chatgpt-web-image-mcp/chrome-profile

在打开的 Chrome 窗口中手动登录 ChatGPT。工具检测到输入框后会退出,登录状态保留在该专用 profile。不要把此目录复制给别人或提交到 Git。

检查状态:

node bin/chatgpt-web-image.js check

创建固定生图项目

首次登录后运行:

node bin/chatgpt-web-image.js setup-project \
  --project-name "ChatGPT Web Image MCP" \
  --character "同一名成年女性,鹅蛋脸,黑色齐肩直发,体型和五官比例保持稳定" \
  --style "电影感东方时尚摄影,克制配色,柔和方向光,真实皮肤质感"

命令会通过当前登录的 ChatGPT 页面执行以下操作:

  1. 没有固定项目时,自动创建项目;已经配置时,默认复用原项目。
  2. 写入人物与画风一致性的项目指令。
  3. 把项目 URL、项目名和默认档案保存到本机 ~/.chatgpt-web-image-mcp/settings.json
  4. 后续 chat 模式自动使用该项目 URL,不需要每次传 chatgpt_url

本地设置文件权限会收紧为仅当前用户可读写。它不包含 Cookie、token 或 Chrome profile。需要采用已有项目时:

node bin/chatgpt-web-image.js setup-project \
  --project-url "https://chatgpt.com/g/g-p-YOUR_PROJECT/project"

只有明确使用 --force-new 才会另建项目,避免 AI 重复创建项目。

选择网页入口

插件提供两个可选 surface:

surface 默认地址 适用场景
chat 固定项目 URL,未配置时为 https://chatgpt.com/ 固定人物、画风和连续修改
images https://chatgpt.com/images/ Images 2.0 专用输入框;适合独立生图和集中查看图片

默认是 chat。通过环境变量改变整个 MCP 进程的默认值:

export CHATGPT_WEB_SURFACE=images

也可以在每次 CLI/MCP 调用时传 surface 覆盖默认值。单独传入 /images URL 时会自动推断 images;同时传入两者时,surface 决定页面适配器,chatgpt_url 决定实际地址。配置固定项目后,从 images 切回 chat 也会自动回到该项目。

CLI 使用

文字生图:

node bin/chatgpt-web-image.js generate \
  --prompt "一张雨后江南石桥的电影感照片,无文字,横向构图"

直接使用 /images 专用输入框:

node bin/chatgpt-web-image.js generate \
  --surface images \
  --prompt "白底运动鞋产品摄影,柔和棚拍光,无文字"

固定项目/对话上下文:

node bin/chatgpt-web-image.js generate \
  --surface chat \
  --chatgpt-url "https://chatgpt.com/g/YOUR_PROJECT/project" \
  --prompt "沿用项目里的人物设定,生成下一张场景图"

使用默认人物和画风档案:

node bin/chatgpt-web-image.js generate \
  --prompt "人物撑伞走过雨后的江南石桥,横向构图"

为单次任务覆盖档案:

node bin/chatgpt-web-image.js generate \
  --character "同一名成年男性,短发,圆框眼镜,深灰长风衣" \
  --style "黑白木刻版画,高反差,粗线条" \
  --prompt "站在旧火车站月台"

通过 --character ""--style "" 可只关闭对应默认档案;--no-consistency 会为本次调用关闭两项。

输出位于 ~/.chatgpt-web-image-mcp/outputs/<job>/,CLI 会返回 JSON 文件信息。

图片编辑默认关闭,因为 AI 工具传入本地路径会形成文件外传面。先设置最小输入白名单:

export CHATGPT_IMAGE_ALLOWED_INPUT_DIRS="$HOME/Pictures/ai-inputs"
node bin/chatgpt-web-image.js generate \
  --prompt "保留主体,把背景改成雪山日出" \
  --source "$HOME/Pictures/ai-inputs/source.png"

仅支持真实 PNG、JPEG、WebP 文件;扩展名伪装不会通过校验。

MCP 接入

先在仓库中执行 npm installnpm run login。然后把 MCP server 配到本地 AI 客户端。

Codex CLI:

codex mcp add chatgpt-web-image -- \
  node /ABSOLUTE/PATH/chatgpt-web-image-mcp/src/mcp-server.js

通用 MCP 配置:

{
  "mcpServers": {
    "chatgpt-web-image": {
      "command": "node",
      "args": [
        "/ABSOLUTE/PATH/chatgpt-web-image-mcp/src/mcp-server.js"
      ],
      "env": {
        "CHATGPT_CHROME_USER_DATA_DIR": "/ABSOLUTE/PATH/TO/DEDICATED/chrome-profile",
        "CHATGPT_IMAGE_OUTPUT_DIR": "/ABSOLUTE/PATH/TO/outputs",
        "CHATGPT_WEB_SURFACE": "chat",
        "CHATGPT_SETTINGS_FILE": "/ABSOLUTE/PATH/TO/settings.json"
      }
    }
  }
}

也可以直接从 GitHub 启动:

{
  "mcpServers": {
    "chatgpt-web-image": {
      "command": "npx",
      "args": [
        "--yes",
        "github:leixyou/chatgpt-web-image-mcp"
      ]
    }
  }
}

首次登录仍建议在 clone 后执行 npm run login,并让 npx 配置使用同一个 CHATGPT_CHROME_USER_DATA_DIR

MCP 工具

setup_chatgpt_image_project

自动创建或更新固定项目,并保存默认一致性档案。默认复用已保存的 URL:

{
  "project_name": "ChatGPT Web Image MCP",
  "character_profile": "同一名成年女性,黑色齐肩直发,五官和体型保持稳定",
  "style_profile": "电影感东方时尚摄影,柔和方向光,克制配色"
}

可传 project_url 采用已有项目。仅在确实要创建另一个项目时设置 force_new: true

check_chatgpt_image_browser

检查专用 Chrome profile 是否能打开 ChatGPT 且已出现对应输入框。可选传入 surfacechatgpt_url,用于分别检查普通聊天、项目或 /images

generate_chatgpt_web_image

参数:

{
  "prompt": "一张白底产品摄影,柔和棚拍光,无文字",
  "surface": "chat",
  "character_profile": "同一名成年女性,黑色齐肩直发,五官和体型保持稳定",
  "style_profile": "电影感东方时尚摄影,柔和方向光,克制配色",
  "use_consistency": true,
  "source_images": [],
  "chatgpt_url": "https://chatgpt.com/g/g-p-YOUR_PROJECT/project"
}
  • prompt:必填,最多 12000 字符。
  • surface:可选,chatimages;省略时使用 CHATGPT_WEB_SURFACE
  • character_profile:可选人物身份约束;省略时使用固定项目的默认档案,空字符串只关闭人物档案。
  • style_profile:可选画风约束;省略时使用固定项目的默认档案,空字符串只关闭画风档案。
  • use_consistency:可选;设为 false 时本次调用关闭人物与画风档案。
  • source_images:可选,最多 8 个本地图片路径,必须位于输入白名单。
  • chatgpt_url:可选,只允许无凭据的 HTTPS chatgpt.com 页面;显式 URL 优先于 surface 默认地址。

工具按顺序返回:

  1. JSON 摘要,包括 job_idsurface、实际 URL、一致性档案启用状态、文件路径、尺寸、MIME 和捕获方式。
  2. 一个或多个 MCP image 内容块,AI 客户端可直接查看和继续使用。

同一个 MCP 进程中的调用会严格串行,避免多个请求同时操作一个输入框。

使用 CDP 连接现有专用 Chrome

如果你不希望 MCP 自己启动 Chrome,可以手动启动一个专用调试实例:

macOS:

open -na "Google Chrome" --args \
  --remote-debugging-port=9222 \
  --user-data-dir="$HOME/.chatgpt-web-image-mcp/chrome-profile"
export CHATGPT_CDP_URL=http://127.0.0.1:9222

Linux:

google-chrome \
  --remote-debugging-port=9222 \
  --user-data-dir="$HOME/.chatgpt-web-image-mcp/chrome-profile"
export CHATGPT_CDP_URL=http://127.0.0.1:9222

默认只允许 loopback CDP。远程 CDP 等同于远程浏览器控制,不应直接暴露到公网。

安全边界

  • 只提供本地 stdio MCP,不监听公网端口。
  • 只允许导航到 https://chatgpt.com 及其子域。
  • 不读取或输出 Cookie、Local Storage、账号 token、环境变量或 profile 内容。
  • 固定项目 URL 和人物/画风档案只写入本机设置文件,不进入 npm 包;该文件不保存浏览器凭据。
  • 不复制用户日常 Chrome profile,默认使用独立 profile。
  • 图片编辑的本地输入目录默认是空白名单。
  • 单图默认最大 20 MiB,超限时尝试可见区域截图,仍超限则失败。
  • 错误返回经过清洗,不把 Playwright stack trace 返回给 MCP 调用者。

更多说明见 SECURITY.md

测试与打包

npm run check
npm test
npm pack --dry-run

真实网页烟测会消耗 ChatGPT 账号额度且受页面状态影响,因此不会在默认测试中自动执行:

node bin/chatgpt-web-image.js check
node bin/chatgpt-web-image.js generate --prompt "生成一个简单的红色圆形图标,白色背景"
node bin/chatgpt-web-image.js generate --surface images --prompt "生成一个简单的蓝色方形图标,白色背景"

已知限制

  • ChatGPT 页面 DOM 会变化,输入框、发送按钮或图片结构改版后需要更新 selector。
  • /images 页面已有历史图库,插件会在提交前记录现有图片,只捕获提交后出现的新图片。
  • 文字档案和项目上下文能提高连续性,但网页生图不提供身份锁定保证;要求高一致性时,应在允许目录中提供同一张人物参考图,并在连续请求中复用。
  • ChatGPT Projects 的按钮和字段会随网页版本或语言变化;当前自动创建支持中文和英文界面。
  • 验证码、二次登录、地区限制、账号额度和内容安全拦截需要操作者在可见浏览器中处理。
  • 网页端不提供稳定的模型响应元数据,本工具不会声称验证了底层具体模型。
  • CDP 模式不会主动关闭操作者的 Chrome;专用 profile 模式在 CLI/MCP 正常退出时会关闭自己启动的窗口。

License

MIT。此许可证只覆盖本仓库代码,不授予 ChatGPT、OpenAI 服务或生成内容之外的任何权利。

from github.com/leixyou/chatgpt-web-image-mcp

Установка ChatGPT Web Image

У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.

▸ github.com/leixyou/chatgpt-web-image-mcp

FAQ

ChatGPT Web Image MCP бесплатный?

Да, ChatGPT Web Image MCP бесплатный — установка в пару кликов через Unyly без оплаты.

Нужен ли API-ключ для ChatGPT Web Image?

Нет, ChatGPT Web Image работает без API-ключей и переменных окружения.

ChatGPT Web Image — hosted или self-hosted?

Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.

Как установить ChatGPT Web Image в Claude Desktop, Claude Code или Cursor?

Открой ChatGPT Web Image на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.

Похожие MCP

Compare ChatGPT Web Image with

Не уверен что выбрать?

Найди свой стек за 60 секунд

Автор?

Embed-бейдж для README

Похожее

Все в категории browse