Cowart:为 Codex 打造的本地无限画布,让 AI 编程看见你的想法

此项目建立的初衷

AI 编程工具发展到今天,已经能读懂代码、修改文件、运行命令。但有一个问题一直没被很好解决:AI 怎么理解你的视觉意图?

你做了一个 UI 设计,想让 AI 帮你实现。你截了一张图,画了几个箭头和标注,想告诉 AI「这里改成圆角」「这个颜色换成蓝色」「这个按钮移到右边」。但你只能用文字描述这些改动,AI 看不到你的标注,也看不到你的草图。

Cowart 填补的正是这个缺口。

它是为 Codex 打造的本地无限画布插件,基于 tldraw 实现。你可以在画布上自由绘制、标注、创建图片占位符,然后让 Codex 根据画布上的视觉信息生成或修改图片。

这不是又一个白板工具。它是一个让 AI 编程助手「看见」你想法的桥梁。

一、AI 编程的视觉短板

回顾一下 AI 编程工具的演进路径:

  • 代码补全阶段:AI 根据上下文猜测下一行代码
  • 聊天问答阶段:开发者把代码贴进对话框,AI 解释、生成、修改
  • Agent 化阶段:AI 进入项目目录,读取文件、执行命令、持续工作

每一步都在让 AI 更深入地理解代码。但这些工具都默认一个假设:你用文字和代码跟 AI 沟通。

现实是,很多开发场景需要视觉沟通。

  • 你想让 AI 生成一张 banner 图,但不知道怎么用文字描述构图
  • 你做了一个线框图,想让 AI 根据布局生成对应的 UI 组件
  • 你在截图上画了修改意见,想让 AI 看懂这些箭头和标注
  • 你在头脑风暴,想在画布上快速草绘,让 AI 根据草图生成迭代版本

目前的做法是什么?你截图 → 用文字描述截图内容 → AI 根据文字理解 → 生成结果。信息在「视觉→文字→视觉」的转换中丢失了大量细节。

Cowart 的思路是:直接让 AI 读取画布上的视觉信息,跳过文字转述这一步。

二、Cowart 是什么?

一句话:Cowart 是一个运行在本地的无限画布,通过 MCP 工具与 Codex 深度集成。

拆开来看:

  • 无限画布:基于 tldraw,你可以在上面自由绘制、拖拽、标注
  • 本地运行:画布服务跑在你自己的机器上,默认端口 43217
  • 数据本地化:所有画布数据和图片资源保存在你当前项目的 canvas/ 目录,不上传到任何地方
  • MCP 集成:通过 Model Context Protocol,Codex 可以读取画布状态、插入图片、保存资源

它的核心工作流是这样的:

  1. 在 Codex 对话中说「Open the Cowart canvas for this project」
  2. 本地画布在浏览器中打开
  3. 在画布上创建 AI image holder(图片占位符),或者对已有图片做标注
  4. 告诉 Codex 要做什么——生成新图、根据标注修改图、或者把图片插入到项目中

三、三个核心能力

1. 画布驱动的图片生成

传统的 AI 图片生成是纯文字驱动的:你写 prompt,AI 生成图片。

Cowart 加了一层视觉控制。你可以在画布上创建一个 AI image holder,它带有明确的尺寸和比例。然后告诉 Codex 在这个 holder 里生成图片。Codex 会读取 holder 的属性,按比例生成,直接插入到画布中。

这意味着你可以先在画布上规划好构图——哪里放 hero 图、哪里放产品截图、哪里放图标——然后让 AI 按照你的布局逐个填充。视觉规划在先,AI 执行在后。

2. 标注驱动的图片迭代

这是 Cowart 最实用的功能。

流程是这样的:

  1. 在画布上放一张已有的图片
  2. 用 tldraw 的标注工具在图上画箭头、写文字、画圈
  3. 截图,把截图发给 Codex
  4. 说:「Use my Cowart annotation screenshot to generate a clean revised image beside the original」

Codex 会读懂你标注的含义——箭头指向哪里、文字说了什么、哪些部分需要修改——然后生成一张去掉标注痕迹的新图,放在原图旁边。原图和标注保持不动。

这个流程解决了 AI 图片迭代中最头疼的问题:怎么让 AI 理解你对图片的具体修改意见?

以前你需要写一大段文字描述「把左上角的 logo 放大两倍,把背景色从灰色改成白色,把底部的文字往上移 20 像素」。现在你直接在图上画出来,AI 就能看懂。

3. 项目级的资产持久化

Cowart 的画布数据不是存在插件仓库里的,而是存在你当前项目的 canvas/ 目录下:

canvas/pages/<page-id>/cowart-canvas.json
canvas/pages/<page-id>/assets/

这意味着画布是项目的一部分。你的构思、标注、生成的图片,都跟着项目走。换一台电脑、换一个开发者,只要项目在,画布就在。

这对于需要保留设计迭代过程的项目尤其有价值——你可以看到每一次标注、每一个版本、每一个修改意见。

四、技术架构

Cowart 的架构设计体现了「简单但有效」的原则:

  • 前端:tldraw 无限画布,跑在本地 Vite 开发服务器上
  • 通信层:MCP 工具让 Codex 可以读写画布状态
  • 数据层:JSON + 本地文件系统,没有数据库依赖
  • 集成方式:Codex 插件,通过 .codex-plugin/plugin.json 声明技能和工具

MCP 工具包括:

  • cowart:cowart-open-canvas:打开本地画布
  • cowart:cowart-image-gen:生成图片插入到选中的 holder
  • cowart:cowart-image-edit:根据标注截图生成修订图

