赋予智能体真实的画笔

让你的智能体拥有真正的画笔。 klad 是一款 2D 绘画与动画应用,支持与编程智能体(Coding Agent)共享使用。用户在编辑器中使用数位板绘制,智能体则通过 klad 命令行工具,在同一画布上使用相同的画笔进行创作,双方笔触实时同步可见。

klad 不含图像生成模型。 智能体(如 Claude Code、Codex 或任何可执行命令的工具)决定绘制内容,klad 仅提供画笔、图层和时间轴支持。所有绘制内容均保留原始数据结构:包括路径、压力、画笔类型和颜色的笔触,含控制点的形状,或区域填充色。这避免了“重绘碰运气”的困境:若细节不符,可直接修正特定元素。

案例演示:当被要求创作“一个小萌芽生物”时,智能体绘制了 4,344 个笔触和填充区域。用户随后调整叶片颜色、弯曲嘴巴、移动污渍并混合腮红效果。智能体接着为其添加动画:将生物部件分为五组,通过 205 个关键帧驱动运动,无需逐帧重绘。

注:以下画作由 Claude Fable 5.2 使用 klad 命令行逐笔触绘制而成,涵盖角色、场景及道具套件。

  • 官网与指南: 访问 klad.studio 查看逐笔触回放演示。
  • 许可协议: 源代码可用(Source-available),非开源。个人构建使用及年收入低于 50 万欧元的公司内部使用免费。详见许可协议。
  • 运行环境: 支持 macOS(支持压感和倾斜输入)。Linux 和 Windows 可通过编译测试,但目前 Linux 版仅支持鼠标,Windows 版尚未进行实际绘图测试。
  • 当前状态: 早期公开版本,需从源码自行构建。

为何不直接生成图片?

传统图像生成器交付像素结果,编辑依赖随机重绘。klad 将每个笔触和填充保留为结构化数据,记录位置、压力、画笔及颜色。无论是用户还是智能体的笔触,均可随时选取并重新着色、变形、移动或删除。

  • 是绘画,而非单纯矢量图。 笔触保留矢量路径和压力信息,但呈现为光栅绘画效果。油画笔触保留纹理,涂抹工具可拖动已有颜料,且涂抹本身也是可编辑笔触。
  • 支持纯矢量功能。 提供可编辑控制点的形状、渐变、发光效果及五十多种开放字体,适用于海报和卡片设计。
  • 完整的绘画与动画应用。 包含二十余种画笔、图层、蒙版、特效、时间轴、基于关键帧的中间画生成、带正向/反向动力学(IK)的骨骼系统,支持导出 PNG、精灵表或直接导入 Godot 引擎。
  • 作品完全归属用户。 画作以普通文件文件夹形式存储,无需账户登录。编辑操作仅修改相关文件,天然适合 Git 版本管理。

与智能体协作流程

  1. 提出需求: 用自然语言告知智能体,如“为旅馆画一盏灯笼,左侧打光,单独图层。”
  2. 观察: 智能体通过 klad 命令行绘制,笔触约一秒后在编辑器中显示。
  3. 指点: 在画布上钉注笔记或选中特定部分(如“多加苔藓”),智能体会读取这些信息。
  4. 接管控制权: 用户可手动重绘任何内容。智能体笔触标记来源,所有更改计入共享历史,支持撤销。

入门提示位于“尝试使用”部分。klad skill 和 klad skill drawing 命令分别输出智能体技能说明和创作技巧(构图、光影、色彩等),均采用 MIT 许可,可与任何智能体配合使用。

面向开发者:画作即数据

编辑器所有功能均有对应的 klad 命令行指令。它以 JSON 格式读取笔触,通过地址修改属性,并批量应用更改。

功能 编辑器操作 脚本或智能体指令
绘画 B 键配合压感笔 klad stroke art.klad l4 --brush oil --path 'M100 400 C 300 200 500 600 700 400'
修改笔触 S 选中后调整;A 弯曲路径 klad set art.klad c4:s12 size=3.5 color=#3355aa
读取内容 使用 S 指针指向 klad strokes art.klad l4 --json
纯色填充 G 键填充 klad fill art.klad l2 --at 820,640 --ref lines --gap 4 --color skin
标注或选择 N 钉注,S 选中 klad notes art.klad, klad selection art.klad
生成中间画 打开中间画窗口 klad inbetween art.klad --layers lines,colour --from 0 --to 6
导出 Cmd+E 或导出至 Godot klad export art.klad --godot ../game/art
撤销 Cmd+Z 或历史记录 klad undo art.klad

