关于 cli-anything-gimp
cli-anything-gimp 是面向 AI Agent 和高级用户的图像编辑命令行工具,基于 Pillow 操作图层化项目。它支持交互式会话、项目状态管理及供程序解析的 JSON 输出。
主要功能
- 01图层与画布编辑
- 02添加并设置滤镜
- 03绘制文字和矩形
- 04渲染并导出图像
- 05撤销、重做与历史记录
- 06人类可读或 JSON 输出
适用场景
- 01通过命令创建图层化图像
- 02批量调整画布和图层属性
- 03让 AI Agent 解析编辑状态并导出图像
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hkuds/ cli-anything --skill cli-anything-gimp安装后在 Claude Code 中输入/cli-anything-gimp确认已加载。
详细介绍
cli-anything-gimp
一个基于 Pillow 构建的、有状态的图像编辑命令行界面。专为需要在无 GUI 环境下创建和操作图像的 AI Agent 和高级用户设计。
安装
此命令行工具作为 cli-anything-gimp 包的一部分安装:
pip install cli-anything-gimp
前提条件:
- Python 3.10+
- 推荐使用 gimp 进行原生批量渲染,但当 GIMP 不可用或存在延迟的
draw操作时,分层合成仍可通过内置的 Pillow 路径进行渲染
用法
基本命令
# Show help
cli-anything-gimp --help
# Start interactive REPL mode
cli-anything-gimp
# Create a new project
cli-anything-gimp project new -o project.json
# Run with JSON output (for agent consumption)
cli-anything-gimp --json project info -p project.json
REPL 模式
在不带子命令调用时,命令行工具会进入交互式 REPL 会话:
cli-anything-gimp
# Enter commands interactively with tab-completion and history
命令组
Project
项目管理命令。
| 命令 | 描述 |
|---|---|
new | 创建新项目 |
open | 打开现有项目 |
save | 保存当前项目 |
info | 显示项目信息 |
profiles | 列出可用的画布配置文件 |
json | 打印原始项目 JSON |
Layer
图层管理命令。
| 命令 | 描述 |
|---|---|
new | 创建新的空白图层 |
add-from-file | 从图像文件添加图层 |
list | 列出所有图层 |
remove | 按索引移除图层 |
duplicate | 复制图层 |
move | 将图层移动到新位置 |
set | 设置图层属性(name、opacity、visible、mode、offset_x、offset_y);负偏移量可自然接受 |
flatten | 展平所有可见图层 |
merge-down | 将图层与其下方的图层合并 |
Canvas
画布操作。
| 命令 | 描述 |
|---|---|
info | 显示画布信息 |
resize | 调整画布大小(不缩放内容) |
scale | 按比例缩放画布及所有内容 |
crop | 将画布裁剪为矩形 |
mode | 设置画布颜色模式 |
dpi | 设置画布 DPI |
Filter Group
滤镜管理命令。
| 命令 | 描述 |
|---|---|
list-available | 列出所有可用的滤镜 |
info | 显示滤镜的详细信息 |
add | 向图层添加滤镜 |
remove | 按索引移除滤镜 |
set | 设置滤镜参数 |
list | 列出图层上的滤镜 |
Media
媒体文件操作。
| 命令 | 描述 |
|---|---|
probe | 分析图像文件 |
list | 列出项目中引用的媒体文件 |
check | 检查所有引用的媒体文件是否存在 |
histogram | 显示图像的直方图分析 |
Export Group
导出/渲染命令。
| 命令 | 描述 |
|---|---|
presets | 列出导出预设 |
preset-info | 显示预设详细信息 |
render | 将项目渲染为图像文件;延迟的 draw 操作在渲染时应用 |
Session
会话管理命令。
| 命令 | 描述 |
|---|---|
status | 显示会话状态 |
undo | 撤销上一步操作 |
redo | 重做上一次撤销的操作 |
history | 显示撤销历史 |
Draw
绘图操作(在渲染时应用)。
| 命令 | 描述 |
|---|---|
text | 在图层上绘制文本(通过将其转换为文本图层) |
rect | 绘制矩形(存储为绘图操作) |
示例
创建新项目
创建一个新的 gimp 项目文件。
cli-anything-gimp project new -o myproject.json
# Or with JSON output for programmatic use
cli-anything-gimp --json project new -o myproject.json
交互式 REPL 会话
启动一个支持撤销/重做的交互式会话。
cli-anything-gimp
# Enter commands interactively
# Use 'help' to see available commands
# Use 'undo' and 'redo' for history navigation
导出项目
将项目导出为最终输出格式。
cli-anything-gimp --project myproject.json export render output.png --overwrite
分层合成工作流
对于以叠加为主的合成:
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_x -48
cli-anything-gimp --project poster.gimp-cli.json layer set 0 offset_y 24
cli-anything-gimp --project poster.gimp-cli.json draw text --layer 0 --text "Launch Night" --x 96 --y 120 --size 72 --color "#f6f1e8"
cli-anything-gimp --project poster.gimp-cli.json export render output.png --overwrite
说明:
layer set现在在命令模式和 REPL 模式下都接受负的offset_x和offset_y值。draw text和draw rect是渲染时操作。请把导出的图像——而不只是项目 JSON——作为要检查的对象。- 对于带有延迟绘制操作的项目,即使安装了 GIMP,也应预期 Pillow 渲染路径是稳定的默认选项。
状态管理
命令行通过以下方式维护会话状态:
- 撤销/重做:最多 50 级历史记录
- 项目持久化:将项目状态保存/加载为 JSON
- 会话跟踪:跟踪修改和变更
输出格式
所有命令都支持两种输出模式:
- 人类可读(默认):表格、颜色、格式化文本
- 机器可读(
--json标志):供 Agent 使用的结构化 JSON
# Human output
cli-anything-gimp project info -p project.json
# JSON output for agents
cli-anything-gimp --json project info -p project.json
供 AI Agent 使用
以编程方式使用此命令行时:
- 始终使用
--json标志以获得可解析的输出 - 检查返回码——0 表示成功,非零表示错误
- 解析 stderr 以获取失败时的错误消息
- 对所有文件操作使用绝对路径
- 在导出操作后验证输出是否存在
- 在 offset、draw、blend-mode 或 filter 更改后检查渲染输出,而不要仅信任已保存的项目状态
更多信息
- 完整文档:参见包中的 README.md
- 测试覆盖:参见包中的 TEST.md
- 方法说明:参见 cli-anything-plugin 中的 HARNESS.md
版本
1.0.0
评论
支持 Markdown