适合 AI Agent 使用的拼豆图纸生成器

拼豆图纸生成专属 AI Agent Skill 和 MCP Server
直接和 AI Agent 对话生成拼豆图纸,哪里不满意改哪里
支持 WorkBuddy、Qoder、Claude Code、Codex 等AI Agent

它能干嘛

① 把图片交给 AI Agent,直接转换生成一张能照着拼的拼豆图纸——色号、格子、行列坐标、材料清单一次带齐;

② 全程在本地生成拼豆图纸,图片不上传,没有网也能出图;

③ 拼豆图纸生成后还能让 AI 接着改:换某个格子的颜色、换色板、改图纸尺寸、列买豆清单等

拼豆图纸生成器 AI Agent Skill

Skill 就像给 AI 的一本「说明书」:把下面这条命令复制给 AI Agent 助手,它自己装好,AI 就知道如何把图片生成拼豆图纸

npx -y -p @javascribe/pindoupic@latest pindoupic install

具体怎么用:

  1. 1)点击复制后,将命令粘贴到你的 AI Agent 助手的对话框里直接发给它,它会替你运行;
  2. 2)第一次运行会自动下载组件,大约 1–2 分钟,全程不用管
  3. 3)装好后,把图片发给它并说一句「生成拼豆图纸」即可。

适合哪些 AI Agent

阿里 Qoder CN · 阿里 Qoder(国际版) · 腾讯 WorkBuddy · 通义 Qwen Code · Claude Code · Claude Desktop · Cursor · VS Code / GitHub Copilot · OpenAI Codex CLI · Gemini CLI · Windsurf / Devin · opencode · Zed · Cline / Roo Code

怎么让 AI 想起用它:直接说「把这张照片做成拼豆」,或话里带拼豆、拼拼豆豆、豆板图纸、熨烫豆这类词(英文说 perler beads / hama beads 也一样)。图纸全程在你自己电脑上生成,图片不离开本机,不调用任何付费服务。

拼豆图纸生成器 MCP Server

把下面这条命令复制给 AI Agent 助手,它自己装好,装完就能用。

npx -y -p @javascribe/pindoupic@latest pindoupic install

具体怎么用:

  1. 1)点击复制后,将命令粘贴到你的 AI Agent 助手的对话框里直接发给它,它会替你运行;
  2. 2)第一次运行会自动下载组件,大约 1–2 分钟,全程不用管
  3. 3)装好后,把图片发给它并说一句「生成拼豆图纸」即可。

适合哪些 MCP 客户端

阿里 Qoder CN · 阿里 Qoder(国际版) · 腾讯 WorkBuddy · 通义 Qwen Code · Claude Code · Claude Desktop · Cursor · VS Code / GitHub Copilot · OpenAI Codex CLI · Gemini CLI · Windsurf / Devin · opencode · Zed · Cline / Roo Code

生成一张拼豆图纸的全程,AI 都能替你做什么

开工前拿不准?

先把图发给它,让它看一眼:背景好不好抠、颜色多不多、建议做多大格、哪些颜色容易混,并给出一条可直接执行的下一步。

第一次出图

把图片交给它,直接得到一张能照着拼的图纸:色号格子 + 网格 + 行列坐标 + 材料清单一次带齐,交付 PNG 图纸;每个色号要用多少颗、哪些色只用几颗却要买整瓶,它会一并说明。

不满意,接着改

