Skip to main content
Browse the docs

The developer docs are currently available in Chinese only. The SDK, the CLI and every code sample work the same in any language.

Chapter 16

限制与常见问题

已知限制、FAQ、API 变更记录

当前限制

  • 插件只在桌面端运行;网页版 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)。