New:Introducing Socket Scanning for VS Code Marketplace Extensions.Learn more →
Get Started

@javascribe/pindoupic

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@javascribe/pindoupic

pindoupic 拼豆图纸生成器 — 图片转拼豆图纸的 CLI + MCP Server。算法与色板都在包内,断网也能出图,图片不上传 / Image → bead pattern chart, CLI + MCP, works fully offline

latest
Source
npmnpm
Version
0.11.1
Version published
Weekly downloads
216
-26.28%
Maintainers
1
Weekly downloads
 
Created
Source

@javascribe/pindoupic

把任意图片转成可照着拼的拼豆图纸:带色号格子、网格、行列坐标和材料清单的 PNG,外加各色号用量统计。生成引擎与 pindoupic.com 网页版同源,跑在你自己的机器上。

快速开始

npx -y -p @javascribe/pindoupic@latest pindoupic --image ./cat.png --width 52 --type miniapp_fast --colors
# 只看用法与全部可用色板
npx -y -p @javascribe/pindoupic@latest pindoupic --help

# 52 格、圆豆预览、带用量统计
npx -y -p @javascribe/pindoupic@latest pindoupic \
  --image cat.png --width 52 --type miniapp_fast --palette MARD/291 \
  --bead-shape circle --colors --output cat_bead.png

进度与结果写在 stderr,色号统计表写在 stdout(方便脚本解析)。想把给人看的日志存下来请写 2> log.txt——只写 > log.txt 收到的是色号表。

参数说明

