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 等等。