
为绕开刺绣机订阅限制,开发者用 Rust 自建 ZigZag 编辑器
来源标题:Show HN: My $300 embroidery machine needed a subscription, so I built my own app
开发者因价值 300 美元的刺绣机被订阅限制,用 Rust 编写了视觉化刺绣编辑器 ZigZag 并开源发布。该工具支持将 SVG 转为针迹,内置 MCP 支持让 AI 代理参与设计,可导出 PES、DST、EXP、JEF、VP3 等格式,或经蓝牙直发 Brother Skitch(PP1)。目前提供 Mac 与 Windows 版本下载,无需安装 Rust。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
ZigZag 是一款用 Rust 构建的刺绣可视化编辑器,以性能为核心,内置 MCP(Model Context Protocol)支持,让 AI 代理可以与你一起创建和编辑设计。把 SVG 图稿转换成针迹,在编辑器中精细调整,然后导出 PES、DST、EXP、JEF 或 VP3,以广泛兼容各类刺绣机——也可以通过蓝牙把设计直接发送到 Brother Skitch(PP1)。
在 Illustrator 中绘制、在 ZigZag 中绘制,或者让代理来绘制。Rust 引擎和 zigzag 命令行工具在编辑器之外驱动同一套工作流。
zigzag-demo.mp4
下载 Mac 版
下载 ZigZag.dmg
适用于 Apple Silicon 和 Intel Mac,macOS 11 或更高版本。打开 DMG,然后把 ZigZag 拖进 Applications。该版本已由 Apple 签名和公证。无需安装 Rust。
下载 Windows 版 ZigZag
——即最新 release 中的 ZigZag-<version>-x86_64-windows.zip 资源。适用于 64 位 Windows 10(1709 或更高版本)和 Windows 11。解压后双击 ZigZag.exe。对于没有 Microsoft 可信签名的应用,Windows SmartScreen 会在首次运行时发出警告;点击“更多信息”→“仍要运行”。无需安装 Rust。
发布说明和校验和
· 发布一个 release
zigzag/
src/svg.rs SVG 导入(usvg):填充和描边部分、变换、文本
src/document/ 可编辑文档;设置保存回 SVG id,布局编辑保存为 SVG 变换,文字排版
src/params.rs 针迹设置 token + 面料预设
src/stitch/fill.rs tatami 填充(扫描线分段、交错行)
src/stitch/satin.rs 缎面针迹列:两条轨、自动缎面、底衬、短针迹
src/stitch/stroke.rs 平针 / 三重平针
src/boolean.rs 多边形布尔运算和偏移(i_overlay)
src/design.rs 规划器:重叠消除、帽顺序、路径规划、剪线
src/checks.rs 数字化检查(尺寸、宽度、文字排版、绣花框)
src/formats/ PES(+PEC)、DST、EXP、JEF、VP3、Skitch PEN 写入器;
PES/PEC/DST/EXP/JEF 读取器;预览;工作单
src/machine/ Skitch 蓝牙协议(+ btleplug 客户端,ble feature)
src/studio/ 编辑器(通过 glow 在 OpenGL 上运行 egui)+ MCP 服务器(gui feature)
src/mcp_bridge.rs stdio ↔ HTTP 桥,供启动命令的 MCP 客户端使用
构建
cargo build --release # CLI + MCP 桥,无系统依赖 cargo build --release --features gui,ble # + studio 编辑器和 Skitch 上传
Linux 上的 gui 需要常见的 X11/Wayland 和 OpenGL 开发库。ble 使用 vendored 的 libdbus。
类型
作用
适用于
填充(tatami)
交错行,任意角度,带底衬(边缘走线 + 行)和拉伸补偿
填充形状
缎面
两条轨之间的锯齿列,带中心/轮廓/锯齿底衬、拉伸补偿和急弯处的短针迹;平针、S 针迹或锯齿面线;列上可跨多根线(多色缎面)
描边(任意宽度);Ink/Stitch 风格的双轨路径配横档;填充形状:圆环使用内/外轮廓,条/字母/月牙在其尖端拆分(自动缎面),或边框沿轮廓走
平针
平针针迹,单重或三重(bean)
描边和轮廓
轮廓
沿轮廓向内跟随的行,或从中心向外的一条螺旋(Ink/Stitch 的圆形填充)
填充形状
毯边
E 针迹:一条线带针脚伸入形状
边缘、贴布
贴布
定位线 → 停 → 固定 → 停 → 缎面覆盖
填充形状
手动
每个路径点都是一个针点
导入的机器文件、钢笔工具
蜿蜒
一条蜿蜒穿过形状的线,绗缝风格:轻盈柔软
填充形状
波纹
沿轮廓的开放式平针行,或一条螺旋
填充形状
十字绣
X 的网格,以半十字行去程和回程缝制
填充形状
格纹
多根线的编织条纹(在面板中编辑的镜像 set,每根线有自己的色块)
填充形状
宽于 7 mm 的缎面会自动拆分(更短、交错的针迹)并使用自动间距(窄列更疏,宽列更密)。
在装有 Rust 和 Xcode 命令行工具的 Mac 上 (xcode-select --install):
packaging/macos/make-app.sh --install # 构建 ZigZag.app 并复制到 /Applications packaging/macos/make-app.sh --dmg # 同时生成 dist/ZigZag-<version>.dmg 用于分享 packaging/macos/make-app.sh --universal # 一个应用同时支持 Apple Silicon 和 Intel Mac packaging/macos/make-app.sh --release # 用于发布的 DMG:通用、已签名、已公证
--release 用你的 Developer ID 签名,并让 Apple 对应用和 DMG 进行公证,因此它能在任何 Mac 上打开而不出现警告。事先需要做一次:添加 Developer ID Application 证书(Xcode › 设置 › 账户 › 管理证书 › +),在 account.apple.com 创建应用专用密码,并把公证凭据保存到钥匙串:
xcrun notarytool store-credentials zigzag-notary --apple-id YOUR_APPLE_ID --team-id YOUR_TEAM_ID
应用打包了 studio、zigzag 命令行工具和 MCP 桥。要从任意位置使用命令行:
ln -s /Applications/ZigZag.app/Contents/MacOS/zigzag /usr/local/bin/zigzag。
对于 Claude Desktop,把 MCP 配置指向 /Applications/ZigZag.app/Contents/MacOS/zigzag-mcp。
不带 --release 时,应用只是临时签名,不公证。它在构建它的 Mac 上能正常打开。在另一台 Mac 上,macOS 首次会阻止它:打开系统设置 › 隐私与安全性,点击“仍要打开”(在 macOS 14 及更早版本上,右键点击应用并选择“打开”)。首次向 Skitch 发送时,macOS 会请求蓝牙权限。
已批准的刺绣图标位于 packaging/macos/AppIcon.png(浅色)和 packaging/macos/AppIcon-dark.png(深色)。Mac 构建会重新生成两个多分辨率 .icns 文件;运行 bash packaging/macos/make-icons.sh 可单独重新生成它们。Finder 和未打开的应用使用浅色图标。studio 运行时,其 Dock 图标跟随应用的浅色/深色主题,包括 ZIGZAG_THEME=light|dark 覆盖。
zigzag-studio [design.svg|logo.png] [--mcp-port 7878 | --no-mcp | --mcp-stdio]
布局像 Illustrator,风格像 Mac 应用:
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。