一张自由画布,把素材和AI 动作组织成一条可以回头看的创作过程。它的核心不是“更聪明的模型”,而是把 AI 做过的事变成可编辑、可接管、可追溯的结构。
怎么长出来的
四天,10 次提交(2026-09-08 → 09-11),而且是文档先行的。
第一天就把需求、架构、术语表、组件地图四份文档立起来:需求文档是唯一来源,术语表统一叫法,组件地图让“界面上哪个块叫什么”有据可依。之后每加一个交互,先落到需求,再落到代码。
这个顺序在第三天救了一次:核查“为什么 5 个能力里有 3 个是假数据”时,顺着需求往回查,发现问题不在展示,而在数据层——原地替换把提示词抹掉了。据此写了一份改造提案,另一份关于“衍生新节点”的提案则因为误读了外部报道而被否决、存档、不删除。两条都留在仓库里。
和主线的结合点
站点的主线是「探索面向 AI 的交互边界」,三条判据:① 产出可继续编辑的结构 ② 能主动发起 ③ 和人共用工作台。
前四件作品里,② 一直是空的——它们都是“你操作、它响应”。weave 是第一个把它做实的:
- 关系带
origin:人类创建的是manual,Agent 规划出来的是agent - 画布上因此有两种线:手动 = 实线,Agent = 虚线
- 你拖动端点重连,它就从
agent翻回manual,虚线变实线
AI 做的动作和人类做的动作在数据结构上是同一种东西,只是来源标记不同——所以“我不满意,我接手”才有落点,而不是把 AI 的结果当成一个黑盒产物。
① 也顺带成立:产物本身就是素材,可以立刻被当成下一次调用的输入。③ 是它的形态:一张共享画布、多项目、断网可用。
难点
最难的是“静默失败”。 没有配密钥、或者某项模型留空时,能力层会回退到本地示例:生成一张占位图、一段合成提示音、一份切词镜头表。问题是——这些在画布上看起来和真结果没有区别。
这不是 bug,是设计漏了一件事:失败必须可见。现在它会明确报错的情况只有“未配置 AI 接入”这一种,其余都静默降级。改造方向写在提案里了,还没动工。这一条我如实标出来。
第二难的是不让连线变成第二份真相。 画布上的线看起来像是关系本身,但真正的关系数据只有一份,连线只是它的投影。任何一次“直接改连线”的便利写法,都会让两边各说各话。所以连线的重连、生成边的折叠(产物等于输入时它是自环,不画)全部回到数据层算。
第三难的是让 Agent 的动作“长得一样”。 Agent 和人类走的是同一条落库路径:同样生成 Action、同样建立关系、同样可以编辑删除重跑。听起来只是复用,但它决定了整个功能是否成立——如果 Agent 的产物是特殊类型,“接管”就无从谈起。
亮点
关系按来源分线型。 实线 = 人做的,虚线 = AI 做的,人一改就翻回实线。一行判断,把“这东西是谁的”直接画在界面上,不用额外的状态标签,也不用解释。
无密钥时 Agent 依然可用。 规划优先让模型做;没配密钥、调用失败、或输出不可用时,回退到确定性的关键词规则,而且入口永不抛错。所以这是一个“没配 AI 也能完整演示”的 AI 产品——它的卖点是结构,不是模型。
组件标注是同一份数据的三个投影。 术语表、代码名、说明写在同一个文件里,被三处消费:画布上的实时标注(每个组件被框出来、贴上术语,跟着平移缩放走)、术语速查面板(悬停一条术语就在画布上高亮对应组件)、以及文档截图脚本。

界面能被自己解释。 打开标注模式,一个访客不需要读说明书,就能看出“这块叫工具栏、这个叫素材卡、这里浮出的是 AI 浮窗”。对一件要展示交互设计的作品,这比任何一段文字都有用。
