跳到主要内容

PhotoCraft / 指南

PhotoCraft 快速上手:用纯 Rust 实现的 Photoshop

PhotoCraft 是一个开源、clean-room 的 Adobe Photoshop 复刻,用 Rust 从零实现。图层、蒙版、调整图层、图层样式、文字、矢量、画笔和真实的 PSD 文件,都在一个还能编译成 WebAssembly 的原生应用里。

你需要准备

  • 较新的稳定版 Rust 工具链
  • Git
  • 可选:craft-fonts,用于日文界面和文字字体
git clone https://github.com/storytold/photocraft
cd photocraft
cargo run --release -p photocraft -- image.psd   # 桌面应用
cargo test --workspace                           # 测试套件

macOS、Windows、Linux 和 FreeBSD 的发布安装包都附在每个 GitHub release 上。Linux 上可以选择 AppImage、.deb、.rpm、tarball 或 Flatpak。整个引擎也能作为 WebAssembly 在浏览器里运行。

用熟悉的工具编辑

如果你会用 Photoshop,布局就在你手预期的位置:菜单、快捷键、面板和 34 个工具,从 ⇧⌘D 到钢笔工具。

  • 调整图层让每一次编辑都保持实时。叠加色阶、曲线、自然饱和度等,加蒙版、重排序,原始像素始终不变。一共有 16 种。
  • 图层样式——投影、内阴影、外发光与内发光、斜面和浮雕、绸缎、描边,以及颜色、渐变和图案叠加——可实时作用于任意图层,包括文字。
  • 选区从选框和魔棒,到快速选择、对象选择和选择主体,全部在本机运行,无需云端。
  • 矢量是与分辨率无关的形状图层;文字可直接在画布上编辑。

保存真实的 PSD 文件

PhotoCraft 可以打开、编辑并保存分层 Photoshop 文档。重新保存后仍能还原 psd-tools 测试集 309 个文件里 307 个的渲染结果,尚未建模的数据也会被保留而不是丢弃。

它还支持在 8、16、32 位下读写 PNG、JPEG、TIFF、WebP、GIF、BMP、TGA、ICO、QOI、PNM、OpenEXR、Radiance HDR 和 AVIF,以及自有的 .pcraft 格式。

随处驱动它

每个菜单项、工具和对话框都来自同一个 500+ 命令注册表。界面、CLI、JSON 控制通道和 MCP server 调用的是同一批命令。

# 无界面:打开、编辑、保存
photocraft-cli run wave.psd \
  --cmd filter.sharpen.smartSharpen     --params '{"amount":80}' \
  --cmd layer.newAdjustmentLayer.curves --params '{"points":[[0,0],[64,48],[192,212],[255,255]]}' \
  --out wave-final.png

# 把一份动作列表应用到整个文件夹
photocraft-cli batch --actions grade.json --in ./raw --out ./graded

# 让 agent 通过 MCP 驱动它
photocraft-cli mcp

诚实的状态

PhotoCraft 处于早期 alpha。Photoshop 的功能面已覆盖不少,但它还不是日常专业工作的替代品。最大的差距在于 AI 和生成式功能、约二十个缺失工具、排版和专业工作流的深度,以及插件兼容性。请预期有粗糙之处,反馈问题时请附上系统、文档尺寸、图层数量和截图。

进阶玩法

  • 用 cargo xtask corpus --all 拉取测试语料,再用 cargo xtask test-corpus 运行测试。
  • 阅读仓库 book/ 和 docs/ 里的架构与控制协议文档。
  • 看看其他的 Crafting Apps——VectorCraft、FilmCraft、LightCraft 等等。