返回资讯中心
外部精选
软件工程
#开发者实时流

为绕开刺绣机订阅限制,开发者用 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。

Hacker News 最新simpsoka2026/11/12 · 今天30 分钟阅读

以下正文由 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 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →