mcpField
P
photocraft

photocraft

github.com/mroxso创意与媒体357 次安装2 周前更新
代码仓库

关于 photocraft

PhotoCraft 技能通过结构化自动化接口操作 PhotoCraft,供需要编辑打开文档或无人值守处理文件的工作流使用。它涵盖桌面桥接与无头会话,并强调检查编辑状态、验证结果和遵守文件访问范围。

主要功能

  1. 01通过命令或界面执行编辑
  2. 02支持桌面桥接与无头会话
  3. 03检查文档、图层和待处理对话框
  4. 04管理异步任务与批处理
  5. 05按读写根目录限制文件访问
  6. 06渲染预览并验证编辑结果

适用场景

  1. 01编辑 PhotoCraft 中已打开的文档
  2. 02无界面处理输入文件并导出结果
  3. 03执行批量编辑并检查各步骤结果
  4. 04验证保存后的文档或预览

MCP 相关

可通过现有 PhotoCraft MCP 桥接操作桌面会话,也可使用无头 MCP 处理文件。技能说明了可用的文档、命令、任务和导出工具,并要求先发现工具及会话。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mroxso/artcraft-skills --skill photocraft

安装后在 Claude Code 中输入/photocraft确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

agents/
openai.yaml
references/
control-protocol.md
LICENSE-MIT

详细介绍

PhotoCraft

通过 PhotoCraft 的结构化自动化接口进行操作。保留用户要求的编辑工作流和目标文档。

协议参考

构造调用前,请阅读 references/control-protocol.md 中的相关章节。这是下载的上游协议,存档于 2026-10-08。

来源:PhotoCraft 控制协议。

有用的章节:Methods、Engine commands、Background jobs、MCP bridge、Headless server、Transport limits、Preferences、Snapping 和 Camera Raw dialog。下载文档中的相对链接指向上游文档;需要时,请根据 https://github.com/storytold/photocraft/blob/main/docs/ 解析。如果已安装版本的行为有所不同,请检查已安装的命令注册表并查阅源代码,不要臆造参数。

选择会话

  • 对于用户已打开的文档或可见的应用程序,请使用现有的 PhotoCraft MCP 桥接或已通过身份验证的桌面控制会话。无头会话拥有独立文档,无法编辑用户当前窗口中的内容。
  • 对于无人值守的文件处理,请使用无头 MCP(photocraft-cli mcp)或持久化 JSON 行服务器(photocraft-cli serve)。
  • 首先查找可用的 PhotoCraft 工具和已安装的可执行文件。如果缺少所需连接或可执行文件,请说明具体的前置条件;创建此技能不会安装 PhotoCraft 或注册 MCP 服务。

启动所需桌面会话时,请根据实际可执行文件、可用端口、私有令牌文件和任务目录调整此示例:

photocraft --control 7878 --control-token-file /private/path/photocraft-control.token \
  --automation-read-root /work/input --automation-write-root /work/output

通过以下方式桥接该会话:

photocraft-cli mcp --bridge 127.0.0.1:7878 \
  --control-token-file /private/path/photocraft-control.token

尽可能复用正在运行的会话。将 TCP 限制在回环接口上,并将凭据保存在私有令牌文件中;不要在命令参数中打印、提交或暴露令牌。原始 TCP 连接必须先在每个连接上发送 auth 请求,然后每行发送一个带唯一 id 的 JSON 对象;根据 ID 匹配回复,并检查 ok。Stdio serve 无需 TCP 身份验证握手。

检查、编辑和验证

编辑前,请检查活动文档、所选图层、选区、通道/蒙版目标以及待处理的对话框。通过 engine.commands 或 MCP command_list 查找命令 ID、参数文档和启用状态;使用 ui.menu.list 查看菜单树。

使用 engine.execute {command, params} 或 MCP command_run {id, params} 执行明确的编辑操作。命令参数必须是对象,也可以省略或设为 null。直接执行时会使用默认值,且不会打开对话框。若需要与对话框交互,请使用 ui.menu.invoke,然后检查并更改其字段,再确认。

对于 UI 手势,ui.pointer 使用文档坐标,而非屏幕坐标。请先检查活动工具和吸附选项。ui.type 会将输入发送到获得焦点的控件或当前活动的文字编辑会话。在文字、形状、智能对象或填充图层上执行像素手势可能会打开栅格化提示;仅当栅格化符合预期编辑时才确认。

如果符合用户要求的结果,请优先使用可编辑图层、调整图层和蒙版。检查处理后的文档,并渲染预览或截取屏幕截图,以核验视觉效果。报告成功保存的内容以及重要的导入/导出警告。

文件访问与输出

读取和写入根目录是启动时分别授予的能力。请使用任务范围内的根目录及其下的正斜杠相对路径;输出父目录必须已存在。不要通过切换到环境文件系统命令来绕过被拒绝的路径。

  • 桌面控制:app.open / app.save。
  • MCP:doc_open / doc_save / doc_export(桥接器会将这些映射到桌面方法)。
  • 无头 JSON-lines:doc.open / doc.save / doc.render。

自动化会拒绝 file.open、file.save、file.saveAs、file.saveACopy 及其他使用环境路径的命令。适当时,将原生可编辑输出保存为 .pcraft;导出时使用请求的扩展名。不指定路径进行保存时,只会写回现有的 PSD、PSB 或 .pcraft 源文件。创建副本或导出其他格式时,请指定明确的输出路径。

作业、批处理与不确定的结果

长时间运行的命令默认会等待。使用 wait: false 时,请保留返回的作业 ID,并检查 jobs.list / MCP jobs_list,直到作业完成、失败或取消,再执行依赖操作或最终验证。需要时取消特定作业;作业运行期间,对其锁定文档的编辑会失败。

对于已知的操作序列,请使用批处理;除非有意继续执行,否则应启用出错即停止。批处理不是事务:发生故障时,之前的编辑仍会保留。请检查每个步骤的结果;actions.play 可能会在整体回复成功时报告某个步骤失败。

发生超时、断开连接或回复预算错误后,请先检查文档、历史记录和作业状态,再重试修改操作。操作可能已经完成。如果检查无法确定重放是否安全,请停止并报告尚未解决的状态。

处理大型批次或预览时,请阅读 传输限制:批次最多允许 256 个步骤;即使请求全尺寸预览,无头预览的边长也受限于 2048 像素。在桥接模式下,预览会捕获应用窗口;无头预览则会渲染文档。doc_select 和 doc_close 仅支持无头模式;ui_* 工具和 control_call 仅支持桥接模式。

编辑前,请阅读偏好设置和 Camera Raw 的协议章节。只更改与任务相关的设置。Camera Raw 分析可以使用有界代理;编辑导入的滤镜参数时,请保留保留字段 __cameraRawPsd 元数据,并在评估全分辨率结果前确认细节优化是否已完成。

评论

支持 Markdown