这种设计让 Cowart 既是一个独立的可视化工具,又是一个深度集成的 AI 编程辅助工具。

五、为什么需要 Cowart?

你在做需要视觉沟通的项目。 UI 设计、产品原型、营销素材、文档配图——这些场景都需要你跟 AI 进行视觉层面的沟通。文字描述永远不如直接在图上标注来得精确。

你希望 AI 的图片生成更可控。 通过画布上的 holder 控制比例和位置,比纯 prompt 控制要直观得多。你不需要反复调整 prompt 来让 AI 生成正确尺寸的图片。

你需要快速迭代视觉方案。 标注 → 截图 → AI 生成修订图的流程,比「写 prompt → 生成 → 不满意 → 改 prompt → 再生成」要快得多。你在图上画一个箭头就表达了修改意图,AI 立刻执行。

你的数据敏感,不想上传到第三方。 所有画布数据都在本地,图片资源也在本地。Cowart 不收集任何数据,不调用外部服务,不上传你的草图和标注。

你在用 Codex 做开发。 Cowart 是 Codex 的原生插件,安装后直接在对话中使用,不需要切换工具或复制粘贴。

六、安装和使用

让 Codex 自动安装

把这段话发给 Codex:

请从 https://github.com/zhongerxin/cowart.git 安装 Cowart Codex 插件。
请 clone 仓库到 ~/plugins/cowart,确认 .codex-plugin/plugin.json 存在,
把插件加入 personal marketplace,然后运行 codex plugin add cowart@personal。
安装后请校验插件,并告诉我是否需要开启一个新对话来加载新技能和 MCP 工具。

手动安装

mkdir -p ~/plugins
git clone https://github.com/zhongerxin/cowart.git ~/plugins/cowart
cd ~/plugins/cowart
npm install
npm run build

配置 marketplace.json 后安装:

codex plugin add cowart@personal

日常使用

在 Codex 中说:

Open the Cowart canvas for this project.

画布会在浏览器中打开(默认 http://127.0.0.1:43217/)。

生成图片:

Generate a new image into the selected Cowart AI image holder.

根据标注修改图片:

Use my Cowart annotation screenshot to generate a clean revised image beside the original.

七、哪些情况不一定需要

  • 如果你只需要纯文字的代码生成和修改,不需要视觉沟通,Codex 本身就够了
  • 如果你不需要在图片上做标注迭代,传统的 prompt 驱动方式可能更直接
  • 如果你对 tldraw 不熟悉,需要先学习画布操作
  • 目前 Cowart 还比较新(v0.1.3),功能在快速迭代中,可能缺少一些高级特性

八、总结

AI 编程工具正在补齐它们的短板。

先是代码理解,然后是项目上下文,再然后是命令执行。现在,Cowart 开始补齐「视觉理解」这块拼图。

它不是要替代你的设计工具,而是要让 AI 编程助手具备「看图说话」的能力——而且是双向的:你可以在画布上画出你的想法,AI 可以在画布上呈现它的理解。

当 AI 不只是能读懂代码,还能看懂你的草图和标注,人机协作的效率会再上一个台阶。

这就是 Cowart 的价值所在。

仓库:https://github.com/zhongerxin/Cowart

相关文章

AntV Infographic:让 AI 生成真正可编辑的信息图

AntV Infographic:让 AI 生成真正可编辑的信息图

痛点切入 AI 生成信息图最尴尬的地方,不是它不会画,而是它画完以后很难改。 让模型直接生成一张图片,第一眼可能还行。可一旦你想改文案、换颜色、删掉一个模块、把第二步挪到第三步,马上就进入“ ...

LongCat-Video:美团开源 13.6B 视频生成模型,长视频才是真正的战场

长视频生成为什么难 你可能已经体验过不少视频生成工具——Kling、Runway、Pika、Wan2.1……5 秒的片段看起来都不错。但当你尝试生成 30 秒甚至分钟级视频时,问题就来了。 ...

Cell Architecture Studio:用 3D 探索细胞,开源

生物课本有一个问题。 里面的图是平的。细胞器用箭头标注,三四个箭头指向同一个位置。内质网怎么包裹细胞核、线粒体怎么在细胞质里漂浮——这些空间关系,你得盯着静态插图读一段文字来理解。 Cell Ar ...

Manim 全面对比:3b1b 原版 vs 社区版,87k+39k star 的两个数学动画引擎怎么选

痛点切入 你看过 3Blue1Brown 的视频——那些丝滑的数学可视化动画,傅里叶变换在屏幕上旋转,线性代数的矩阵变换实时作用于几何图形。你想做类似的东西,但打开 PowerPoint 做不 ...

Claw Code:193K 星的开源 Agent Harness,AI 编程的下一个战场

Claw Code:193K 星的开源 Agent Harness,AI 编程的下一个战场

此项目建立的初衷 过去一年,AI 编程工具的变化非常快。 最早,开发者用 AI 主要是为了补全代码。后来,AI 开始进入聊天窗口,帮我们解释代码、生成函数、排查报错、写测试用例。再后来,Cu ...

Math-To-Manim:六个 AI Agent 推理链,把数学问题变成电影级动画

痛点切入 你是一个数学老师或物理科普作者。你有一个想法——"用动画解释傅里叶级数的旋转矢量叠加"。你打开 Manim,发现要写 200 行 Python 代码,调试相机角度、字体大小、动画时序 ...