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
사용 예제
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으로 미리보기 후 실제 저장을 진행하세요.
- 오류 처리: 종료 코드가 0이 아닌 경우
stderr의 JSON 오류 객체를 확인하세요.
- 프로젝트 상태:
--project를 사용하여 파일 열기/저장을 자동으로 관리하세요.
- REPL 모드: 다단계 대화형 작업에 적합하며, Photoshop 프로세스 시작 오버헤드를 줄여줍니다.
Photoshop COM 아키텍처
CLI 명령 → Click CLI → Core 모듈 → ComBridge (싱글톤) → Photoshop.Application COM → Photoshop 엔진
Photoshop은 Windows COM 인터페이스를 통해 모든 편집 기능을 노출합니다. 본 harness는 가장 자주 사용되는 작업을 캡슐화합니다. 확장이 필요한 경우, Adobe Photoshop COM 문서를 참조하여 utils/com_bridge.py에 새 메서드를 추가하세요.