AB
AiBoss站
project

zigzag - 用 Rust 编写的可视化刺绣编辑器,内置 MCP 支持

ZigZag 是一款用 Rust 编写的可视化刺绣编辑器,可把 SVG 图形转成针迹,在编辑器里微调后导出 PES、DST、EXP、JEF、VP3 等格式,并内置 MCP 支持,让 AI 代理参与设计。

ZigZag 是一款用 Rust 编写的可视化刺绣编辑器,目标是把「画图」到「上机绣」之间的打版工作放进一个桌面应用里完成。据项目自述,它可以把 SVG 图形转成针迹,在编辑器里逐项微调,再导出 PES、DST、EXP、JEF、VP3 等机器格式,或通过蓝牙直接发送到 Brother Skitch(PP1)。它同时内置了 MCP(Model Context Protocol)支持,让 AI 代理可以在同一份设计上参与创建与修改。适合的人群大致有三类:想把矢量插画变成刺绣文件的设计者、需要精确控制针迹与走线的打版人员,以及希望用命令行或代理批量处理设计的开发者。

维护者与状态

项目由 simpsoka 维护,仓库创建于 2026-10-30,最后一次提交在 2026-11-15。最新正式版本为 v0.1.5,发布于 2026-11-15。截至 2026-11-15,仓库星标数为 774。从时间线看,这是一个起步不久、迭代节奏较快的项目,版本号仍处于 0.1.x 阶段。

主要能力

以下内容据项目 README 自述整理,属于维护者的描述,并非第三方评测结论。

  • SVG 导入与文档编辑:通过 usvg 导入 SVG,识别填充与描边部分、变换与文字;文档设置会写回 SVG 的 id,布局编辑以 SVG transform 的形式保存,并支持 lettering(字母排版)。
  • 多种针迹类型:README 列出了 Fill(tatami 填充,任意角度、错行、带边缘走线与行下衬、含拉伸补偿)、Satin(两轨之间的锯齿柱,支持中心/轮廓/锯齿下衬、短针、平针或 S 形或锯齿顶针、倾斜针迹、多色缎面)、Run(单次或三倍走针)、Contour(沿轮廓向内或由中心向外的螺旋)、Blanket(E 字针,用于边缘与贴布)、Appliqué(定位线→停→固定→停→缎面覆盖)、Manual(每个路径点即一个针点)、Meander(绗缝式漫游线)、Ripple、Cross-stitch(十字绣网格)、Tartan(多色织纹)等。
  • 自动处理:据 README,宽于 7 mm 的缎面会自动拆分并使用自动间距;规划器提供重叠移除(保留 0.5 mm 重叠)、盖针顺序(由中心向外、自下而上、按颜色分组且尊重图层)、走线规划(尽量把空走藏在填充内部或后续覆盖物之下,最多 50 mm 行程,仅在无计可施时剪线)。
  • 对象级缝纫控制:可为每个对象设置起点与终点、之后剪线、之后停机(用于铺泡沫或修剪贴布);文档的 Connect 条可把 N mm 以内的间隙用走针连起来,面板会统计因此省下的剪线次数。
  • 面料预设与检查:内置标准、薄棉帽、结构帽、针织等预设;检查项覆盖过窄填充、过宽或过窄缎面、小字、微小间隙、被完全覆盖的对象以及绣框适配。
  • 机器与格式:内置机器配置(绣框与文件格式,来自 profiles.json,也可自定义);提供 PES(含 PEC)、DST、EXP、JEF、VP3 以及 Skitch PEN 的写入器,PES/PEC/DST/EXP/JEF 的读取器,另有预览与 worksheet;Skitch 蓝牙协议与 btleplug 客户端通过 ble feature 提供。
  • MCP 与命令行:Rust 引擎与 zigzag 命令行工具在编辑器之外驱动同一套工作流;zigzag-mcp 提供 stdio 与 HTTP 之间的桥接,供会自行启动命令的 MCP 客户端使用。

使用入口

仓库地址:simpsoka/zigzag;项目官网:zigzag.diy。

据 README,macOS 用户可下载 DMG(面向 Apple Silicon 与 Intel,要求 macOS 11 或更新),或使用 Homebrew:

brew install --cask simpsoka/zigzag/zigzag

从 0.1.3 起还提供应用内更新器。Windows 用户下载最新 release 中的 ZigZag- -x86_64-windows.zip,解压后运行 ZigZag.exe,适用于 64 位 Windows 10(1709 及以上)与 Windows 11。Linux 用户下载 ZigZag- -x86_64-linux.tar.gz,面向 glibc 2.35 及以上(Ubuntu 22.04+、Debian 12+)、X11 或 Wayland 且具备 OpenGL 的 x86-64 桌面,解压后运行 ./zigzag-studio,包内同时包含 zigzag CLI 与 zigzag-mcp 桥接。以上安装包均无需本地安装 Rust。

从源码构建时,README 给出的命令为:

cargo build --release
cargo build --release --features gui,ble

前者构建 CLI 与 MCP 桥接,无系统依赖;后者额外包含 studio 编辑器与 Skitch 上传。Linux 构建 gui 需要常规的 X11/Wayland 与 OpenGL 开发库,ble 的 libdbus 为内置。

许可与限制

许可证为 Apache-2.0。

限制与前置条件方面,据 README:桌面编辑器依赖 OpenGL(egui 通过 glow 渲染);Linux 版对 glibc 版本、显示协议与 OpenGL 有明确要求;Windows 版首次运行会触发 SmartScreen 提示,需要手动选择继续运行;蓝牙发送到 Skitch 需要系统蓝牙权限,macOS 会在首次发送时请求授权。README 还提到,自行构建的 macOS 应用若未走 --release 流程,只是 ad hoc 签名、未经公证,在别的 Mac 上首次打开会被系统拦截,需要在「隐私与安全性」中放行。此外,项目当前版本号为 0.1.5,处于早期阶段,接口与文件格式支持范围可能随版本变化,正式用于生产前建议先在小样上验证针迹与机器兼容性。