做一个自定义组件
想要的组件还不存在时的三条路——让 Agent 做一个、在仓库里贡献一个内置组件,或自己开发后用 CLI 发布。
内置组件覆盖不到你的需求时,有三条路。绝大多数人要的是第一条。
路径 1:让 Agent 做(无需写码、无需仓库)
在对话里描述你想要的组件——倒计时器、看板、计算器、某种特定的交互组件。Agent 会搭骨架、写代码、编译检查,并发布到你的私有组件库。
产物和内置组件行为一致:自带数据与配置、Agent 能驱动它、可跨文档复用。你也可以把它发布到市场,供其他人使用和收藏。
这是产品设计的主路径,不需要安装任何东西。
路径 2:贡献内置组件(面向仓库开发者)
内置组件存放在 VizChat 仓库里、随产品一起发布。这条路适合把组件贡献回 VizChat 本身,而不是解决一次性需求。
前置条件:克隆仓库并搭好本地开发环境,熟悉 TypeScript 和 Zod。
推荐:用 /build-builtin-widget skill,它会走完「需求澄清 → 脚手架 → 实现 → 验证」全流程,与手动步骤等价但更不容易出错。
手动流程是:
- 脚手架:用
create:widget脚本生成骨架,并选择挂载方式——inline(渲染在宿主页面内)或nested(渲染在自己的 frame 里)。 - 实现 schema、reducers 和视图。参考
builtin-widgets/下已有的组件,bar-chart是不错的起点。 - 验证:跑类型检查和该组件的单元测试。
- 编译与种子:重启后端,它会编译内置组件并 seed 到对象存储。组件源码不会热重载,改完需要重启后端并刷新页面。
每个组件在自己的 package.json 里声明元数据与入口;具体字段以脚手架模板为准,这里不逐一罗列,以免随工具链演进而失准。
路径 3:本地开发并用 CLI 发布(面向独立开发者)
在自己的机器上、用自己的编辑器开发 widget,然后用 vizchat-widget CLI 登录、本地预览(含讲稿语音)并发布到 Marketplace——不需要克隆 VizChat 仓库。完整流程见用命令行发布 widget。
我该走哪条?
| 你想要 | 选 |
|---|---|
| 现在就要一个自己用的组件 | 路径 1——让 Agent 做 |
| 团队可复用的东西 | 路径 1,然后发布到市场 |
| 随 VizChat 发布给所有用户的组件 | 路径 2——贡献内置组件 |
| 用自己的工具链开发、发布到市场 | 路径 3——CLI 发布 |