ExcalidrawZ:macOS/iOS 上的本地原生 Excalidraw 客户端
ExcalidrawZ: Local Native Excalidraw on macOS/iOS
ExcalidrawZ 是面向 macOS、iPadOS 和 iOS 的原生 Excalidraw 客户端,基于 SwiftUI 构建,保留 Excalidraw 画布并加入原生文件管理、iCloud 同步、文件历史与导出功能。应用内置 AI 绘图助手,可读取、创建和修改绘图,并支持提案预览后再应用到画布。它还能作为 MCP 服务器供兼容的 AI 客户端连接,提供基础与优化两种模式。
一款适用于 macOS、iPadOS 和 iOS 的原生 Excalidraw 客户端。由 SwiftUI 驱动。
Excalidraw 是一款出色的绘图工具。ExcalidrawZ 保留了熟悉的 Excalidraw 画布,并在此基础上增加了原生文件管理、iCloud 同步、历史记录、导出、AI 辅助、MCP 集成以及 Apple 平台交互细节。
下载
非 App Store 版本
- 从 Releases 下载最新的
.dmg。 - 打开
.dmg并将 ExcalidrawZ 拖入 Applications。
预览
功能
原生文件管理
ExcalidrawZ 将绘图作为真正的应用文稿进行管理,而不是零散的浏览器下载文件。
- 使用分组和自定义文件排序来整理绘图。
- 可处理 ExcalidrawZ 库文件、本地文件夹和临时外部文件。
- 直接打开并编辑
.excalidraw、.excalidraw.png和.excalidraw.svg文件。 - 通过 iCloud 在 macOS、iPadOS 和 iOS 之间同步应用管理的文件。
- 保留文件历史检查点,以便查看和恢复重要更改。
文件历史
ExcalidrawZ 会为应用管理的绘图记录检查点,因此你可以查看早期版本,并在需要时恢复重要工作。
Excalidraw 编辑,原生控件
画布保持与 Excalidraw 兼容,而周边应用则为 Apple 平台打造。
- 自定义工具栏工具顺序;数字快捷键会遵循你配置的顺序。
- 在 iPad 上使用 Apple Pencil,包括熟悉的撤销和重做手势。
- 在 iPad 和 iPhone 上使用鼠标和触控板的滚动与缩放手势。
- 导入 PDF,并将 Mermaid 图表转换为可编辑的 Excalidraw 内容。
协作
想与他人一起绘图时,可使用 Excalidraw 协作功能。
AI 绘图助手
ExcalidrawZ 包含一个专为画布工作设计的 AI 助手。
- 让 AI 读取、创建和修改绘图。
- 附加图片,让 AI 在需要时使用视觉上下文。
- 在将 AI 生成的内容应用到真实画布之前,先使用提案预览。
- 控制每个文件是否对 AI 可见。
- 可在紧凑的 iPhone 工具栏、iPad 浮动面板或 macOS 检查器中使用 AI。
MCP 服务
ExcalidrawZ 可将当前应用作为 MCP 服务器提供给兼容的 AI 客户端。
- 基础模式提供熟悉的
excalidraw-mcp绘图工作流。 - 优化模式增加了更深入的 ExcalidrawZ 集成,用于当前文件编辑、文件导航、历史记录、画布检查、导出、库工作流和数学工具。
- 通过应用托管的 HTTP 端点连接本地 MCP 客户端。
数学与图表工具
ExcalidrawZ 包含用于技术绘图和学习笔记的更丰富工具。
- 插入 LaTeX 渲染的公式。
- 渲染可配置坐标轴和样式的函数图像。
- 使用可复用的数学模板和 AI 辅助公式生成。
- 之后可从画布上编辑已插入的数学图像。
锁定文件与 AI 可见性
对于敏感绘图,ExcalidrawZ 在存储和 AI 访问两方面都增加了保护。
- 使用本地身份验证锁定文件。
- 加密锁定文件及其检查点。
- 使用恢复密钥作为备用访问方式。
- 对 AI 隐藏锁定内容;AI 可通过提案画布进行工作。
- 使用加密备份作为额外的恢复途径。
分享、导出与备份
ExcalidrawZ 支持常见的导出和分享工作流。
- 导出图像、可编辑的 Excalidraw 文件和 PDF。
- 导出
.excalidraw.png和.excalidraw.svg时保持可编辑性。 - 通过剪贴板、文件和系统分享面板进行分享。
- 归档应用管理的文件以进行备份。
支持的格式
ExcalidrawZ 可以打开、导入、编辑或导出常见的 Excalidraw 相关格式:
.excalidraw.excalidraw.png.excalidraw.svg- PDF 导入和导出
- 图像导出
联系
欢迎加入我的 Discord 服务器,分享关于 ExcalidrawZ 的建议或报告问题。
开发指南
- ExcalidrawZ 使用的 Excalidraw 核心同样是开源的。你可以在这里找到它。
签名配置
在仓库根目录下创建 Config/Overrides.xcconfig,与 Config/Project.xcconfig 放在一起:
DEVELOPMENT_TEAM = YOUR_TEAM_ID
ICLOUD_CONTAINER = iCloud.com.yourname.ExcalidrawZ
APP_GROUP_IDENTIFIER = group.com.yourname.ExcalidrawZ
请将这些示例值替换为注册到你 Apple Developer 团队的标识符。共享配置将 DEVELOPMENT_TEAM 留空;请在本地覆盖配置中设置你的团队。应用和 QuickLook 扩展必须使用相同的 App Group。所有目标(包括扩展和测试)都从 Config/Project.xcconfig 继承团队,其中包含你的本地覆盖配置。这些覆盖配置适用于所有构建配置。
运行时配置
在仓库根目录下创建 Config/Secrets.plist。项目已引用此文件,并将其包含在两个应用目标的资源中。如果该文件缺失或无效,应用的配置加载器会以 Unable to load Secrets.plist 停止。
对于本地绘图开发,此最小配置已足够:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>COLLAB_URL</key> <string>https://example.com</string> </dict> </plist>
COLLAB_URL 必须是有效的绝对 URL。示例 URL 是本地绘图工作的占位符;要测试协作,请将其替换为你部署的、启用了协作的 Excalidraw Web 客户端 URL。
可选的字符串键为 ONEDRIVE_CLIENT_ID、GOOGLE_DRIVE_MACOS_CLIENT_ID 和 GOOGLE_DRIVE_IOS_CLIENT_ID。在开发相应集成时,请配置你自己的 OAuth 客户端 ID。
Config/Overrides.xcconfig 和 Config/Secrets.plist 会被 Git 忽略,应保留在本地。
来源:Hacker News · github.com