只改你想改的地方(某个格/某块/某个色号全换),其他地方一格都不动;改完直接重画,不用从头再来;改错了还能比对出动了哪些格。

  • 改单个格:说清第几行第几列,换成你要的色号(擦成空白也行);
  • 改一整块:选中一块同色区域整片换色,块外的同色不牵连;
  • 整色号替换:把某个色号在整张图里全部换成另一个色号;
  • 两色合并:把两个相近的色指定合成一个,格数清点给你;
  • 换色板 / 改尺寸:换一套色板或改图纸格数重新出,风格参数你说了算;
  • 省豆压缩:嫌颜色多、买豆贵,让它压到指定色数或自动合并零星色号;
  • 锁定保护:圈定不想动的区域,之后的改动一律绕开;
  • 先看后落:正式改之前可要求"只算不改",看清单确认了再落盘;
  • 新旧比对:改前改后两份一比,动了哪些格、每个色号增减多少,列得清清楚楚;
  • 改完重画:直接按现在的格子重新出图,绝不偷偷重新生成把你改过的弄丢。

拿去拼之前

按豆板分张打印(每板一张带板号的图 + 板号对应哪块区域的索引)、列一张买豆清单(每个色号多少颗、买几瓶)、出一份「拼出来颜色差多少」的还原度报告。

与官网网页工具搭着用(免费)

拼豆图纸编辑器逐格改色号、擦除杂豆、色号合并与微调、批量替换、镜像翻转、行列坐标查看、导出 PNG/PDF
文字转拼豆图纸输入文字直接生成图纸,含字体、字高、字距行距、描边、艺术字效果与底色
图层编辑器多图层叠加编辑,复杂图案分块拼装
空画布豆板不上传图片,直接在豆板上逐格手拼创作
色号对照表MARD / COCO 色号与实物色对照、按色号查相近色
拼豆教程用量估算、熨烫技巧、新手材料清单等图文教程

使用教程:和 AI 一步步做出一张拼豆图纸

下面每一步都只需要两件事:把图片发给 AI,然后照案例里这句话(换成你自己的)说给它听。

第 1 步 · 装好(只做一次)

把上面那条命令复制发给你的 AI 助手,等它说装好了就行。不确定?再发一条 pindoupic doctor,它会体检并告诉你还差哪一步。

第 2 步 · 出第一张图纸

你做:发图片 + 说 →「把这张猫咪照片做成拼豆图纸,52 格,卡通风格」
AI 给你:① 图纸图片(每个格子上印色号,四周有行列坐标);② 每个色号要用多少颗豆;③ 省钱提示——如果某些颜色只用几颗,它会提醒你"这个色要买一整瓶",并问你要不要合并掉。

第 3 步 · 不满意?照这些话说(案例句 ↔ AI 实际会做的事)

「太模糊了,做大一点,80 格」按 80 格重新出一张,细节更多
「颜色太多太费豆,帮我压到 17 个色」自动把相近颜色合并到 17 色并告诉它怎么省的
「把那些只用几颗豆的颜色合并掉」合并零星色号,并点名合并了哪些
「改成圆豆效果看看」格子换成圆形排布重画
「第 20 行第 30 列那个格改成 B22 色」只改那一格,其他一格不动,改完给你看动了哪些格
「把所有 A13 色的格子都换成 B22」整色号一次替换(改前能先"只算不写"预览一遍)
「这一整片同色都换成 B22,块外的别动」边界连通的一整块同色替换
「只改耳朵部分,其余别动」把其余区域锁住再改,锁内的格一格不碰
「图纸左右翻一下」镜像翻转(拼立体/贴烫纸时用)
「白底怎么没了?把白色底也画出来」默认不绘纯白格(省豆);要连白底一起画就说这句
「把原图和图纸放一起对比给我看」生成一张「原图 | 图纸」并排图
「换成 COCO 色板再出一版」用另一套色板重新配色出图
「不要用荧光色」把指定色号排除在外,产物里一个都不会用
「这几个颜色必须给我留着」锁住指定色号,压缩合并时绕开它们
「这两个颜色太像了,合成一个」指定合并:源色的格子 100% 换成目标色,一格不漏
「做成像素风」/「要黑白线稿感觉」/「按照片效果来」换图片类型预设重新出(像素画 / 线稿 / 照片各有参数档)
「先帮我看看这张图适不适合做,该用多大格」本机预诊断:背景、色彩复杂度、建议格数、易混色提醒,并给一条可直接执行的下一步
「图纸上别印色号了,图面干净点」关掉色号印字(网格、坐标、材料清单也能各关各的)
「格子画大一点,我要打印出来照着拼」调大每格像素重新出图,纸面更好点
「把改前改后的两版比一比,动了哪告诉我」逐格比对两份图纸,列变更清单和每个色号的增减
「第 30 行 15 列现在是什么色?」直接读那一格回答(图纸数据在手里,不用重新生成)

