GitHub 火线榜

GitHub 火线榜 · 仓库档案

alexgreensh/anidoodle

Art and animation, written as code. Illustrations, loops, interactive web art, launch-videos and scored films in dozens of styles, identical on every render. (简介来自仓库自身文档。)

数据截至 10月26日alexgreensh

最好成绩

#90

黑马榜 · 增速黑马

1111

累计 Star

95

Fork 总数

5

近 30 天在榜天数

上榜 5 天 · 近 30 天 +71 星 · 日均 +14最猛 10-23 单日 +27连续在榜 5 天

项目状态许可证: Apache-2.0最近 push: 10月24日Open Issues(含 PR): 2

自 2026-10-25 起采集;未知 = 尚未采集到

把上榜徽章放进你的 README · alexgreensh/anidoodle[![把上榜徽章放进你的 README](https://git.vaiox.xyz/api/badge/alexgreensh/anidoodle.svg)](https://git.vaiox.xyz/zh/repo/alexgreensh/anidoodle)

Badge · 任何仓库都可以挂 —— 未上榜的仓库显示灰章,上完榜会自动点亮。

<a href="https://git.vaiox.xyz/zh/repo/alexgreensh/anidoodle"><img src="https://git.vaiox.xyz/api/badge/alexgreensh/anidoodle.svg" alt="把上榜徽章放进你的 README" height="20"></a>

项目文档

anidoodle:一张画满代码手绘涂鸦的画桌,anidoodle 这个名字正以书法字体自己写出自己

anidoodle-launch-github.mp4

发布短片,77 秒。每一帧画面、每一个声音,都是用 anidoodle 以代码制作的。

anidoodle

手绘的艺术,用代码写成。

插画、绘画延时视频、影片、讲解视频和互动网页艺术,32 种风格任你挑选。
每一笔都是一个函数,每一个音符都是一次算术运算,于是同一份源码
在任何机器、任何尺寸下,都会重新画出同一张画,永远如此。

最新版本 Apache 2.0 许可证 纯代码打造 每次渲染,完全一致

支持 Claude Code · Codex · Grok Build · 以及任何能读取技能的智能体。

English · 日本語 · 简体中文 · 한국어 · Français · Español

风格 · 作画影片 · 音乐 · 你能做出什么 · 它自带了什么 · 动态效果 · 开始使用

32 种风格,随你挑选

32 幅各具风格的插画,从铅笔水彩、马克笔漫画和孔版印刷,到像素画、玩具积木、木刻、墨绘、刮画、刺绣、油画和民间故事绘本

每种风格都有自己独特的落笔方式:笔尖的收锋、水彩的晕染、粉笔在石板上的揉擦、剪纸边缘的撕裂感、孔版印刷滚筒的网点、一条雕刻线螺旋展开变成一轮月亮。同一个主题,在不同的风格里会呈现出完全不同的样子,就像出自 32 位不同插画师之手。每种风格还附有一段影片,按使用这种媒介的画家实际作画的顺序,逐笔展示画面如何诞生。为你的品牌选定一种风格,之后的每一张画都会出自同一双手。上面的每一幅样图,连同这张对照表本身,都是这个仓库里的代码画出来的。

全部 32 种风格,以及它们的画法
风格 画法
圆珠笔 只用一支圆珠笔,靠交叉排线形成明暗
分色笔触 不调匀的色彩分别点上,带着印象派的味道
粉笔黑板 用粉笔侧面揉擦,留下粉尘
炭笔擦画 炭笔画了又擦、擦了再画,保留旧痕
彩色铅笔 在有纹理的米色纸上,顺着方向叠加笔触
蜡笔 蜡质涂鸦掠过纸面的凹处
剪纸拼贴 撕纸与剪纸拼成画面,不画线条
蓝晒蓝图 在蓝晒纸上用鸭嘴笔绘制技术图
梦境釉彩 用树脂稀释的油彩薄涂罩染,不见笔触,轮廓一律分明
刺绣 在绣绷里的亚麻布上穿针走线
扁平矢量 清晰的几何形状,带颗粒感和长投影
民间故事绘本 彩绘前景逐渐融入米色纸上的铅笔线
墨线淡彩 先铺淡彩,再用有弹性的笔尖勾线
等距视角 以平面着色绘出 2:1 等距剖视图
低多边形 3D 用代码绘制平面着色的三角面
马克笔漫画 平涂色块,配上一道粗轮廓
世纪中期水粉 不透明的哑光色块、干刷边缘和松动的线条
报纸网点 在新闻纸上叠印黑色网版和一种专色
油画 在有底色的画布上留下硬毛笔触和厚涂肌理
纸艺 层层剪纸和彩绘纸片,以逐格拍摄的节奏呈现
铅笔与水彩 水彩晕染不完全填满铅笔轮廓
像素画 在低分辨率网格上使用固定的 16 色调色板
孔版印刷 油墨滚筒套印,留下轻微错版
橡皮管动画 1930 年代的墨线动画,弯曲的四肢与胶片颗粒
刮画 从黑色涂层中刮出白线
单线雕版 一条不断开的螺旋线,以粗细表现明暗
点描 用钢笔点的疏密表现明暗
绘本 用铅笔和水彩描绘角色
水墨画 在吸水纸上只用一支饱蘸墨汁的笔
玩具积木 带凸点的塑料积木,一层层搭起来
复古剪贴簿 在旧纸上拼贴版画、剪字标题和胶带固定的卡片
木刻/浮世绘 在和纸上印制雕刻的主版与色版

每种风格都会自己画出来

四幅画同时逐笔成形:工作台前的彩铅机器人、雨中桥上的鹭鸟木版画、扑向萤火虫的像素猫,以及伴着麻雀的水墨竹子

每种风格都从同一份源码产出完成的画,以及按这种媒介的画家实际作画顺序制作的影片。水彩先打铅笔稿,再从浅到深铺色;木刻先印主版,再逐一印上色版;像素画先搭出纯色形状,再给像素块加阴影。没有淡入效果:每一道笔画都会伸展,每片水彩都从落笔处晕开,影片最后一帧与静态图像逐像素一致。一段延时摄影,同时也是创作过程和讲解图。

用代码谱写音乐

没有采样,也没有录音。音符写成数据,所有声音都由代码合成。曲风是模型用来作曲的词汇,从来不是预设:共 21 种,从低保真电子、House、合成器浪潮到管弦乐、爵士、民谣和钢琴独奏。曲风提供音色、律动和和声语言;和弦、动机和曲式每次都重新写,所以每部片子都有自己的配乐。

  • 键盘: 以一台真实的施坦威三角钢琴为原型建模的钢琴,Rhodes 和 Wurlitzer 电钢琴,音轮风琴和管风琴,槌击乐器和钟。
  • 合奏: 每位乐手独立演奏的弦乐组,铜管,长笛和单簧管,会唱出元音的合唱团,尼龙弦、钢弦和电吉他,竖琴和四种贝斯。
  • 鼓: 用代码做出的真实鼓组(原声、808、909、复古颗粒、鼓刷、带定音鼓的管弦乐),每一击都略有不同。
  • 真正的低保真: 12 位采样器、磁带的晃动与底噪、黑胶的噼啪声,以及让整个混音呼吸起来的底鼓。
  • 混音与空间: 分轨均衡、鼓组总线、大厅、板式和卷积混响,以及达到流媒体响度标准的母带。

node tools/music.mjs check 在任何人试听之前先审核配乐:调性与调式、响度、掩蔽、每个声部的平衡,以及新颖度。听起来像已有曲子或引用了它的配乐不会通过。

试听
降 A 大调夜曲 45 秒的钢琴曲:渐渐铺开、推向高潮,再归于低语
有表现力的钢琴 · 同一组音符的平板演奏 差别在演奏:声部、乐句和踏板
电影感·敬畏 · 低保真 · 马林巴 · 电子乐 更多情绪与乐器
15 秒版夜曲主题 作曲器会选择适合时长的曲式

以及音效套件:十四种分层、带种子的音效,精确到帧触发,每一次音乐都会让开一点(声音设计)。配乐怎么写:compose.md · 词汇一览。

会注意到你的网页

注册表单旁有一个手绘机器人,它看着用户输入,到密码栏时捂住眼睛,提交成功后欢呼

真正能放进网站的互动插画:跟随光标、响应按钮的吉祥物,随页面滚动自行画出的主视觉,还有遇到密码栏就捂眼睛的表单伙伴。只需一个小型 ES 模块和一个 <ani-doodle> 元素,无需框架;也支持减少动态效果和键盘操作。给定导致当前状态的输入,每一帧都是确定的。

用代码画出你的产品发布片

本页顶部的影片就是用 anidoodle 做的,做它的那套工具也一起附带。launch.mjs new <名称> 会给你一份待填写的规格:你的产品名、用户会输入的提示、对应的回答(一幅画出来的图、你自己产品的界面,或一段影片)、几个词和你的安装命令。它会踩着节拍剪出一支发布片:自己打字的聊天界面、像墨迹一样绽开的回答、整屏的手写字,以及一张把安装命令停留足够久、方便复制的结尾卡。

  • 四种画幅,一条时间线: 16:9、1:1、4:5 和 9:16,每种画幅都重新构图,文字在手机上也清晰可读。
  • 把你的产品搬上屏幕: 由数据画出的界面,元素从修改前的状态弹跳到修改后的状态。
  • 声音来自画面: 每一次按键、点击和落地都有自己的音效,出现在屏幕上发生的位置,下面是为这支片子作曲的配乐。
  • 可以直接发布: launch.mjs ship <名称> 渲染每种画幅,写出封面帧和字幕(.srt 与 .vtt),在交付的文件上检查音画同步和峰值电平,并让任何边缘切到文字的帧不通过。

两种外观(手绘墨迹,或为以界面为主的产品准备的简洁外观),30 或 60 fps,运动模糊按每一帧的速度调整。

这些规则来自我们自己发布片的四次剪辑,以及优秀发布片的手艺:五秒内说清它是什么,文字永远不压在画面上,在强拍上切换,把第一帧做成缩略图。 → launch-video.md · 工具包

带上你自己的图片

  • 匹配画风。 给它看一张你喜欢的画,它会研究笔触、边缘、配色和纸张,再用同样的画风创作新画。借用的是风格,不是原画。
  • 重画照片。 照片可以变成刮画、木刻或单线雕版:系统会测量明暗,以及毛发或布料的方向,每道可见笔触都由代码绘制。
  • 保持角色一致。 角色只需创建一次,不论镜头、姿势或从木刻到玩具积木的画风如何变化,始终是同一个角色。

学着画画

九步画一只猫头鹰:从两个圆开始,经过结构、轮廓、眼睛、阴影和羽毛,直到画完剩下的猫头鹰 猫头鹰一步步画出来的延时动画

观看带字幕的完整课程 (mp4, 95 秒)

问它怎么画一样东西,或者带来自己的画,anidoodle 就会把它重新拆成一堂课:分步图和带字幕的延时视频,每一步都说明该观察什么、怎样动笔,以及常见的错误。

你能做出什么

用途 你能得到什么
官网 一张主视觉插画,每个功能点一张点缀小图,空状态和 404 页面,全部出自同一双手。同一份源码可以导出任意尺寸的透明 PNG,视网膜屏和印刷都不在话下。
说明图和报告 原理图、剖视图和动态信息图,配上手绘风格的标注文字。严肃一点的话题,粉笔黑板、蓝图和圆珠笔风格都很合适。一个想法也能变成一台会运转、会自己拆开再装回去的机器,用任何风格来画。
品牌 一个会自己画出来的 Logo,一段片头动画,一套每次发帖都保持品牌调性的社交卡片模板。
社交和聊天 无限循环的动图、GIF,以及适配信息流尺寸的透明动态贴纸。
幻灯片和文档 一个程序生成一整套章节插画。换个种子,就能得到风格相同的姊妹图。
故事 分镜和动态预览,一步步长成一部任意时长、配有原创配乐的完整影片。
你自己的图片 带来一张画,就能用它的风格画新主题;带来一张照片,就能用 32 种画风中的任意一种重新创作,每一笔都由代码绘制。
网页 会追随光标、响应点击和表单,或随着页面滚动自行绘制的互动插画。还有放在标题旁的主视觉和小插图,贴合你页面的底色和品牌,浅色深色都行。
学习 用分步图和延时视频教你一幅画如何完成,还会指出该看什么、常见错误有哪些。
角色 一个角色只需构建一次,在不同镜头、姿势和风格中始终保持一致。
你的发布 用模板为你的产品做一支发布片:你的提示、你的画面、你的文字和安装命令,配着音乐剪好。

用大白话说出你的需求就行,比如 “给我们的招聘页面画一张孔版印刷风格的灯塔,1600×900”,或者 “用粉笔黑板风格画一张解释我们定价方案的说明图”,anidoodle 会自动把它路由到合适的工作流和风格配方,只有在你没说清楚的地方才会追问。

它自带了什么

引擎只是简单的那一半。真正的功夫,是 anidoodle 替你背下来的六条心得,每一条都是先画砸了一次才换来的经验,写下来是为了让你从上一个项目结束的地方接着开始:

  • 故事,让每件作品都有一个重点。一张静态图只讲一个想法、聚焦一个主体;一部短片只有一次转变、一个高潮,和一个反复出现的意象。→ storytelling.md
  • 写实感,来自把它说清楚。解剖结构、观察视角,以及你参考过的资料,都要交代明白,这样一只蝴蝶读起来才像是一个有身体、有翅脉的真实生物。→ realism-and-craft.md
  • 风格,活在笔触里。32 套完整配方,外加一份按场合挑风格的指南,以及自创风格的步骤。→ styles.md
  • 音乐,依照某种曲风的词汇为每件作品作曲,再由代码合成:21 种曲风、完整的乐队和管弦乐团、所有大小调、每个段落各自的情绪,以及能适配任意时长的主题旋律。→ music/README.md
  • 确定性,是这套系统的承诺。纯函数加上带种子的随机数,任何人拿到源码都能重建出一模一样的作品。→ determinism-and-contract.md
  • 方法,让你保持速度。先用一张静态图验证效果,再一路做到底,把审批环节留给那些出错代价高的地方。→ working-method.md

每种格式都出自同一份源码:PNG、带配乐的 MP4、GIF、透明的 WebM 和动态 PNG,还有一个自包含的 HTML 文件。→ formats.md

先画,后动

一张蓝晒图工艺的图版正在一笔一笔画出自己 一只机械蝴蝶在水彩中苏醒,在陆莲花间轻盈飞舞
每一笔都是真的画出来的,顺序和手绘时一模一样。 蓝图在水彩中苏醒,振翅飞向自己的草地。

▶ 完整的 47 秒短片,记得开声音。1080×1080,配有原创配乐,每一帧、每一个音频采样都是代码生成的:

mechanical-lepidoptera.mp4

一个纯函数负责画出每一帧,所以一张成品插画,就是这个函数被调用了一次;一枚贴纸,是同一个函数循环调用;一部短片,则是这个函数配上一个故事和一段配乐。三者背后,是同一套保证。

画一次,管一辈子

图像模型每渲染一帧都要烧掉 token 和算力,而且每次画出来的都不一样。代码只花这份钱一次。这部 47 秒的短片就是一个程序:写一次,就能在任何机器、任何尺寸下渲染出全部 1,410 帧画面和一整段立体声配乐,而且每次运行都是免费的。折算下来,第一遍大约每帧只花六十个 token 的代码量,之后每一遍都是零成本。一张静态插画不过几百行代码,一整个系列的图像,也不过是一份种子列表。

开始使用

Claude Code:

/plugin marketplace add alexgreensh/anidoodle
/plugin install anidoodle@alexgreensh-anidoodle

Codex:

codex plugin marketplace add alexgreensh/anidoodle

然后在 Codex 的 TUI 中输入 /plugins,安装 anidoodle。

Grok Build:

grok plugin marketplace add alexgreensh/anidoodle
grok plugin install anidoodle --trust

--trust 用于确认安装;不加它,Grok 会列出插件可以运行的内容,然后停下。也可以在 /plugins 的 Marketplace 标签页里安装。

其他智能体: anidoodle 是标准的 skill 文件夹(skills/anidoodle/SKILL.md),可以复制到任何能读取 skill 的运行环境。

然后直接说出你想要什么就行,比如 “给我们的菜谱页面画一个铅笔加水彩风格的梨”。如果你想亲自操作引擎:

node <anidoodle>/engine/tools/scaffold.mjs ~/art --still hero --film intro --format 9x16 --duration 60
cd ~/art && npm install && npx playwright-core install chromium

node tools/still.mjs  hero  --out out/hero.png --scale 2   # a finished illustration, print size
node tools/render.mjs intro --out out/intro.gif            # a loop; also .mp4 with score, .webm with alpha
node tools/emit.mjs   intro --out out/intro.html           # the whole piece as one offline file
node tools/gate.mjs   hero                                 # determinism, contract and dead air in one pass
node tools/verify-export.mjs intro --file out/intro.mp4   # the file you ship, decoded and checked
node tools/music.mjs check score.ts#myScore                # your score: key, loudness, balance, novelty
node tools/launch.mjs new myLaunch                         # a launch film spec; then: launch.mjs ship myLaunch

需要 Node 20 及以上版本。静态图只需要上面那个浏览器;只要涉及动态效果,就还会用到 ffmpeg。

emit 会输出一个大约 100 KB 的 HTML 文件,双击就能离线播放,声音也在里面。它带着完整的配方,每次打开都会从头重新画一遍。把它作为邮件附件发出去,你就等于交付了一整个工作室。

四个后端共用同一个绘图核心,而这个核心压根不在乎是谁在画:playwright、html-player、remotion、hyperframes。

示例短片

skills/anidoodle/example/ 目录里放着机械鳞翅目(Mechanical Lepidoptera):1,410 帧,47 秒,一只机械蝴蝶自己画出自己的图纸,在水彩中苏醒过来,又把蓝图留在了草丛里。这一部作品,就是整个引擎的缩影:控制点是按照真实解剖结构手工摆放的,缓存键记录了每个像素依赖的每一个输入,配乐专为它创作,从画成到活过来,是一气呵成的一个动作。风格样图和引擎放在一起,都在 skills/anidoodle/engine/src/canvas-core/ 里,每一张的顶部都写着自己的配方。随便打开一个,改一个数字,看看会发生什么变化。

诚实是设计出来的

声音和动态效果,靠的是拿实打实的证据说话。每一句关于配乐或动作的描述,背后都有一次测量或一双人眼验证过,绿色对勾也只有在重新跑过之后才算数。正是这份较真,让同一件作品无论在哪台机器上、跑多少次,都能分毫不差地重现。


基于 Apache License 2.0 协议开源。版权所有 2026 Alex Greenshpun。

由 anidoodle 绘制,它的全部本事,都是老老实实画了几遍蝴蝶换来的。

当前上榜

  • 90

    黑马榜 · 增速黑马

    1111 星 · 95 fork · 本周增速

    黑马 →

近 30 天势头

累计 Star 走势

名次走势

每日新增 Star

← 回到榜单

GitHub 火线榜往日榜Discover