文件格式已在 MIT 许可下文档化(docs/format.md),其他应用和游戏引擎可在无 klad 环境下读写画作。

专为游戏开发打造

支持道具、角色、背景及逐帧动画。绘制关键姿势后,klad 自动生成中间画,检测运动弧线异常(如脚部滑动),从第一帧开始着色,并导出精灵表或 Godot SpriteFrames 场景。

klad inbetween creature.klad --layers lines,colour --from 3 --to 5 --spacing in-out
klad arcs creature.klad --track 'lines:near leg' --clip walk --check
klad export creature.klad --godot ../game/art

尝试使用

git clone https://github.com/klad-app/klad && cd klad
just compile                  # 首次编译约需十分钟
target/release/klad open      # Linux 用户请使用: target/linux/release/klad open

让智能体进行绘画

  1. 将 klad 加入系统路径:target/release/klad install(Linux/Mac 对应路径,Mac 可能需要密码)。
  2. 在画作文件夹启动编程智能体,粘贴指令:
    运行 klad skill 和 klad skill drawing 并阅读输出。创建 scene.klad 并绘制夜景:手持灯笼走向废墟拱门的戴兜帽旅人,身后跟随小生物,平面阴影风格,灯笼光源。
  3. 智能体生成 scene.klad 后,在另一终端运行 klad open scene.klad 实时观察并同步绘制。
  4. 按 N 键钉注笔记引导智能体,或使用 S 键选中笔触自行修改。

每次构建包含命令行工具、编辑器、字体、许可协议、智能体技能及六个示例画作。首次启动提供入门指引。docs/guide/ 逐步讲解绘画、选择、填充、动画、骨骼绑定及导出。

从源码构建

  1. 安装 Rust(rustup)和 just。Linux 用户还需安装 pkg-config、libfreetype-dev、libfontconfig1-dev、libxkbcommon-dev 和 libwayland-dev。
  2. 执行 git clone 并运行 just compile 生成构建产物。仅供个人或年收入低于 50 万欧元的公司内部使用。
  3. 运行 target/release/klad open 启动编辑器。
  4. 运行 target/release/klad install 将 klad 加入终端路径。
  5. 运行 just samples 构建示例画作(灯笼、行走生物等)。
  6. Mac 用户可运行 just app 生成 klad.app 和磁盘镜像。

尚不完善之处

  • 需自行构建: 目前无安装程序。计划推出签名版的 macOS、Windows 和 Linux 构建包,许可协议相同。请在 klad.studio 留下邮箱获取通知。
  • 编辑器主要在 Mac 上开发: Linux 版支持鼠标绘图,暂不支持平板压感。Windows 版已编译测试,但未实际绘图验证。
  • 缺失部分基础功能: 多选形状、对齐分布、吸附、网格系统及 SVG 导入导出。
  • 骨骼系统为预览版: 相关命令可能变动。
  • 版本兼容: 新版本格式将伴随迁移工具发布,旧画作可自动打开。

二次开发资源

  • docs/format.md:画作文件格式文档。
  • docs/cli.md:命令行指令及参数说明。
  • crates/client:klad-client Rust 库,用于运行命令、应用 JSON 编辑及读取数据。
  • docs/DESIGN.md:架构设计文档。
  • CONTRIBUTING.md:贡献指南。
  • samples/:示例画作及生成脚本。
just build      # 构建发布版
just test       # 运行测试
just lint       # 代码检查
just audit      # 安全检查
just samples    # 构建示例

许可协议

klad 为源代码可用(Source-available)软件,版权归 Indicode BV 所有。

  • 主体许可: 受 PolyForm Internal Use License 1.0.0 约束。允许个人免费使用、源码构建及公司内部使用(年收<50 万欧元)。年收≥50 万欧元的公司,每位员工需购买独立许可。不得分发源码或构建产物。
  • 商业许可: 可通过 itch.io、Steam 或直接向 Indicode BV 购买构建包获得商业许可。
  • MIT 许可文件: docs/format.md、docs/cli.md、docs/skill/ 和 crates/client/ 采用 MIT 许可,便于第三方交互。
  • 贡献协议: 贡献内容版权转让给 Indicode BV,依据贡献者许可协议(CLA)。

klad 基于开源库、字体及 Skia 引擎构建,相关许可信息见 THIRD-PARTY-NOTICES.md 或通过 klad licences 查看。