第 4 步 · 准备动手拼,让它把材料备齐

「按 16×16 的豆板帮我分板,每板一张图,标好板号」→ 每板一张带板号的图纸 + 一张"板号对应哪块区域"的索引;
「列一下我要买的豆子:每个色号多少颗、买几瓶」→ 一张采购清单(色号/颜色/颗数/瓶数);
「这张图拼出来颜色能有多像原图?」→ 一份颜色还原度报告(平均差多少、哪里最差)。

第 5 步 · 存好,以后接着改

「这张图纸存成文件 cat.json,下次我接着改」→ 下次直接说「打开 cat.json,把背景色擦掉,重新画一张」——改哪都行,不重新生成、不会把上次改的弄丢。

使用中常见问题

安装时

命令发给 AI 后没反应 / 说下载失败怎么办?

需要 Node.js 20 以上;首次运行会自动下载组件(约 100MB、1–2 分钟),网络慢会久一些,重试或挂代理即可,不要降级自造算法。让 AI 再跑一次 pindoupic doctor,它会逐项体检并指出卡在哪一步。

装好了,为什么 AI 还是不会做图纸?

让配置重新加载一次:各家方式不同,pindoupic doctor 会直接说出你这家该做哪一步(通常是重启应用或重开会话)。腾讯 WorkBuddy 首次还需点一次「信任」;之后只要改了配置,就要再信任一次。

MCP Server、CLI、Agent Skill 这三种方式有什么区别?

三者用的是同一个 npm 包 @javascribe/pindoupic,一条命令装完两样都有,对小白不用挑。技术读者关心的差异: · 同一张图、同一组参数,两个出口画出的图纸逐字节相同(09-29 实测 MD5 一致;路径 / URL / base64 三入口也是同一份 MD5——解析只有一份实现) · 白底默认一致:两边默认都不绘纯白格;要连白底一起画,CLI 传 --keep-bg,MCP 传 transparent_bg: false · 只剩写法差异:CLI 用否定旗标(--no-grid),MCP 用正向布尔(show_grid: false);色板两边都吃一段式 MARD/291(MCP 另留两段式) · 能力面 09-29 已全部补齐:每格像素、四个显示开关、URL/base64 入口、离线与关用量、宿主归因 agent_name、参数来源 param_source 两边都有 · 逐条对照见包内 references/cli-mcp-matrix.md

接入 MCP Server 需要装什么、配什么?

不需要预装:把这条命令发给 AI 助手(或粘贴到终端执行)即可,npx 会在首次调用时自动下载本包并启动 MCP Server: npx -y -p @javascribe/pindoupic@latest pindoupic install 也可以手工把这段配置交给支持 MCP 的客户端: { "mcpServers": { "pindoupic": { "command": "npx", "args": [ "-y", "-p", "@javascribe/pindoupic@latest", "pindoupic-mcp" ] } } }

MCP 的 generate_bead_pattern 怎么传参、返回什么?

