Klad 发布可被编码智能体驱动的 2D 绘画应用
Show HN: Klad, a paint app your coding agent can drive (source-available)
Klad 发布首个公开版本,这是一款 2D 绘画与动画应用,编码智能体可通过 klad 命令行用同样的画笔在同一张画上作画,双方笔触约一秒内互相可见。应用不含图像模型,每一笔、每个填充都以带路径、压感、画笔和颜色的数据保存,可事后单独修改;绘图是本地纯文件文件夹,无需账号。源码可获取但非开源,年收入低于 50 万欧元的公司和个人可免费自行构建使用,目前需自行编译,尚无安装包。
给你的智能体真正的画笔。 klad 是一款 2D 绘画与动画应用,你可以与一个编码智能体共同使用。你在编辑器里用画笔作画。智能体则通过 klad 命令行,用同样的画笔,在同一幅画上作画,你们双方都能即时看到彼此的笔触。
不想自己构建?在 klad.studio 注册获取预构建的应用版本
klad 中没有图像模型。 你的智能体(Claude Code、Codex,任何能运行命令的工具)决定画什么;klad 为它提供画笔、图层和时间轴。无论你们谁画下的内容都保持其原本的样子:一笔带有其路径、压力、画笔和颜色的笔触,一个带有其顶点的形状,一块带有其区域的填充。所以不存在重新掷骰子碰运气:如果某片叶子看起来不对,你就修那片叶子。
当被要求“为我的游戏画一个小嫩芽生物”时,智能体绘制了 4,344 个笔触和填充。你来修改它们:给叶子重新上色,弯曲嘴巴,移动一处涂抹,混合腮红。然后智能体为它制作动画:生物的各个部分被分入五个组,205 个关键帧驱动它们,没有任何一帧被重新绘制。
![]() |
![]() |
使用 Claude Fable 5.2 绘制的画作:生物、场景和道具套件都是通过 klad 命令行一笔一笔画出来的。
- 网站与指南: klad.studio,其中包含这些画作逐笔回放。
- 许可: 源码可见,但非开源。你可以自由构建并供自己使用,也可在年收入低于 50 万欧元的公司内部使用。详见 Licence。
- 运行于: macOS(支持画笔压力和倾斜)。它也能在 Linux 和 Windows 上构建并通过测试,每次更改都会检查;目前编辑器在 Linux 上以鼠标启动,尚未有人在 Windows 上用它作画。
- 状态: 早期阶段。这是首个公开版本,需要你自行构建:参见 From source。
为什么不直接生成图片?
图像生成器交给你的是像素,剩下的唯一编辑方式就是再掷一次骰子。klad 将每一笔、每一块填充都保存为数据:它去了哪里、按了多重、用了什么画笔和颜色。几小时后,你可以挑出其中任何一个,无论是你的还是智能体的,重新上色、弯曲、移动或删除。
- 这是绘画,不只是矢量。 一笔笔触像矢量一样保留其路径和压力,同时仍以绘画的方式呈现。厚涂的油画会留下迎光的脊线,涂抹工具会拖动图层上已有的颜料。涂抹本身也仍是一笔笔触:之后移动它,klad 会在它落下的地方重新混合。
- 它也能只做矢量。 带有可编辑顶点的形状、渐变、发光效果,以及约五十种随附开放字体中的真实文本,适用于海报、封面和卡片。
- 它是一款完整的绘画与动画应用。 二十多种画笔和画笔编辑器、图层、蒙版、剪贴、效果、带洋葱皮和剪辑的时间轴、由你的关键帧画作生成的中间帧、带 IK 的骨骼,以及导出为 PNG、精灵表或直接导入 Godot。
- 你的画作始终属于你。 一幅画就是你电脑上的一个普通文件夹,klad 无需账户。它每天只检查一次新版本,你可以关闭该功能。一次编辑只更改它所编辑内容的文件,因此画作很适合放在 git 中。
与你的智能体协作
- 提出要求。 用平实的语言告诉你的智能体这幅画需要什么:客栈的灯笼,从左侧打光,放在单独的图层上。
- 观看。它通过
klad命令行绘制,笔触大约一秒后就会出现在你的编辑器里。 - 指点。在画布上钉一条注释,或选中你指的那部分(“这边多加点苔藓”)。智能体两者都会读取。
- 接管。你可以手动画任何东西,包括智能体的笔触和你自己的笔触。它的笔触会被标记为它自己的,每一次改动都是共享历史中的一步,所以你可以撤销其中任何一步。
入门提示在 试一试 下面。klad skill 会在 docs/skill/SKILL.md 中打印出智能体技能:如何查看一幅画、修改它并检查结果。第二个 klad skill drawing(docs/skill/drawing/SKILL.md)教授技艺:规划画面、形体上的光、明度、边缘、色彩、材质以及如何评判结果。两者都是 MIT 许可,因此可与任何智能体和任何工具一起使用。打开这幅画来观看并跟着画:
智能体画出的东西取决于智能体本身以及你引导它的程度。这些技能教会它工具和一些技艺;你手中的笔完成其余部分。
面向开发者:画就是数据
你在编辑器里能做的一切也都有对应的 klad 命令,因此脚本或智能体可以操作你正打开着的同一幅画。它把笔触读取为 JSON,按地址修改其中任何一条,并以 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 画作。
为游戏而生
道具、角色、背景和逐帧动画。画出关键姿势,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 # about ten minutes the first time target/release/klad open # on Linux: target/linux/release/klad open
然后让你的智能体来画
-
把
klad放到你的路径中,为你和你的智能体都放好:target/release/klad install(在 Linux 上target/linux/release/klad install;在 Mac 上它可能会要求输入密码)。 -
在画作应存放的文件夹中启动你的编码智能体(Claude Code、Codex 或任何能运行命令的工具),然后粘贴:
运行
klad skill和klad skill drawing并阅读它们打印的内容。然后创建 scene.klad 并画一个夜景:一个戴兜帽的旅人把灯笼伸向一座废墟拱门,一只小生物跟在后面,平涂着色并由灯笼照亮。 -
等它创建好
scene.klad后,在另一个终端中打开它来观看笔触落下,并跟着画:klad open scene.klad。 -
然后引导它。按 N 在画布上钉一条注释(“这边多加点苔藓”),并告诉智能体读取你的注释,或者用 S 选中任意笔触并自己修改它。
每个构建都包含 klad 命令行工具、编辑器、字体、许可证、agent skill 以及六幅可供查看和绘制的示例画作(启动窗口会显示它们;klad samples 会列出它们并复制其中一幅)。首次启动会提供入门步骤:绘制一个形状、填充它,并将画作交给 agent。docs/guide/ 中的指南展示了如何在编辑器中绘画、选择、填充、制作动画、绑定骨骼和导出,每次一个配方,从 入门 开始。
从源码构建
首次构建大约需要十分钟。
- 使用 rustup 和
just(brew install just,或cargo install just)安装 Rust。在 Linux 上还需要pkg-config、libfreetype-dev、libfontconfig1-dev、libxkbcommon-dev和libwayland-dev。 git clone https://github.com/klad-app/klad && cd klad,然后just compile会为当前机器在target/release/中生成klad和klad-editor(在 Linux 上生成到target/linux/release/)。你构建的版本供自己使用,或者如果你的公司去年营收低于 500,000 欧元,也可供公司使用(见 许可证)。target/release/klad open会在启动窗口启动编辑器:绘制一幅画并开始绘画,或进行入门步骤(帮助 > 编辑器中的入门步骤)。target/release/klad install会将klad放入你的终端路径,供你和 agent 使用(编辑器的文档菜单中有相同的“安装 klad 命令”)。just samples会在samples/中构建示例画作(一盏灯笼、一只行走的生物、一名奔跑的快递员、一处地下废墟、一块客栈招牌、一棵树、一片草地、涂绘的立体、一碗柠檬以及用笔触覆盖的同一幅画、一个弹跳的球、墨水示例);使用target/release/klad open samples/lantern/lantern.klad打开其中一个。samples/shipped.json中列出的六幅会显示在启动窗口中,并进入每个构建(packaging/samples.sh)。- 在 Mac 上,
just app会生成klad.app和dist/中的磁盘映像;just dist会将本机的构建打包为归档文件。每台机器为自己构建:Mac 构建 Mac 版本,Linux 构建 Linux 版本。
尚不完善之处
- 你需要自行构建。目前还没有安装程序。计划推出适用于 macOS、Windows 和 Linux 的签名构建,采用与源码相同的许可证;在 klad.studio 留下你的邮箱,以便在它们准备好时收到通知。
- 编辑器是在 Mac 上开发的。在 Linux 上它可以启动,你可以用鼠标绘画:目前数位板在那里没有压感。在 Windows 上它可以构建且测试通过,但还没有人在那里用它绘画,所以请告诉我们你看到的情况。
- 缺少一些插画基础功能:同时选择多个形状、对齐和分布、吸附、网格,以及 SVG 导入和导出。
- 骨骼是预览功能:其命令可能仍会变化。
- 随着 klad 的变化,画作会持续可打开:新的格式版本会附带迁移。
基于它构建
docs/format.md:画作的文件格式,足以从任何程序读取和写入一幅画。docs/cli.md:每个命令及其选项(klad <command> --help打印相同内容)。crates/client:klad-client,一个小型 Rust crate,可运行 klad 命令、以 JSON 操作应用编辑并读回画作。docs/DESIGN.md:klad 是如何构建的:CLI、笔刷引擎、渲染、编辑器、依赖项。CONTRIBUTING.md:构建、测试、代码规则以及如何提交更改。samples/:从零生成画作的生成器,是查看操作实际使用的最佳场所。
just build # release build of the klad CLI and the editor just test # every test, and the drawkit check just lint # rustfmt and clippy, warnings as errors just audit # licences, RustSec advisories, sources, and the notices are current just samples # build the sample drawings
许可证
klad 是源码可获取的,并非开源,版权归 Indicode BV 所有。
- 该应用(即下一点中未列出的所有内容)采用 PolyForm Internal Use License 1.0.0 许可,并附带三项额外许可和一项限制(
LICENSE):你可以将其用于个人目的,免费从源代码构建,也可以在公司内部使用;你可以将修改发送给 Indicode BV,提议作为贡献;你用其创作的画作归你所有,可以分享,笔刷设置和图片会作为副本存入其中。限制:如果一家公司(连同其控制或受其控制的公司计算)在上一纳税年度的收入达到或超过 500,000 欧元,则每个为其使用 klad 的人员都需要购买一份许可。你可以为这些用途构建和修改它;但不得分发它,无论是源代码还是构建版本。 - 在 itch.io、Steam 或从 Indicode BV 购买构建版本,即可获得该购买许可,且该构建版本也按相同条款授权:源代码和构建版本共用一份许可,没有单独的最终用户许可。
- 这些文件采用 MIT 许可证(
LICENSE-MIT),因此任何程序或代理都可以处理 klad 绘图:docs/format.md(文件格式)、docs/cli.md(命令参考)、docs/skill/(代理技能)和crates/client/(klad-clientcrate)。 - 贡献将根据贡献者许可协议(
CLA.md)授权给 Indicode BV,以便纳入 klad 及其销售的构建版本中;参见CONTRIBUTING.md。
klad 基于开源库、字体和 Skia 构建;其许可证见 THIRD-PARTY-NOTICES.md,也可通过 klad licences 以及编辑器的“关于”窗口查看。
来源:Hacker News · github.com






