CLI-Anything Photoshop 是一个通过 Windows COM 自动化接口操控 Adobe Photoshop 的命令行工具,用于以脚本化、可编程方式完成 Photoshop 的常见编辑任务。
【用途】 它将 Photoshop 的编辑能力封装为命令行命令,便于 AI Agent 或人工通过终端驱动 Photoshop 完成项目管理、图层处理、选区控制、文字编辑、图像调整与多格式导出等操作,减少手动操作。
【前置条件】
- Windows 10/11
- Adobe Photoshop 2023+(需注册 COM 接口)
- Python 3.10+ 及 pywin32 包
【安装】 在 photoshop-harness/agent-harness 目录下执行: pip install -e . 安装后可使用 cli-anything-photoshop 命令。
【命令结构】 cli-anything-photoshop [--json] [--project <path>] [--dry-run] <command-group> <command> [options]
全局选项:
- --json:以 JSON 格式输出(供 AI Agent 解析)
- --project <path>:自动打开或创建 PSD 项目文件
- --dry-run:执行命令但不保存到磁盘
【命令组与主要能力】
- project — 项目管理
- new <path>:创建新 PSD,选项 -w width、-h height、-r resolution、-m mode、-b bg-color
- open <path>:打开 PSD 文件
- save [path]:保存文档
- close:关闭文档,选项 --no-save
- document — 文档操作
- info:文档信息
- resize:调整尺寸,选项 -w width、-h height、-r resolution
- canvas:调整画布,选项 -w width、-h height、-a anchor
- crop:裁切,选项 --left --top --right --bottom
- rotate:旋转画布,选项 -a angle
- flip:翻转画布,选项 -d direction
- mode:更改色彩模式,选项 -m mode
- trim:裁切边缘,选项 -t type
- layer — 图层操作
- add:添加图层,选项 -n name、-t type、-o opacity、-b blend
- delete:删除图层,选项 -n name
- duplicate:复制图层,选项 -n name、--new-name name
- rename:重命名,选项 --old name、--new name
- show / hide:显示/隐藏,选项 -n name
- opacity:设置透明度,选项 -n name、-o opacity
- blend:设置混合模式,选项 -n name、-m mode
- list:列出所有图层
- reorder:调整顺序,选项 -n name、-p position
- merge:合并图层,选项 -n name、--with-layer name
- selection — 选区操作
- all:全选
- none:取消选区
- invert:反转选区
- feather:羽化,选项 -r radius
- expand:扩展,选项 -p pixels
- contract:收缩,选项 -p pixels
- border:边框选区,选项 -w width
- rect:矩形选区,选项 --left --top --right --bottom
- fill:填充选区,选项 -c color、-o opacity
- text — 文字操作
- add:添加文字,选项 -t text、-f font、-s size、-c color
- edit:编辑文字,选项 -n name、-t text、-f font、-s size、-c color
- info:文字信息,选项 -n name
- export — 导出
- save <path>:导出文件,选项 -f format、-q quality、-w width、-h height
- repl
- repl:启动交互式 REPL 模式
【使用示例】 AI Agent 用法(--json 模式):
- 创建新项目并获取 JSON 输出:cli-anything-photoshop --json project new -w 800 -h 600 poster.psd
- 添加文字图层:cli-anything-photoshop --json --project poster.psd text add -t "Hello World" -f Arial -s 48 -c "#FF0000"
- 列出所有图层:cli-anything-photoshop --json --project poster.psd layer list
- 导出为 PNG:cli-anything-photoshop --json --project poster.psd export save -f png output.png
- 预览(不保存):cli-anything-photoshop --dry-run --project poster.psd layer add -n "draft" --type text
人工使用:
- 打开 PSD 并交互编辑:cli-anything-photoshop --project work.psd layer list
- 启动 REPL:cli-anything-photoshop repl
【Agent 使用指南】
- 始终使用 --json 标志获取结构化输出
- 使用 --dry-run 预览,确认后再正式保存
- 错误处理:退出码非零时检查 stderr 中的 JSON 错误对象
- 项目状态:使用 --project 自动管理文件打开/保存
- REPL 模式:适合多步骤交互式操作,减少 Photoshop 进程启动开销
【架构】 CLI 命令 → Click CLI → Core 模块 → ComBridge(单例)→ Photoshop.Application COM → Photoshop 引擎 Photoshop 通过 Windows COM 接口暴露全部编辑能力,本 harness 封装了最常用的操作。如需扩展,可参考 Adobe Photoshop COM 文档添加新方法到 utils/com_bridge.py。
【适用场景与限制】 适用于需要在 Windows 上以命令行/脚本驱动 Photoshop 的场景,尤其适合 AI Agent 集成;目前仅支持 Windows,需 Photoshop 2023+ 并注册 COM 接口,且依赖 pywin32。本命令组覆盖常用操作,更深层能力需自行扩展。关于收费、价格、效果或平台等未在资料中说明的信息,暂未提供。