图片输入三选一:image_path(本机路径)/ image_url / image_base64。调用示例: { "image_path": "/abs/path/cat.png", "width": 52, "palette_sub": "291", "image_type": "cartoon", "mirror": false } 返回与要点: · 常用项:width(默认 80)、palette、image_type、mirror、bead_shape、format、output_path、cell_size · 显示开关 show_grid / show_color_codes / show_rulers / show_materials 默认 true,传 false 关掉对应项 · 联网开关 offline / no_telemetry 是本次调用级,只影响这一次 · 返回 width / height / total_beads / colors_used / color_stats、png_file(本机落盘路径)与 param_source(这批参数来自站点下发 server、包内默认 builtin 还是 offline——排查「同一版本同一张图为什么结果变了」先看它) · png_data_url 只在你显式传 include_image: true 时才给(默认不给,避免一次生成灌进上下文几十万字) · 返回里若有 advisories(字符串数组),那是这张图的采购代价读数(零星色号要买整包、白豆只统计不绘出),必须原样转达用户,它不是错误 · 离线或关了用量的那次调用不再返回 feedback_request(那是一段要求外发的指令)

出第一张图时

图纸太糊 / 格子上的字太小?

格数选小了。直接说「做大一点,80 格」重出。选多大参考:杯垫/钥匙扣 32–52 格;头像/装饰画 60–100 格;大幅作品 100–200 格。想要像素风、黑白线稿或照片效果,直接说模式名即可(像素画 / 线稿 / 照片各有参数档)。

颜色太多、买豆太贵怎么办?

说「帮我压到 17 个色」或「把零星的颜色合并掉」。AI 会把相近颜色合并,并告诉你哪些颜色只剩几颗、要不要留。注意细线和小面积点缀(描边、高光、腮红)在高压下会被并掉——压完看一眼图纸,不满意就「把这几个颜色留着」。

白色背景怎么不见了?

默认不绘纯白格(省一整包白豆),两种接入方式这个默认一致。要连白底一起画,说「白色底也画出来」(技术写法:CLI 加 --keep-bg,MCP 传 transparent_bg: false)。

没网能用吗?我的图片会被上传吗?

能。算法和色板都在包里,断网出图与联网出图是同一张图纸。 · 图片只在你本机处理,不上传到任何地方;文件名与路径也不会被上报 · 联网只做两件可选的事:拉一次公开配置(拉不到自动用包内默认值);把使用量下次补报(只含参数摘要) · 想一条请求都不发:说「这次什么都别往外发」或加 --offline;不想参与用量统计:加 --no-telemetry

能直接用文字生成拼豆图纸吗?

本工具只接受图片输入。输入文字做图纸请用拼豆Pic 官网免费功能「文字转拼豆图纸」,含字体、字高、字距行距、描边、艺术字效果与底色选择,免注册、不限次数。

改图时

只想改一小块,会不会把整张重新生成、改掉我别的地方?

不会。照第⑤节的案例说「第 20 行第 30 列改成 B22」「只改耳朵部分,其余别动」,AI 逐格改完还给你一份"动了哪些格"的回执;改之前可以先要求「只算不改」预览一遍,确认了再落盘。

图纸存下来下次还能改吗?

能。出图时让它把图纸另存为网格文档(一个 JSON 文件),下次直接说「打开 cat.json,把背景色擦掉,重新画一张」——改哪都行,重画按现在的格子落地,不会偷偷重新生成把你上次改的弄丢。

拿去拼时

图太大,一块豆板拼不下?

说「按 16×16 的豆板帮我分板,每板一张图,标好板号」。会得到每板一张带板号的图纸,外加一张"板号对应哪块区域"的索引;各板拼回原图逐格一致。

要买多少豆、每个色几瓶?拼完怎么熨?

说「列一下我要买的豆子:每个色号多少颗、买几瓶」,得到一张采购清单: · 每行一个色号:颜色、颗数、建议瓶数、备注 · 白豆那行会按"绘不绘出"给不同备注,避免多买一整包 · 熨烫技巧与新手材料见官网图文教程:/jiaocheng

其他

提示色板不存在怎么办?

错误信息里已经列出该版本支持的色板清单,按清单换一个型号即可;需要新色板就升级本包版本。本包不会静默改用别的色板——换色板这件事必须由你明确指定。当前有哪些色板,离线也能问(list_palettes)。

