适合 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)点击复制后,将命令粘贴到你的 AI Agent 助手的对话框里直接发给它,它会替你运行;
- 2)第一次运行会自动下载组件,大约 1–2 分钟,全程不用管
- 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)点击复制后,将命令粘贴到你的 AI Agent 助手的对话框里直接发给它,它会替你运行;
- 2)第一次运行会自动下载组件,大约 1–2 分钟,全程不用管
- 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 图纸;每个色号要用多少颗、哪些色只用几颗却要买整瓶,它会一并说明。
不满意,接着改
只改你想改的地方(某个格/某块/某个色号全换),其他地方一格都不动;改完直接重画,不用从头再来;改错了还能比对出动了哪些格。
- 改单个格:说清第几行第几列,换成你要的色号(擦成空白也行);
- 改一整块:选中一块同色区域整片换色,块外的同色不牵连;
- 整色号替换:把某个色号在整张图里全部换成另一个色号;
- 两色合并:把两个相近的色指定合成一个,格数清点给你;
- 换色板 / 改尺寸:换一套色板或改图纸格数重新出,风格参数你说了算;
- 省豆压缩:嫌颜色多、买豆贵,让它压到指定色数或自动合并零星色号;
- 锁定保护:圈定不想动的区域,之后的改动一律绕开;
- 先看后落:正式改之前可要求"只算不改",看清单确认了再落盘;
- 新旧比对:改前改后两份一比,动了哪些格、每个色号增减多少,列得清清楚楚;
- 改完重画:直接按现在的格子重新出图,绝不偷偷重新生成把你改过的弄丢。
拿去拼之前
按豆板分张打印(每板一张带板号的图 + 板号对应哪块区域的索引)、列一张买豆清单(每个色号多少颗、买几瓶)、出一份「拼出来颜色差多少」的还原度报告。
使用教程:和 AI 一步步做出一张拼豆图纸
下面每一步都只需要两件事:把图片发给 AI,然后照案例里这句话(换成你自己的)说给它听。
第 1 步 · 装好(只做一次)
把上面那条命令复制发给你的 AI 助手,等它说装好了就行。不确定?再发一条 pindoupic doctor,它会体检并告诉你还差哪一步。
第 2 步 · 出第一张图纸
你做:发图片 + 说 →「把这张猫咪照片做成拼豆图纸,52 格,卡通风格」
AI 给你:① 图纸图片(每个格子上印色号,四周有行列坐标);② 每个色号要用多少颗豆;③ 省钱提示——如果某些颜色只用几颗,它会提醒你"这个色要买一整瓶",并问你要不要合并掉。
第 3 步 · 不满意?照这些话说(案例句 ↔ AI 实际会做的事)
第 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 逐条对应)
子命令
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` 同义;非布尔一律拒绝执行,不替你猜)
- 只含参数与评价,不含图片内容