CLI-Anything Photoshop
Windows COM 自動化インターフェースを介して Adobe Photoshop を操作するコマンドラインツール。
前提条件
- Windows 10/11
- Adobe Photoshop 2023+ (COM インターフェースが登録されていること)
- Python 3.10+ および
pywin32 パッケージ
インストール
cd 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 エージェントが解析するため) |
--project <path> | PSD プロジェクトファイルを自動的に開く、または作成 |
--dry-run | コマンドを実行するが、ディスクに保存しない |
コマンドグループ
project — プロジェクト管理
| コマンド | オプション | 説明 |
|---|
new <path> | -w 幅, -h 高さ, -r 解像度, -m モード, -b 背景色 | 新しい PSD を作成 |
open <path> | | PSD ファイルを開く |
save [path] | | ドキュメントを保存 |
close | --no-save | ドキュメントを閉じる |
document — ドキュメント操作
| コマンド | オプション | 説明 |
|---|
info | | ドキュメント情報 |
resize | -w 幅, -h 高さ, -r 解像度 | サイズ変更 |
canvas | -w 幅, -h 高さ, -a アンカー | キャンバスサイズ変更 |
crop | --left --top --right --bottom | 切り抜き |
rotate | -a 角度 | キャンバス回転 |
flip | -d 方向 | キャンバス反転 |
mode | -m モード | カラーモード変更 |
trim | -t タイプ | 余白をトリミング |
layer — レイヤー操作
| コマンド | オプション | 説明 |
|---|
add | -n 名前, -t タイプ, -o 不透明度, -b ブレンド | レイヤー追加 |
delete | -n 名前 | レイヤー削除 |
duplicate | -n 名前, --new-name 新しい名前 | レイヤー複製 |
rename | --old 旧名前, --new 新名前 | 名前変更 |
show / hide | -n 名前 | 表示/非表示 |
opacity | -n 名前, -o 不透明度 | 不透明度設定 |
blend | -n 名前, -m モード | ブレンドモード設定 |
list | | 全レイヤー一覧表示 |
reorder | -n 名前, -p 位置 | 順序変更 |
merge | -n 名前, --with-layer 統合先レイヤー | レイヤー結合 |
selection — 選択範囲操作
| コマンド | オプション | 説明 |
|---|
all | | すべて選択 |
none | | 選択解除 |
invert | | 選択範囲を反転 |
feather | -r 半径 | ぼかし(フェザー) |
expand | -p ピクセル | 拡張 |
contract | -p ピクセル | 収縮 |
border | -w 幅 | 境界選択 |
rect | --left --top --right --bottom | 矩形選択 |
fill | -c 色, -o 不透明度 | 選択範囲を塗りつぶす |
text — テキスト操作
| コマンド | オプション | 説明 |
|---|
add | -t テキスト, -f フォント, -s サイズ, -c 色 | テキスト追加 |
edit | -n 名前, -t テキスト, -f フォント, -s サイズ, -c 色 | テキスト編集 |
info | -n 名前 | テキスト情報 |
export — エクスポート
| コマンド | オプション | 説明 |
|---|
save <path> | -f 形式, -q 品質, -w 幅, -h 高さ | ファイルをエクスポート |
repl
| コマンド | 説明 |
|---|
repl | インタラクティブ REPL モードを起動 |
使用例
AI エージェントの使用法(--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
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
手動使用
cli-anything-photoshop --project work.psd layer list
cli-anything-photoshop repl
エージェント使用ガイド
- 常に
--json フラグを使用 して構造化出力を取得
--dry-run でプレビュー してから正式に保存
- エラーハンドリング: 終了コードが非ゼロの場合、
stderr の JSON エラーオブジェクトを確認
- プロジェクト状態:
--project を使用してファイルの開閉を自動管理
- REPL モード: 多段階のインタラクティブ操作に適しており、Photoshop プロセスの起動オーバーヘッドを削減
Photoshop COM アーキテクチャ
CLI コマンド → Click CLI → Core モジュール → ComBridge (シングルトン) → Photoshop.Application COM → Photoshop エンジン
Photoshop は Windows COM インターフェースを介してすべての編集機能を公開しています。このハーネスは最もよく使われる操作をカプセル化しています。拡張が必要な場合は、Adobe Photoshop COM ドキュメントを参照し、utils/com_bridge.py に新しいメソッドを追加してください。