想自己动手逐格精修(不用 AI)?

把生成的 PNG 当起点,到官网免费的拼豆图纸编辑器里逐格改色号、擦除杂豆、合并色号,改完直接导出带色号与坐标的 PNG/PDF 和材料清单,无需安装。

用得不顺去哪说?

两种方式: · 直接对你的 AI 说「把这次的意见回传给拼豆Pic:XXXX」——只含参数与评价,不含图片;仅在你主动表达意见且同意后才发送,每台设备每天限 2 条,请勿重复重试 · 到官网留言页告诉我们:/jiaoliu?from=agent-tools

参考资料(技术读者区)

给会看参数的人:全部命令行参数、子命令与 MCP 工具入参的完整清单。小白可跳过,不影响上面任何一步。

命令行参数速查(全量,与 npm 包 --help 逐条对应)

-i, --image <path>
中文输入图片路径(与 --image-url / --image-base64 三选一)
ENinput image path (one of three sources)
--image-url <url>
中文输入图片 URL(只在使用者本机下载,图片不上传)
ENinput image URL (downloaded on your machine; the image is never uploaded)
--image-base64 <data>
中文输入 base64 图片(带不带 data:image/...;base64, 前缀都行)
ENbase64 image data (the data:image/...;base64, prefix is optional)
-w, --width <n>
中文图纸宽度/格数,默认 80,范围 10–200(>160 格自动压低每格像素以适配画布);高度按原图比例推导
ENpattern width in beads, default 80, range 10–200 (cell size auto-shrinks above ~160); height follows the source aspect ratio
-p, --palette <b/s>
中文色板 品牌/型号,默认 MARD/291;--help 会列出全部色板与色数
ENpalette brand/sub, default MARD/291; --help lists every palette with its color count
--palette-file <path>
中文用自己的豆子库存出图:读一份色板 JSON(每条需 code + hex);与 --palette 互斥,文件非法点名第几条
ENcustom palette file from your own bead stock (mutually exclusive with --palette)
-t, --type <id>
中文图片类型:cartoon 卡通画、watercolor 水彩画、illustration 插画、lineart 线稿、photo 照片、pixelart 像素画、logo Logo图标、miniapp_fast 极速
ENpreset: cartoon, watercolor, illustration, lineart, photo, pixelart, logo, miniapp_fast
--simplify-colors
中文合并稀有色号,颜色太多想省钱时用(默认不开启)
ENmerge rare colors into neighbours (saves beads; off by default)
--simplify-threshold <f>
中文配合合并:合并占比低于此值的色号(默认 0.005 = 0.5%);想控制在 N 色以内优先加大 --width
ENmerge colors whose share is below this value (default 0.005)
--target-colors <n>
中文色号预算:把最终色数压到 ≤n;与阈值同时给时预算优先
ENcompress the final color count to at most n
--lock-colors <codes>
中文配合预算:这些色号不参与合并("这颗豆我买了,别并掉")
ENcolors excluded from budget merging
--exclude-colors <codes>
中文排除色号:直接从本次候选色板里拿掉,产物里该色号命中必然为 0
ENexclude colors entirely (zero hits guaranteed)
--merge-colors <rules>
中文指定合并 "A13->B22":源色的格子 100% 变成目标色(不是落到最近邻)
ENexplicit merges: every source cell becomes the target color
--bg-mode <mode>
中文背景策略 none|white|dark|auto:边界连通抠图,不与边缘连通的同色描边不会被误抠
ENbackground removal by edge connectivity
--trim-bg
中文配合背景策略:把内容之外的背景带整条裁掉
ENtrim the background band after removal
--dither <algo>
中文抖动 none|floyd_steinberg|atkinson|bayer(默认沿用 --type 预设);价值是照片质感控制权,不降色数
ENdithering (default follows the type preset)
--dither-strength <f>
中文抖动强度 0~1;与 --dither 或 --type 同时给时旗标优先
ENdither strength 0–1 (flag overrides preset)
--format <png|pdf|svg>
中文输出格式,默认 png;svg 与位图走同一份中间产物,不是另画一套
ENoutput format, default png (svg shares the same intermediate)
-o, --output <path>
中文输出路径,默认在输入名后加 _bead;用 --image-url / --image-base64 时默认 pattern_bead.png
ENoutput path, default <input>_bead.png (base64 input falls back to pattern_bead.png)
--shopping-list <path>
中文另存采购清单 CSV(色号/名称/HEX/颗数/瓶数/备注),颗数合计与网格实算豆数互印
ENshopping list CSV (codes, counts, bottles, notes)
--board-tiling <n>
中文按实体豆板格数切块(例 16):每板一张带板号的图 + boards.json 板号索引,拼回逐格无损
ENsplit into per-board charts with board numbers (lossless)
--boards-dir <dir>
中文分板产物目录(默认与输出图同目录)
ENdirectory for board artifacts
--bead-shape <s>
中文豆子形状:square 方形/circle 圆形
ENsquare (default) or circle
--cell-size <px>
中文每格像素大小,默认 50
ENcell size in px, default 50
--emit-pattern <path>
中文出图时同时写一份可编辑的网格文档 JSON(逐格色号 + 出图设置);坐标 1 起,与图纸标尺同序
ENwrite an editable pattern JSON next to the chart
--report <path>
中文出图时同时写一份量化报告(ΔE 分布/色板预算损失/最差区块)
ENwrite a metric report at generate time
--preview <path>
中文另存一张缩小预览(长边默认 800,配 --compact-preview 调)——只用于观察
ENsmall preview image (observation only)
--compact-preview <px>
中文预览长边上限(默认 800)
ENmax side of the preview
--compare <path>
中文另存一张「源图 | 图纸」并排图
ENside-by-side source vs chart sheet
--receipt <path>
中文把改格动作的回执另存一份 JSON
ENsave the edit receipt as JSON
--mirror
中文镜像翻转图纸(默认不翻转;只翻导出画面,不改颜色统计)
ENmirror the chart horizontally (off by default; chart data unchanged)
--keep-bg
中文保留白色背景(默认把纯白格当透明)
ENkeep the white background instead of transparent cells
--no-color-codes
中文不显示「色号」
ENhide color codes
--no-grid
中文不显示「网格」
ENhide grid lines
--no-rulers
中文不显示「行列坐标」
ENhide row/column rulers
--no-materials
中文不显示「材料清单」
ENhide materials list
-c, --colors
中文打印各色号用量统计
ENprint per-color bead counts
--offline
中文本站的配置/用量/反馈三条通道一条请求都不发(渲染参数改用包内默认值)
ENno requests to our own endpoints (config / usage / feedback); rendering parameters fall back to built-in defaults
--no-telemetry
中文不记录、也不补报使用量(仍会拉公开配置)
ENdon't record or send anonymous usage counts (public config is still fetched)
--agent <name>
中文标注这次由哪个宿主 agent 调用(只进匿名用量统计,不含你的内容)
ENtag the host agent (anonymous usage counts only)
-v, --verbose
中文详细输出
ENverbose output
-q, --quiet
中文关掉算法诊断日志
ENsilence pipeline diagnostics
-V, --version
中文只打印包版本号
ENprint package version and exit
-h, --help
中文帮助(列出全部参数与可用色板)
ENshow help with all flags and palettes

