☰
PhotoCraft:把 500 多个操作全部开放给 AI 的免费离线修图软件
2026/11/4 11:14:53 网站建设 项目流程

PhotoCraft:把 500 多个操作全部开放给 AI 的免费离线修图软件

【免费下载链接】photocraftPhotoCraft: An open-source, photo editor written by scratch in pure Rust项目地址: https://gitcode.com/gh_mirrors/pho/photocraft

凌晨一点,我让 AI 把 43 张商品图统一压到 800 像素、换白底、转成 JPG。它没碰鼠标,十分钟以后一个文件夹整整齐齐躺在那儿。干活的软件叫 PhotoCraft——一个用纯 Rust 从零重写的开源修图程序,菜单、快捷键和面板都照着 Photoshop 的手感排。

它到底把什么做成了

结论先说:它是个能离线跑的开源 PS 平替,不装。

PhotoCraft 是原生桌面程序,没有套浏览器壳,macOS、Windows、Linux、FreeBSD 都能装,整个引擎还能编译成 WebAssembly 在浏览器里跑。团队做的是净室重写:不复用 Adobe 一行代码,只靠公开规范和实际观察到的行为来造。

底子好不好,看几个能复核的数字:

  • PSD 读写:psd-tools 测试集309个文件里,打开再另存后渲染结果与原文件一致的有307个;
  • 500 多条命令:软件里每个菜单、每个工具、每个对话框,都在同一张命令注册表里有条目;
  • 16种调整图层、68个工具、1,700 多个测试,覆盖多比特深度、PSD 往返和合成器互检。

功能面也不虚:图层、蒙版、调整图层、图层样式、文字排版、矢量形状、压感笔刷、智能对象,外加真正的 PSD/PSB 读写。

讲懂它最核心的那个机制 🤖

核心机制只有一件事:命令注册表。

PhotoCraft 把所有操作登记在一张注册表里,每条命令有 ID、有参数说明。界面只是这张注册表的调用方之一,命令行、JSON 控制通道和 MCP 服务器是另外几个调用方,走的是同一批命令。

打个比方,这更像医院取号,而不是教 AI 认按钮。大厅有五百多个窗口,但 AI 不用知道哪个窗口在哪个角落,它只要报出「32 号,调曲线,参数照这个来」,系统就把票递到对应窗口。号是命令 ID,窗口是引擎里的执行器。

官方的说法是这么一句:

Every menu item, tool and dialog runs a command from one registry of 500+ commands. The UI, the CLI, the JSON control channel and the MCP server all call the same commands, so anything you can click, a script or an AI agent can do too.

所以 AI 具体能做什么?跑一条photocraft-cli mcp子命令,支持 MCP 的 AI 客户端(比如 Claude)就能拿到一组工具:

  • command_list:查命令编号、参数、当前是否可用;
  • command_run:执行一步,带参数;
  • command_batch:按顺序执行多步,出错即停或继续可选;
  • doc_inspect:看当前文档的图层树、历史记录和选区;
  • render_preview:渲染一张有尺寸上限的预览图,让 AI 亲眼看到结果。

运行形态有两种。无头模式:AI 自己起一个后台引擎,全程没有界面,适合批量任务和服务器;桥接模式(--bridge):AI 连到你正开着的桌面窗口的控制通道,能查界面状态、截图、发送指针输入,相当于它坐在你旁边盯着屏幕操作。实现细节在 crates/automation/,配置文档见 docs/mcp.md。

权限也框死了:stdio 不监听网络端口;文件读写被限制在你启动时指定的两个根目录(--automation-read-root/--automation-write-root);桌面控制通道只绑本机回环地址,且要先验 256 位令牌。

跟着做三个真实小任务 🧪

三个任务,从一条命令做到让 AI 接管。

任务一|一条命令修一张图

输入:一个 PSD 文件。过程:我在终端敲一条命令,让它执行智能锐化。结果:输出目录里多一张 PNG,原文件原样不动。

photocraft-cli run wave.psd --cmd filter.sharpen.smartSharpen --params '{"amount":80}' --out wave.png

关键在于,这条命令和你在界面里点「滤镜 > 锐化 > 智能锐化」,走的是同一个命令。

任务二|一个文件夹批量过

输入:43 张商品图的文件夹。过程:把「缩放、白底、转 JPG」写成一个动作清单,我用 batch 子命令对整个文件夹跑一遍。结果:输出文件夹里 43 张排好序的图,命名模板支持{name}_{serial},自动编号 001、002。

photocraft-cli batch --actions grade.json --in ./raw --out ./graded

想调导出参数时,界面里的 Export As 会给你实时预览和文件体积预估,不会导出完才发现文件太大。

任务三|只说人话,让 AI 排单

一次性配置,把 CLI 登记进 AI 客户端:

claude mcp add photocraft -- photocraft-cli mcp --automation-read-root /work/imgs --automation-write-root /work/imgs

之后我只要在对话框里下指令:「打开 wave.psd,加一个曲线调整图层把中间调提亮,导出预览。」剩下的它自己排:先command_list查编号,再command_run执行,最后render_preview拿回预览图,核对渲染结果确实变了,才回一句「完成」。

它现在还缺什么 ⚠️

官方自己先把丑话说在前面:

Status:PhotoCraft is in early alpha, and we want to be straight about where it stands: much of Photoshop's feature surface exists in some form, butit is not yet a Photoshop replacement for daily professional work.

三点,按分量排:

  1. 能干活的完成度只有约 45%。官方自评:功能覆盖面约 76%,但「专业设计师能不能拿它当日常工具」这一维只有约 45%(区间 40–50%),只碰基础功能的话约 61%。字体排版深度、修图细节、专业工作流都还有明显差距。
  2. AI 生成功能和插件生态基本缺席。生成式能力官方估算仅 10%,只有传统算法替代方案;.8BF 插件不支持,插件路线只走 WebAssembly 沙箱插件、CLI 和动作录制。
  3. 性能与文件交换还不稳。25 个预算场景里只有 3 个达标;它写出的 PSD 目前还不能被 Photoshop 稳定接受,和 PS 用户互发文件要留个心眼。

谁适合现在上手,第一步做什么

适合两类人。

只想修图的你:从官方渠道下载安装包(Windows / macOS / Linux 都有),装完就能用。界面照 PS 排,快捷键在老位置,学习成本接近零,全程离线、无账号、不订阅。

想让 AI 接活的:最小可行一步是装好 CLI 后跑一行登记命令,然后就能开始用:

claude mcp add photocraft -- photocraft-cli mcp --automation-read-root <目录> --automation-write-root <目录>

一次性配置,之后就是说话。

不适合:需要立刻用它替代 Photoshop 干专业活的人(官方自己估算只有 45%),以及重度依赖生成式填充和插件生态的工作流——按官方路线图,补齐这些还要 2,300–4,100 小时的开发量。

那么问题来了:你更想让它先接手「一个文件夹的图统一规格出图」,还是「接过同事的 PSD 继续往下改」?评论区投个票。

【免费下载链接】photocraftPhotoCraft: An open-source, photo editor written by scratch in pure Rust项目地址: https://gitcode.com/gh_mirrors/pho/photocraft

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询