当前限制
- 插件只在桌面端运行;网页版 UniMind 看不到插件的工具(历史对话里的插件调用卡片只读显示)。
- 插件没有自己的 LLM / 网络搜索能力;需要生成内容时交给 UniMind(
askUniMind)。 - 不能贡献全局界面元素(侧边栏按钮、日历视图里的自定义渲染、右键菜单);入口是插件库、⌘K、UniMind 与自己的面板。
- 安装是按设备的(每台电脑分别添加);启用状态跟账号走。插件存储(
storage)跨设备同步。 - 所有插件与应用自己的命令共用 UniMind 约 80 个工具名额;启用的插件很多时,排在后面的插件工具可能不会出现在某一轮的清单里。
- 不支持
eval、Web 字体外链、远程图片、iframe 嵌入外部网站。
FAQ
Q:可以用 Vue / Svelte / 原生 Web Components 写面板吗?
可以。面板只是一个 HTML 页面,@uniflow/plugin-sdk/panel 的 connectPanel() 与框架无关;构建时 panel/main.* 由 esbuild 打包。
Q:怎么在命令里用第三方 npm 包?
直接 import,build 会把它打进 main.js。注意沙箱 Worker 里没有 DOM、没有网络;包体积计入 4 MB 上限。
Q:怎么让 UniMind 更准确地调用我的命令? 写好 description(何时用、参数、结果、上限),参数用 enum / pattern / minimum 约束,结果带字符预算, 并提供一个便宜的读命令让模型先查 id(「Call list_decks first」)。
Q:用户移除插件后数据还在吗? 在。再次添加(同一个 id)后接着用。
Q:能不能在两个插件之间共享数据? 不能直接共享存储。需要协作时由用户在 UniMind 里串起两个插件的命令。
Q:插件怎么知道自己在哪个版本的 UniFlow 里?
不需要知道:需要新能力时写 minAppVersion。
API 变更记录
- 包格式 v1 / 协议 v1(UniFlow 1.3.0):首个开放版本。相比内置插件时代(V2):插件代码移入沙箱,
ctx上的能力全部异步; 命令的 title / description / parameters 由 build 抽进 manifest;新增networkHosts、undoable、minAppVersion、author、categories;ui.panel对所有插件开放(面板运行在沙箱 iframe)。