uTools 插件开发专家
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_879648bc/utools-dev-skill。
技能介绍
解决什么问题
uTools 插件看似门槛不高,实际开发中却有大量分散在文档、论坛和踩坑记录里的约束:plugin.json 的入口与指令配置、preload.js 必须遵循 CommonJS 且不可混淆打包、utools.* 各系列 API 的签名与边界、db 存储的写入限制与合规红线、Electron 能力在插件结构中的正确接入方式,以及 dev/build 双模式下的构建产物清理。新手容易在这些环节反复试错,老手也常在版本兼容和审核规则上栽跟头。
它如何工作
本技能以双角色协同的方式工作:当你问 utools.* API、plugin.json、preload.js、构建配置或打包发布时,激活 uTools 插件开发专家视角;当问题涉及 BrowserWindow、IPC、Node.js 原生模块、屏幕录屏、系统对话框、剪贴板等 Electron 底层能力时,激活 Electron 开发专家视角;当需要在插件中使用某项 Electron/Node.js 能力时,双角色协同给出边界与接入方式。回答 API 类问题前必须先查阅 references/uTools-Dev-Doc.md 对应章节,实际可能踩坑的场景再查 references/uTools-Plugin-Dev-Record.md,不凭记忆编造。
核心流程覆盖全流程:选择官方 Vue 3 + Vite 或 React + Vite 模板搭建项目,在 public/ 中编写 plugin.json 与 preload.js,通过 development.main 接入热更新调试;构建时由 Vite 插件自动移除 development 字段,产物落入 dist/;最后在开发者工具中选择 dist/plugin.json 打包发布。数据存储按场景三选一:跨设备同步用 utools.db,且只存用户主动创建的数据;缓存与临时状态用 dbStorage;敏感配置用 dbCryptoStorage。关键约束包括 preload.js 源码透明不可压缩、写操作间隔不小于 300ms、插件窗口高度保持默认、发布前移除 .git/ 等目录。
注意点与边界
使用前请接受它的查证规则:涉及 API 用法必须先查文档再回答,否定性结论(如"无此 API")需要附检索记录,本地文档未收录时统一表述为"本地参考文档未收录"并指引查阅官方文档。它不覆盖 uTools 主程序本身的 Bug、纯前端框架运行时问题、需要编译 C++ addon 的原生模块适配,也不处理插件市场审核申诉。如果插件仅服务 AI Agent,可以采用无 UI 的最小配置,但仍需 logo、preload 和 tools 字段。
使用场景
- 第一次做 uTools 插件,需要从官方 Vue 3 + Vite 模板生成项目骨架并接入热更新调试
- 已有项目出现 `preload.js` 报 `require is not defined`,需要定位 CommonJS 解析或 `type` 字段问题
- 要用 `plugin.json` 的 `features.cmds` 配置正则或剪贴板图片匹配指令
- 写 `db` 写入逻辑时需要确认 300ms 间隔约束,避免触发存储死循环导致 uTools 卡死
适合人员
- 首次在 uTools 生态发布插件的个人开发者,需要从模板到打包的完整引导
- 负责 uTools 插件客户端的前端工程师,需要解决 `preload`、`plugin.json` 与构建配置问题
- 想把内部小工具改造成 uTools 插件并接入 AI Agent 的后端或工具开发者
- 维护已上架 uTools 插件的开发者,需要处理数据存储合规、审核前打包清理与版本兼容