子命令

pindoupic analyze <图> [--width n] [--palette b/s]
出图之前的输入诊断:背景判定/色彩复杂度/构图建议/易混色警告,并给一条可直接执行的下一步命令
pindoupic pattern get p.json --cell 行,列 | --region r1,c1,r2,c2
读一格或一块的色号(坐标 1 起,与图纸标尺同序)
pindoupic pattern set p.json (--cell|--region|--where|--flood) --to B22 [--lock ...] [--dry-run]
就地改格,绝不重新量化;回动作回执(动了哪些格、ΔE 代价、锁内跳过几格);--dry-run 只算不写
pindoupic pattern set p.json --rules "A13->B22,B22->C3"
整色号规则链:传递收敛、书写顺序无关、有环报错
pindoupic pattern diff a.json b.json
逐格比对两份图纸(格数不同直接拒绝比较)
pindoupic pattern render p.json -o out.png [--bead-shape …] [--format png|pdf|svg]
从网格文档重画,绝不重新量化;分板/清单/SVG 与出图那次同源
pindoupic report p.json --image 原图 [--check 旧报告]
结果层量化报告:mean/p50/p95/max ΔE2000、预算损失、最差区块、孤立豆与长尾
pindoupic install
一条命令完成接入:认出当前宿主,把 MCP 配置与 Agent Skill 各就各位,并说出还差哪一步
pindoupic doctor
体检:包能跑 / 配置写对了 / 说明书到位,三类读数分开报
pindoupic feedback --rating 1-5 --note "一句话意见"
把意见回传给我们(进入官网留言并标注 agent 提交;只含参数与评价,不含图片)