参数说明
-i, --image <path>输入图片路径(与 --image-url / --image-base64 三选一)
--image-url <url>输入图片 URL(只在本机下载,图片不上传)
--image-base64 <data>输入 base64 图片(带不带 data:image/...;base64, 前缀都行)
-w, --width <n>图纸宽度/格数,默认 70(=线上后台那一格,10-15 全端统一),范围 10–500(天花板由出图算法那层给出,不是本包随手设的数);高度按原图比例推导。超过 160 格(=画布长边上限 8000 ÷ 默认每格 50 像素)会自动压低每格像素——大图纸不会更清晰,而是印在格子里的色号先变糊,出图时那一行「每格像素 50→N」就是这件事的读数
-p, --palette <b/s>色板 品牌/型号,默认 MARD/291(291 色全色板);--help 会列出全部色板与色数。MCP 侧同形写法是 palette: "MARD/291"(也可用 palette_brand + palette_sub)
-t, --type <id>图片类型(只是参考:不要按图片内容选 type,默认推荐 miniapp_fast;只有用户要多版本/多种模式效果图时才推荐其他 type 并同时输出多个版本):cartoon 卡通画、watercolor 水彩画、illustration 插画、lineart 线稿、photo 照片、pixelart 像素画、logo Logo图标、miniapp_fast 极速
--simplify-colors合并零散色号(默认不开启),颜色太多想省钱时用
--simplify-threshold <f>配合上一项:合并占比低于此值的色号,默认 0.005(0.5%)。⚠ 想控制在 N 色以内用 --target-colors,细线/小面积点缀会被合并掉;加大本值时不要推荐加大 --width,更不要自行加大——宽度只在用户明确提出时才改,只能给建议
--target-colors N色号预算:把最终色数压到 ≤N(在量化上游求最优子集,每步取代价最小的一合并)。实测拐点在 15~17 色(那一档几乎无损),N 低于 8 会告警并给出建议档位。与 --simplify-threshold 同时给时预算优先,阈值那步不跑并会说出来
--lock-colors A,B配合预算:这些色号不参与合并("这颗豆我买了,别并掉")。锁住的色号数量本身占掉预算,所以 N 小于锁定数会直接报错。⚠ 与 pattern set --lock(逐格锁)是两件事
--exclude-colors A,B排除色号:直接从本次候选色板里拿掉 ⇒ 产物里该色号命中数必然为 0(量化器根本没有这个选项);排空整块色板会报错并列出可用色号,不回退内置
--merge-colors "A->B,C->D"指定合并:源色的格子 100% 变成目标色(这是它与 exclude 的本质区别——不是"落到最近邻")。传递收敛(A→B→C ⇒ 到 C)、有环报错、同一源色给两个目标报错;逐条明细(谁并到谁、影响几格、每格 ΔE2000 代价)写进网格文档与报告
--palette-file allowed.json按你手上的豆子库存出图:读一份色板 JSON(colors[] 或裸数组,每条需 code + hex 形如 #RRGGBB)。与 --palette 互斥(两个真值源不猜优先级);文件非法会点名第几条,不静默回退内置色板
--dither(none 或 floyd_steinberg 或 atkinson 或 bayer)抖动算法(默认沿用 --type 预设;8 个预设里 7 个本就是 none)。⚠ 它的价值是照片质感的控制权,不是降色数——实测打开 floyd_steinberg 色号反而变多。与预设同时给时旗标优先,读数会写明被覆盖的是哪个值
--dither-strength <0~1>抖动强度。实测极限如实说明:默认 solidRegionProtection 会把平坦区的强度归零,所以 floyd_steinberg/atkinson 在普通图上两档强度可能产物相同;要按强度可观测地变化请用 bayer
--bg-mode(none 或 white 或 dark 或 auto)背景策略(默认 none=行为一字不动):边界连通抠图——从四条边扩开,只吞与背景连通的同族格;不与边缘连通的同色描边不会被抠掉(全局阈值那类实现会连描边一起带走)。auto 按四角参照色自动归族,深底与白底给的不是同一句建议
--trim-bg配合 --bg-mode:把内容包围盒之外的背景带整条裁掉(格数与豆子都不占)。单独给会明确说"一格未裁",不会静默无事发生
(重采样无旗标)--type lineart / pixelart 自动走 nearest,其余 smooth;生效值写进网格文档的 params_used.resize_mode。⚠ 早年那个重采样旗标仍处于已撤销状态,本包不接受它(要改重采样请用 --type,见上)
-V, --version只打印包版本号,退出码 0
-q, --quiet关掉 [Pipeline] 等算法诊断日志(10-30 起默认已经静音,这条只是显式再压一遍;要打开用 -v/--verbose 或 PINDOUPIC_DEBUG=1)
--format(只有 png)交付出口只剩 PNG。pdf/svg 两档已在 10-30 一起去掉(用户逐字「去掉 pdf 导出,只导出 png 文件」+「一起去掉,只留 PNG」):给了 --format pdf 或 svg 会整次拒绝、一个文件都不写,并点名"本包只写 PNG"。不存在"把 png 写成 .pdf/.svg 扩展名"的降级——那等于交出一个扩展名与内容不符的文件
-o, --output <path>输出路径,默认 <输入>_bead.png
--shopping-list <path>另存一份采购清单 CSV(色号,名称,HEX,颗数,建议瓶数,备注):颗数合计与网格实算豆数互印,纯白那行按本次是否绘白底分型措辞
--board-tiling <n>按实体豆板切块(例 16):每板出一张带板号的图并落 boards.json(板号→行列范围,1 起含边界)。块数 == ceil(宽/n)×ceil(高/n),各板拼回与原图逐格一致
--boards-dir <dir>分板产物落在哪个目录(默认与 --emit-pattern 同目录)
(出图与重画同权)上面三件交付物在 pattern render <p.json> 上同样可用(改完格子不必重跑生成);四处共用 core/delivery.ts 这一份实现

| --bead-shape <s> | 豆子形状:square 方形/circle 圆形 | | --cell-size <px> | 每格像素大小,默认 50 | | --emit-pattern <path> | 出图时同时把逐格色号写成一份 JSON(网格文档)。写它几乎不花时间,却让你之后能读任意一格、改完再重画 | | pattern get <p.json> --cell 行,列 / --region 行1,列1,行2,列2 | 读回格子。坐标从 1 起,跟图纸四周印的行列号一致;填越界会点名报错并给出合法范围,不会偷偷裁掉 | | pattern render <p.json> -o out.png | 从网格重画,绝不重新量化。没显式指定的开关沿用文档里记录的出图设置 ⇒ 同一份文档重画两次逐字节相同 | | --mirror | 镜像翻转图纸(默认不翻转;只翻导出画面,不改颜色统计) | | --transparent-bg | 把纯白格当透明(不绘出,但仍计入材料清单;默认是绘出,与 MCP 一致)。⚠ 深色主体必读:主体偏黑时不要加它,空格子在深色查看器上会与黑色豆融为一体、整图不可辨认 | | --keep-bg | (旧写法)10-02 起白色格子绘出已是默认:生成时给不给产物相同,只会多一句点名读数。⚠ 例外:pattern render 重画一份记着「不绘出」的旧文档时它会覆盖那一项 ⇒ 产物会变,同批会说出来。要「不绘出」请用 --transparent-bg | | --no-color-codes | 不显示「色号」 | | --no-grid | 不显示「网格」 | | --no-rulers | 不显示「行列坐标」 | | --no-materials | 不显示「材料清单」 | | -c, --colors | 打印各色号用量统计 | | --offline | 本站端点(配置/用量/反馈)一条请求都不发,渲染参数改用包内默认值;图片来源是 URL 时那一次下载不在其列(会另说一句 ⚠) | | --no-telemetry | 不记录、也不补报使用量(仍会拉公开配置) |

选参数建议:杯垫/钥匙扣 32–52 格;头像/装饰画 60–100 格;大幅作品 100–200 格。type 默认推荐 miniapp_fast;像素画档 --type pixelart、黑白线稿档 --type lineart 只是参考,仅当用户明确要该风格或多版本对照效果时才用。

文字转图纸

10-30 用户裁定:文字转图纸回到本包(10-16 那批的撤下已撤回)。走的是与网页「文字转拼豆图纸」同一份引擎, 是二值直出,不经过图片量化。给 --text 就是文字流;--text 与三个图片入口同给=整次拒绝(退出码非 0,一个文件都不写)。

# 文字 -> 图纸(17 颗开关;MCP 出口是同一组名字的 snake_case 写法)
npx -y -p @javascribe/pindoupic@latest pindoupic \
  --text "平安喜乐" --font shuhei --char-height 24 --output text_bead.png

# 先看这组参数出不出得来(一个文件都不写)/只看字体清单(零请求、断网照样答)
npx -y -p @javascribe/pindoupic@latest pindoupic --text "平安" --check-text
npx -y -p @javascribe/pindoupic@latest pindoupic --list-fonts
参数说明
--text <文字>要转成图纸的文字(参数里可直接换行)。给了就进文字流,与 --image / --image-url / --image-base64 互斥
--font <key>内置九款:fus12/fus8(点阵像素风)与 shuhei/pu85/huangyou/kuaile/noto400/wenkai/seal(艺术字),默认 shuhei。seal=崇羲篆體(印章),是限定字库:可写 2727 个字(由这款字体自己的 cmap 现算),表外字逐字点名拒绝。sys(系统黑体)在本包不可用——它靠操作系统自带字体,换台机器就换一个字形
--font-file <路径>用你自己手上的字体文件(ttf/otf/woff/woff2)代替内置九款:给了它=零字体请求;解析不动会点名那份文件并整次拒绝,绝不换成内置字体顶一张。字高下限按 16 格处理(保守工程线,不是对你这款字的实测)
--list-fonts只查字体清单(key/名称/点阵还是轮廓/最低字高/篆书可写字数/本机有没有留档),不出图、一个请求都不发,断网照样答
--check-text预检:把出图那一发的判据原样全跑一遍,但一个文件都不写;退出码 0 的意思是"这组参数能出图",不是"图已经出了"
--char-height <n>字高(格/字,默认 24)。低于该字体下限会被拒绝并说出下限(点阵 8/12;数黑 16;普惠/黄油/快乐/思源 24;篆书 28;文楷 32)
--letter-gap <n> / --line-gap <n>字距/行距(格),默认各 7
--align left 或 center 或 right多行对齐,默认 center
--stroke none 或 char 或 whole 或 cloud / --stroke-width <n>描边种类(默认 cloud)/描边宽度 0–6(默认 1)
--face-color / --stroke-color / --cloud-color A,B,C字面色号(默认 H2)/描边色号(默认 R1)/云朵三色(默认 F14,E12,E6,顺序=内环/中环/外环);色号必须在本色板内,查无会点名
--bg-color <色号 或 none>整张底色,默认 none=透明底不放豆。它是整张铺底,与文字块自己的描边是两件事
--board-height <n>板高(格)。不给=按文字块自动贴合(四周各留 8 格)。不设人为格数上限:200 只是常见底板尺寸(超过只给一句建议),真拦人的是每边 1700 格那根防死机红线(实测 1700×1700 还能出图,再大一档渲染库拒收位图)
--anchor <行,列>文字块左上角锚点(例 12,18);不给=板内自动居中(与网页/iOS 同一条算式)。放不下时整块夹回板内
(被有意拒绝的一族)图片流的量化开关 --type、--dither、--simplify-colors、--simplify-threshold、--target-colors、--bg-mode、--mirror、--report、--compare 在文字流里没有意义:带着会整次拒绝并逐条点名,不是静默忽略,也不要替用户删参数后重跑

第一次用某款内置字体会从 pindoupic.com 取一次字体文件,存进 ~/.pindoupic/fonts 之后离线可用(给 --font-file 就没有这一次联网)。 带着 --offline 且本地没留档时命令会点名失败——既不偷偷发请求,也不换一款字体顶替。图片流不受影响,断网照样出图。

文字效果要更多档(10 种艺术字、59 套方块吉语、18 套印章、底色矩阵、卡通形象)请用本站免费网页功能: https://www.pindoupic.com/text-to-bead-pattern?ref=npm

给 AI Agent:MCP Server

所有宿主同一条安装命令(它自己认宿主、把配置并进那家宿主自己的文件、只增改 pindoupic 一个键、写完读回来核对,然后告诉你还差哪一下 reload):

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

配套的三条:pindoupic doctor 体检(包能跑/配置对不对/技能在不在场,三类读数分开报);pindoupic install --list-hosts 打印宿主登记表(每家配置路径、顶层键名、生效方式、取证状态);pindoupic install --undo 按备份字节级还原。要手工粘的话,它写进去的就是这一段:

{
  "mcpServers": {
    "pindoupic": {
      "command": "npx",
      "args": ["-y", "-p", "@javascribe/pindoupic@latest", "pindoupic-mcp"]
    }
  }
}

⚠ 各家顶层键名并不相同:多数是 mcpServers,VS Code/Copilot 是 servers,opencode 是 mcp(且 type 必须写 local、command 是一个数组),Zed 是 context_servers,Codex 是 TOML 的 [mcp_servers.…]。这些差异住在 cli/src/core/hostRegistry.ts 一处,由安装器消化——本文与任何交付文档都不该再按宿主给第二条命令。有官方 CLI 的宿主(Claude Code、code 的 add-mcp 子命令、Codex、Gemini、Cline、Kiro)安装器优先走 CLI,不自己拼它的配置文件。

tools/list 提供的工具名与入参以包为准(pindoupic install --list-hosts 同源打印;逐条对照见文末矩阵),当前是:generate_bead_pattern、get_pattern_grid、render_pattern、edit_pattern_grid、diff_pattern_grids、report_pattern、analyze_input、list_palettes、list_image_types、submit_feedback。

想手动确认服务能起、工具齐全,直接跑这一条(stdin 进 JSON-RPC,stdout 出结果):

npx -y -p @javascribe/pindoupic@latest pindoupic-mcp
{ "image_path": "/abs/path/cat.png", "width": 52, "palette_sub": "291", "image_type": "miniapp_fast", "mirror": false }

image_path / image_url / image_base64 三选一(与 CLI 的 --image / --image-url / --image-base64 同一份实现); cell_size 与 show_grid / show_color_codes / show_rulers / show_materials(默认 true,传 false 即关)、 以及本次调用级的 offline / no_telemetry 都是 09-29 补齐的参数。 agent(同 CLI 的 --agent)标注是哪个宿主在调用,写进匿名用量记录;不传记为 mcp-host。palette: "MARD/291" 是与 CLI 同形的一段式写法,也可继续用 palette_brand + palette_sub。

文字转图纸在本包里(10-30 用户裁定回到 npm 产物):generate_bead_pattern 的 text 一族 17 个入参重新在册(text / font / font_file / list_fonts / check_text / char_height / letter_gap / line_gap / align / stroke / stroke_width / face_color / stroke_color / cloud_color / bg_color / board_height / grid_anchor),与 CLI 的 17 颗旗标逐一对应(见上面「文字转图纸」那一节)。text 与 image_path / image_url / image_base64 互斥,同给整次拒绝、不出图也不写文件,回执点名互斥的是哪两条通道;10-16 那套「旧写法整次拒绝并转介网页版」的行为已经不存在了。图片流不受影响。

默认返回 width / height / total_beads / colors_used / color_stats / png_file(本机图纸路径)与 param_source(本次生效参数来源:server / builtin / offline), 并同时给出 structuredContent 供宿主直接解析。不再内联 base64:一张 52 格图纸的 base64 是 MB 级 (实测 1.5–2.4 MB ≈ 数十万 token),会把 agent 上下文直接打满——需要内联时显式传 include_image: true。 可指定 output_path 决定落盘位置;传了 schema 之外的键会在 warnings 里明确列出(不再静默丢弃)。 bead_shape / format / simplify_colors / simplify_threshold / transparent_bg 与 CLI 对齐(白底默认值两边同源:09-29 先对齐、10-02 两边一起翻成绘出纯白格,见下一节那条矩阵行); 09-29 补齐后 CLI 的画面可调项 MCP 也都有了:cell_size(每格像素)、show_grid / show_color_codes / show_rulers / show_materials(四个默认 true 的显示开关,传 false 即关,对应 CLI 那四个关掉显示项目的旗标), 以及本次调用级的 offline / no_telemetry(对应 --offline / --no-telemetry;MCP 是常驻进程, 所以这两个开关只作用于这一次调用,不会像 CLI 那样设成进程全局)。 反过来 CLI 也补了 --image-url / --image-base64,与 MCP 的 image_url / image_base64 同一份实现。 默认色板 MARD/291、默认宽度 70、默认方形豆、默认不套图片类型预设。 逐条对照见 skill/pindoupic-bead-pattern/references/cli-mcp-matrix.md(09-29 起两出口默认值也一致,只剩写法形态差异)。

给 AI Agent:Agent Skill 也随包发布

装法与 MCP 同一条命令(pindoupic install 顺带把技能一起装好):说明书有中英两份独立包,装哪一份由输出语言决定——10-30 起默认就是中文,所以默认落的就是下面那个中文位置;要英文那一份得带 PINDOUPIC_LANG=en(这台机器的 LANG/Intl 信号不参与这个判定)。实体只有一份,住跨宿主中立位 ~/.agents/skills/pindoupic-bead-pattern/,各宿主自己的技能目录放软链指过去;没有技能目录的宿主,则由 MCP 握手的 instructions 字段把同一本手册的精简版送达(逐句照抄 SKILL.md,门禁核对同源性)。

已撤销的旧写法不得再教:往项目的 .ai/skills/ 复制(实测静默失效、不出现在技能列表)、手抄 node_modules/... 相对路径(只走 npx 的机器上根本没有那个目录)、以及 Windows 上不存在的 cp -r。技能路径与宿主目录住在 cli/src/core/hostRegistry.ts 一处,本文不重复抄。

使用意见回传(给 agent)

每生成一张图纸,本包都会在 stderr 打出一条 FEEDBACK_REQUEST,提示 agent 征询用户后回传一条使用意见:

pindoupic feedback --rating 4 --note "色号偏多,希望默认更省豆" --agent "<宿主 agent 名>"

意见会进入网站「留言」模块并标注为 agent 提交(与人类留言在后台可区分)。payload 只含参数与评价文本,不含图片内容、不含图片路径。MCP 侧对应工具 submit_feedback。

隐私与联网

  • 你的图片只在本机处理,不上传到任何地方;文件名与路径也不会被上报。
  • 算法与色板都在包内 ⇒ 图片转图纸完全断网也能出图。 联网只做两件可选的事:
    • 启动时尝试拉一次公开配置(管理员调过的渲染参数)。拉不到就用包内默认值,绝不阻塞出图; 每次运行都会打印这批参数的生效来源(站点下发 / 包内默认),便于复现。
    • 把使用量先记在本地,下次联网时补报(只含包版本、平台、宽度/色板/色数/豆数这类参数摘要)。
  • 想彻底关掉:--offline 一条网络请求都不发;--no-telemetry 只关用量上报(仍拉配置); 或设环境变量 PINDOUPIC_OFFLINE=1 / PINDOUPIC_TELEMETRY=0。
  • 输出语言与诊断日志两个环境变量(10-30 定稿): PINDOUPIC_LANG=zh|en 直接定语言——默认就是中文,什么都不用设。这台机器的 LC_ALL/LANG/Intl 信号不再参与判定: 它们量的是机器的语言,不是用户的语言(本机实测 LANG 为空而 Intl 报 en-US,使用者全程讲中文,旧版却因此整套输出英文)。 要整套英文输出才带 PINDOUPIC_LANG=en(MCP 形态写在 spawn env 里);这条同时决定 install 装的是哪一份说明书——默认装中文那份。 PINDOUPIC_DEBUG=1 把算法逐阶段诊断日志([Pipeline] 那几十行)要回来,默认它们不打。
  • 本地会写两类文件:~/.pindoupic/install.json(匿名装机标识 uuid4)、~/.pindoupic/outbox.jsonl(待补报队列)。删除 ~/.pindoupic/ 目录即可全部清掉。

逐格编辑:读、改、比、量都在命令行里;可视化精修另有官方网页工具(免费)

本包负责「图片 → 图纸」这一步,并且把图纸交回成可读写的数据:加 --emit-pattern p.json 之后——

命令做什么
pindoupic analyze <图>出手前的诊断:背景判定(纯白底/深色底/无纯色底,并说清该不该加 --transparent-bg)、预估色数与梯度密度、构图建议、色板近邻色警告,末尾给一条可直接执行的 next_step.command
pindoupic pattern get p.json --cell 3,4 / --region 1,1,12,12读任意一格或一块(坐标 1 起,与图纸四周标尺同序)
pindoupic pattern set p.json --cell 3,4 --to B22就地改格(绝不重新量化)。选择器四选一:--cell / --region / --where A13(整色号)/ --flood 3,4(该格所在的边界连通同色块);擦成空格传 --to ""
pindoupic pattern set … --rules "A13->B22,B22->C3"整色号规则链:传递收敛(A13 最终到 C3)、两种书写顺序结果相同、有环或一源多目标直接报错
pindoupic pattern set … --lock "30,20;31,20"锁格:写进 p.json,后续任何重算都逐格不动(没有锁就没法反复试错——每次生成都会冲掉上一轮调好的地方)
pindoupic pattern set … --dry-run只算回执、一个文件都不写
pindoupic pattern diff 改前.json 改后.json逐格比对(格数不同直接拒绝比较,不按较小者截断)
pindoupic pattern render p.json -o 重画.png从网格只重画,未显式指定的开关沿用当初出图时的设置
pindoupic report p.json --image <原图> [-o 报告.json] [--check 报告.json]结果层量化报告:mean/p50/p95/max ΔE2000、palette_budget_loss(相对整块色板多付的色差)、最差区块、逐色号代价与孤立豆、长尾统计;--check 会拒绝一份配不上当前网格的旧报告
--report / --preview / --compact-preview / --compare出图时一次拿到报告、缩小预览与「源图 | 图纸」并排图(预览只用于观察,逐格数据一律走 p.json)

每次 pattern set 都回一份动作回执(stdout 一行 JSON,或 --receipt r.json):applied_cells、 skipped_locked、逐格 changes(改前→改后,超 500 格截断并标 changes_truncated)、 以及给了 --image 才算得出的 de(改前/改后 mean ΔE 与差值;没给就是 null 并说明原因,不会给你一个 0)。 目标色号必须在这份文档的色板里——写了不存在的色号会报错并列出可用色号,不会"就近换一个"。

要做可视化的逐格精修(点哪改哪、擦除杂豆、色号合并微调、多图层、空画布手拼),请访问官方网页工具,免费、无需安装:

官方工具能做什么链接
拼豆图纸编辑器逐格改色号、擦除杂豆、色号合并与微调、批量替换、镜像翻转、行列坐标查看、导出 PNG/PDFhttps://www.pindoupic.com/free-pattern-generator?ref=npm
文字转拼豆图纸输入文字直接生成图纸——本包也能做(见上面「文字转图纸」那一节,同一份引擎);网页版在此之上另有更多效果:10 种艺术字、59 套方块吉语、18 套印章、底色矩阵、卡通形象https://www.pindoupic.com/text-to-bead-pattern?ref=npm
图层编辑器多图层叠加编辑,复杂图案分块拼装https://www.pindoupic.com/bead-layer-editor?ref=npm
空画布豆板不上传图片,直接在豆板上逐格手拼创作https://www.pindoupic.com/bead-canvas?ref=npm
色号对照表MARD / COCO 色号与实物色对照、按色号查相近色https://www.pindoupic.com/seka?ref=npm
拼豆教程用量估算、熨烫技巧、新手材料清单等图文教程https://www.pindoupic.com/jiaocheng?ref=npm

限制

  • 文字转图纸属于本包(10-30 用户裁定回到 npm 产物,覆盖 10-16 那批的撤下):见上面「文字转图纸」那一节的 17 颗开关。 两条边界照实说:sys(系统黑体)在本包不可用(换台机器就换一个字形,同一串参数出不了同一张图); 图片流的量化开关在文字流里没有意义,带着是整次拒绝并逐条点名,不是静默忽略。
  • 请求包里不存在的色板会直接报错并列出可用清单,不会静默换色板;新增色板随包版本更新。

排错

现象处理
npx 下载失败 / sharp 装不上网络或镜像问题,重试或挂代理
提示取不到站点配置不影响出图,会自动改用包内默认值;想完全不联网跑就加 --offline
色板 X/Y 不在本包内按错误里列出的清单换型号,或升级本包版本
想确认参数有没有生效--cell-size 显式指定即覆盖后台下发值

许可证

AGPL-3.0-only(全文见包内 LICENSE)。你可以自由使用、修改、再分发,也可以商用—— 唯一义务是:改了代码或把它做成通过网络对外提供的服务时,必须把对应源码同样以 AGPL 提供给你的用户。

不想承担这个义务(例如要嵌进闭源产品或闭源 SaaS、要去掉图纸上的品牌 logo 做白标;底部那行引导文案 10-31 起默认不印), 请取得商业授权,见包内 COMMERCIAL-LICENSE.md;联系入口:https://www.pindoupic.com/jiaoliu?from=commercial

品牌名与官网内容不在授权范围内。

Keywords

拼豆图纸

FAQs

Package last updated on 31 Oct 2026

Related posts