Files
Qiufeng 84e9e7bff5
GitHub Pages / build (push) Canceled after 0s
GitHub Pages / deploy (push) Canceled after 0s
Docker image / meta (push) Successful in 24s
Docs Docker image / meta (push) Successful in 7s
Docker image / build (amd64, linux/amd64, ubuntu-latest) (push) Failing after 59s
Docs Docker image / build (amd64, linux/amd64, ubuntu-latest) (push) Failing after 30s
Docker image / merge (push) Canceled after 0s
Docs Docker image / merge (push) Canceled after 0s
Docker image / build (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
Docs Docker image / build (arm64, linux/arm64, ubuntu-24.04-arm) (push) Canceled after 0s
release: v0.17.0
2026-08-19 22:09:49 +08:00
..
2026-08-19 22:09:49 +08:00
2026-08-19 22:09:49 +08:00
2026-08-19 22:09:49 +08:00
2026-08-19 22:09:49 +08:00
2026-08-19 22:09:49 +08:00
2026-08-19 22:09:49 +08:00

插件模板(TypeScript + SDK)

复制本目录即可开始写一个新的画布节点插件。

上手

cp -r plugins/canvas/template plugins/canvas/my-plugin
cd plugins/canvas/my-plugin
# 改 package.json 的 name;改 src/index.tsx 里的 id / name / type
npm install
npm run dev      # watch 构建到 dist/my-plugin.js
npm run typecheck

然后将需要的节点定义在应用源码中注册,启动画布 web 即可看到节点。扩展随应用源码和构建产物发布,不通过 URL 安装。

产物名取目录名(my-plugin/ → my-plugin.js),所以复制后记得把目录改成你的插件名。

你只需要关心

  • src/index.tsx 里 Content({ ctx }) 的节点 UI 与逻辑;
  • definePlugin({...}) 里的 id / nodes[].type / defaultSize 等元信息。

类型、JSX、宿主 React、构建都由 @miragenflow/plugin-sdk 提供,写 TSX 全程有补全。ctx 的完整能力见 plugins/canvas/README.md 与 SDK 的类型定义。