MCP 工具与入参全表(共 10 个工具,个数从清单现算)

  • generate_bead_pattern·图片 → 拼豆图纸(默认回本机文件路径 + 各色号用量统计;base64 需显式索取)
    三选一:image_path / image_url / image_base64
    • 可选 width(10–200,默认 80)
    • palette_brand
    • palette_sub(默认 291)
    • palette(一段式别名,与 CLI 的 --palette 同形,例 MARD/291)
    • image_type
    • mirror
    • simplify_colors(默认不开启)
    • simplify_threshold(合并占比低于此值的色号,默认 0.005)
    • bead_shape(square / circle)
    • format(png / pdf)
    • output_path(指定落盘路径)
    • include_image(为 true 才内联 base64)
    • transparent_bg(默认 true=纯白格不绘出,与 CLI 一致;传 false 连白底一起画,等价 CLI 的 --keep-bg)
    • cell_size(每格像素,默认 50)
    • show_grid / show_color_codes / show_rulers / show_materials(四个默认 true 的显示开关,传 false 关掉对应那一项)
    • offline / no_telemetry(本次调用级的联网开关,只影响这一次)
    • agent(标注宿主 agent 名,写进匿名用量记录)
    • export_grid_path(另存一份逐格网格 JSON,随后可用 get_pattern_grid 读回、render_pattern 重画;不传=不写)
    • export_report_path(另存一份量化报告 JSON:mean/p50/p95/max ΔE2000、色板预算损失、最差区块、长尾统计;不传=不写)
    • preview_path + preview_max_side(另存一张长边不超过 preview_max_side 的缩小预览,默认 800,只用于观察)
    • compare_path(另存一张「源图 | 图纸」并排图)
    • shopping_list_path(另存采购清单 CSV:色号/名称/HEX/颗数/建议瓶数/备注,颗数合计与网格实算豆数互印)
    • board_tiling(按实体豆板格数切块,例 16:每板一张带板号的图 + boards.json 板号→行列范围,块数 == ceil(宽/n)×ceil(高/n) 且拼回逐格无损)
    • boards_dir(分板产物目录,不传=与 output_path 同目录)
    • target_colors(色号预算:把最终色数压到 ≤N,量化上游贪心求最优子集;与 simplify_threshold 同时给时预算优先并出读数)
    • lock_colors(配合预算:这些色号不参与合并,逗号分隔)
    • exclude_colors(排除色号,逗号分隔:产物里该色号命中必然为 0)
    • merge_colors(指定合并 "A13->B22":源色的格子 100% 变目标色,不是落到最近邻)
    • dither(none / floyd_steinberg / atkinson / bayer,默认沿用 image_type 预设;旗标与预设同时给时旗标优先)
    • dither_strength(0~1;默认 solidRegionProtection 会把平坦区强度归零,可观测变化以 bayer 为准)
    • bg_mode(none / white / dark / auto:边界连通抠图,与边缘不连通的同色描边不会被抠掉)
    • trim_bg(配合 bg_mode 把背景带整条裁掉,canvas 随之收缩)
    • palette_file(用自己的豆子库存色板文件;与 palette / palette_brand 互斥)
  • get_pattern_grid·读回一份网格文档的逐格色号(配合 generate_bead_pattern 的 export_grid_path);坐标 1 起,与图纸四周标尺同序
    pattern_path(网格文档路径)
    • cell("行,列" 读单格)或 region("行1,列1,行2,列2" 读一块),二选一
    • 越界直接点名报错,不裁剪不取模
  • render_pattern·从网格文档重画图纸,绝不重新量化——改过的格子按原样落地,统计由网格实算
    pattern_path(网格文档路径)
    • output_path(落盘路径,不传写本机临时目录)
    • preview_path + preview_max_side(另存缩小预览)
    • compare_path + compare_source_path(另存「源图 | 图纸」并排图,两张都要给)
    • bead_shape / cell_size / mirror(可选覆盖,不传=沿用文档里记录的出图设置)
    • format(png / pdf / svg)
    • shopping_list_path(另存采购清单 CSV)
    • board_tiling + boards_dir(按豆板切块:每板一张带板号的图 + boards.json)
  • edit_pattern_grid·改格:就地改网格(绝不重新量化),并回一份动作回执(动了哪些格、改前改后色号、ΔE 代价、锁内跳过几格)
    pattern_path(网格文档)
    • 选择器四选一:cell("行,列")/ region("行1,列1,行2,列2")/ where(整色号,如 "A13")/ flood(该格的边界连通同色块)
    • to(目标色号,擦成空格传 "")
    • rules(整色号规则链 "A13->B22,B22->C3",与选择器和 to 互斥)
    • lock / unlock(锁格清单 "30,20;31,20")
    • dry_run(只算不写)
    • output_path(另存;不传=就地写回)
    • image_path(给了才算本次动作的 ΔE 代价)
  • diff_pattern_grids·逐格比对两份网格文档:变更清单 + 逐色号增减;格数不同直接拒绝比较
    pattern_path(改前)
    • other_pattern_path(改后)
    • 两份必须同格数,否则拒绝而不是按较小者截断
  • report_pattern·对一份网格文档出结果层量化报告(ΔE 分布、色板预算损失、最差区块、逐色号代价与孤立豆、长尾统计)
    pattern_path(网格文档)
    • image_path(生成它的那张源图,必填:没有源图就算不出 ΔE,也不会拿网格自己当参照)
    • output_path(可选,另存报告)
  • analyze_input·出图前的输入诊断:背景判定 / 色彩复杂度 / 构图建议 / 色板混淆警告,并给一条可直接执行的下一步命令
    图片来源三选一(image_path / image_url / image_base64)
    • width(按哪个格数诊断,默认 80)
    • palette("品牌/型号",用于色板混淆警告,默认 MARD/291)
  • list_palettes·列出本包内置的所有拼豆色板(品牌 + 型号 + 色数),无需联网
    入参:无参数
  • list_image_types·列出所有图片类型预设及其说明(随包内联),无需联网
    入参:无参数
  • submit_feedback·把这次生成的使用意见回传给我们(会进入官网留言模块并标注为 agent 提交)
    rating(1–5)
    • note(一句话意见)
    • agent_name(宿主 Agent 名,缺省记为 pindoupic-mcp;别名 agent 同样生效,两个都给以 agent_name 为准)
    • agent(agent_name 的别名,与 CLI 的 --agent 同形,只传它也生效)
    • offline(true=本次不发,与 CLI 的 `feedback --offline` 同义;非布尔一律拒绝执行,不替你猜)
    • 只含参数与评价,不含图片内容