mcpField
C
cli-anything-gimp

cli-anything-gimp

github.com/hkuds创意与媒体57.6k627 次安装5 周前更新
代码仓库

关于 cli-anything-gimp

cli-anything-gimp 是面向 AI Agent 和高级用户的图像编辑命令行工具,基于 Pillow 操作图层化项目。它支持交互式会话、项目状态管理及供程序解析的 JSON 输出。

主要功能

  1. 01图层与画布编辑
  2. 02添加并设置滤镜
  3. 03绘制文字和矩形
  4. 04渲染并导出图像
  5. 05撤销、重做与历史记录
  6. 06人类可读或 JSON 输出

适用场景

  1. 01通过命令创建图层化图像
  2. 02批量调整画布和图层属性
  3. 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 使用

以编程方式使用此命令行时:

  1. 始终使用 --json 标志以获得可解析的输出
  2. 检查返回码——0 表示成功,非零表示错误
  3. 解析 stderr 以获取失败时的错误消息
  4. 对所有文件操作使用绝对路径
  5. 在导出操作后验证输出是否存在
  6. 在 offset、draw、blend-mode 或 filter 更改后检查渲染输出,而不要仅信任已保存的项目状态

更多信息

  • 完整文档:参见包中的 README.md
  • 测试覆盖:参见包中的 TEST.md
  • 方法说明:参见 cli-anything-plugin 中的 HARNESS.md

版本

1.0.0

评论

支持 Markdown