用途:当用户希望把 AI 生成的图片放到 Cowart 画布上时使用本技能。若已选中“AI 图片”占位符(holder),则以该占位符的尺寸与位置为精确目标,默认会被生成图替换;未选中占位符时也可独立生成并插入当前页面。
前置条件:确保所需的 cowart_mcp 工具可用;不要例行调用 render_cowart_canvas_widget。Cowart 状态通过 MCP 工具读写。占位符为带 meta.cowartAiImageHolder 的 tldraw frame,旧画布可能使用同标记的 geo rectangle,需同时支持。
主要能力与用法:用 get_cowart_selection 读取选中形状并判断是否为 AI 图片占位符(isAiImageHolder 或 meta.cowartAiImageHolder 为 true)。若命中,记录 props.w、props.h 及约简后的宽高比,生成时按该尺寸与比例构图,不依赖拉伸或裁剪;默认用 insert_cowart_image 以占位符 id 为 anchorShapeId 插入图片并移除占位符。若未选中占位符,直接生成并把图片作为普通 image 形状插入当前页面,可放在选中非占位符形状旁或页面空白处。生成默认使用内置 imagegen;若需要文字、标签、海报文案等,应直接写入生成提示词,让模型产出最终位图。
输出处理:先确认本次生成的实际本地图片路径;若无返回路径,可从当前会话 JSONL 的 image_generation_call.result 提取 PNG/base64 并写入带时间戳的文件。仅在能证明文件由本次请求创建时才使用 $CODEX_HOME/generated_images,避免使用旧图。项目内输出可复制到 canvas/pages/<page-id-without-page-prefix>/assets/,资源 URL 使用 /page-assets/<page-id-without-page-prefix>/<filename>。
限制与注意:不要因为未选中占位符就拒绝生成;不要覆盖已有资源文件,使用带时间戳文件名;旧版旋转 geo 矩形需保留相同旋转;若占位符内已有旧图,替换时应移除占位符及其子图并新建一个普通 image 形状。具体各工具的完整参数与更多平台细节资料未提供。