Cowart Cowart 是一个面向 Codex 的原生无限画布 widget 插件。它基于 tldraw 提供可视化画布,用于构思、标注、生成图片和根据标注图迭代图片。画布由 MCP widget 直接打开,数据默认保存到当前用户项目的 canvas/ 目录,而不是保存到插…
Cowart Cowart 是一个面向 Codex 的原生无限画布 widget 插件。它基于 tldraw 提供可视化画布,用于构思、标注、生成图片和根据标注图迭代图片。画布由 MCP widget 直接打开,数据默认保存到当前用户项目的 canvas/ 目录,而不是保存到插…
Cowart 是一个面向 Codex 的原生无限画布 widget 插件。它基于 tldraw 提供可视化画布,用于构思、标注、生成图片和根据标注图迭代图片。画布由 MCP widget 直接打开,数据默认保存到当前用户项目的 canvas/ 目录,而不是保存到插件仓库里。
仓库同时遵循 Agent Plugins v1.0.0:根目录的 plugin.json、skills/ 和 mcp.json 提供可移植插件入口;.codex-plugin/plugin.json、.mcp.json 和 .agents/plugins/marketplace.json 保留 Codex 专用的界面与安装元数据。
English README: README.en.md
无需安装,直接开始。
在 Codex 内置浏览器中打开 cowart.jiqiren.ai,完成登录进入画布,然后开始你的创作。
AI HTML 框,通过 prompt 和参考图生成可运行的单文件 HTML,并直接嵌入画布继续编辑或迭代。AI Slides,将图片和 HTML 组织成演示文稿,或让 Codex 按指定页数生成一组 16:9 HTML 页面;支持缩略图预览和全屏播放。[!IMPORTANT] 安装完成后,请务必完全退出并重新启动一次 Codex,再开始使用 Cowart。重启后,Cowart 的新技能和 MCP 工具才能完整加载。
把下面这段发给 Codex:
请通过 Cowart 仓库自带的 Git marketplace 安装 Cowart Codex 插件。
先运行 codex plugin marketplace add zhongerxin/Cowart --ref main,
再运行 codex plugin add cowart@cowart-github,并用 codex plugin list 确认插件已启用。
Cowart 发布包已经包含自包含 MCP 和预构建 Widget;安装后不会在插件缓存里执行 npm install,也不要求新用户预装 tldraw;
不要在当前仓库、插件缓存或 marketplace 快照目录手动安装依赖。
不要把仓库 clone 到 personal marketplace。安装完成后请明确提醒我:
必须完全退出并重新启动一次 Codex,再开始使用 Cowart。
先把 Cowart 的 Git 仓库注册为 Codex marketplace:
codex plugin marketplace add zhongerxin/Cowart --ref main
再从这个 marketplace 安装并检查 Cowart:
codex plugin add cowart@cowart-github
codex plugin list
不需要手动查找插件缓存目录。Cowart 的 Git 版本已经跟踪自包含 MCP bundle 和预构建的单文件 Widget;Codex 可以直接发现 render_cowart_canvas_widget,运行时不会执行 npm install,也不依赖插件缓存中的 node_modules、tldraw、npm 或网络。开发依赖只用于 Cowart 维护者在发布前重新生成这些产物。
如果 cowart-github 已经注册,可以跳过第一条 marketplace add 命令。安装后请完全退出并重新启动一次 Codex,让新的 skill、MCP 工具和发布产物完整加载。
Codex 会在启动插件系统时自动检查这个 Git marketplace,并在远程 main 分支发生变化后刷新已安装的 Cowart。需要立即检查更新时,可以手动运行:
codex plugin marketplace upgrade cowart-github
更新可能会替换插件缓存。更新后请完全退出并重新启动 Codex;Cowart 会直接加载随版本发布的 MCP 和 Widget 产物,不会在新缓存中安装依赖。
在 Codex 中说:
Open the Cowart canvas for this project.
Cowart 会通过 render_cowart_canvas_widget 打开 Codex 原生 widget,不需要再启动本地网页服务或手动打开 in-app browser。scripts/start-canvas.sh 只保留为本地开发 fallback。
画布数据会保存在当前项目目录下:
canvas/pages/<page-id>/cowart-canvas.json
canvas/pages/<page-id>/assets/
AI 图片 框。Cowart 会把 prompt、参考图和选中 AI 图片 框的尺寸信息发送给 Codex。Codex 会按这个框的位置和比例生成图片,然后把 AI 图片 框替换成普通图片形状。
按标注修改。Codex 会读取截图里的标注和箭头,生成去掉标注痕迹的新图,并把结果放在原图旁边。原图和标注不会被删除或移动。你也可以手动把 Cowart 标注截图发给 Codex,走同样的修订流程。
AI HTML 框;新建框默认是 1024 × 576(16:9)。AI HTML 框。生成后的 HTML 会作为画布中的嵌入页面保存在当前 page 的 assets/ 目录。选中它后可以下载渲染图、直接编辑文本,也可以结合画布标注继续修改 HTML,或根据 HTML 和标注生成图片。
AI Slides。默认外框是 1048 × 600,对应一页 1024 × 576(16:9)内容和四周各 12px 的留白。演示 Slides,可以通过左侧缩略图预览和切换页面,也可以进入全屏播放。全屏时支持方向键、空格键和点击静态画面翻页;HTML 自身的按钮、链接和表单交互会保留,播放控制栏固定在顶部。cowart:cowart-open-canvas:打开 Cowart 原生画布 widget。cowart:cowart-image-gen:接收画布内 prompt 和参考图,用生成图片替换选中的 AI 图片 框;没有选中框时也可以把生成图插入当前页面。cowart:cowart-image-edit:根据画布提交或用户提供的 Cowart 标注截图生成修订图。npm install
npm run dev
npm run build
npm run build 会重新生成并校验 mcp/generated/ 下需要随 Git 版本提交的自包含 MCP 和 Widget 发布产物。提交源码改动前还应运行 npm run quality,其中包含一个没有 node_modules、使用全新临时目录且禁止调用 npm 的冷启动探针。
本地开发时仍可以直接启动 Vite 画布服务,并指定用户项目目录:
./scripts/start-canvas.sh /path/to/user/project
常用环境变量:
COWART_PORT:本地服务端口,默认 43217。COWART_PROJECT_DIR:画布数据所属的用户项目目录。COWART_CANVAS_DIR:画布数据目录,默认是 $COWART_PROJECT_DIR/canvas。Widget 会记录匿名产品事件(canvas_opened、annotation_created、ai_generation_requested、widget_prompt_sent),不包含 prompt、文件名或画布内容。
track_cowart_analytics_event MCP 工具,服务端同时投递 GA4 Measurement Protocol 与 PostHog。.codex-plugin/posthog.json;本地覆盖用 .codex-plugin/posthog.local.json 或 COWART_POSTHOG_PROJECT_TOKEN。ZHONG XIN
[email protected]
https://www.jiqiren.ai
Cowart 的画布能力基于 tldraw/tldraw 实现。
Token Arena 是一个 Agent 游戏竞技场:你选游戏、发起对战,Agent 替你上场,每一步决策都能看到。目前开放免费练习赛。
No open issues yet, or sync has not completed.