Agent Skills
返回列表
uTools 插件开发

uTools 插件开发

开发编程 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_39b984b3/utools-dev 技能,用于 uTools 插件开发。

技能介绍

写一个能用的 uTools 插件,难在哪

实际动手才会发现坑:plugin.json 字段写错插件打不开;开发时改了代码没生效;preload 被构建工具打包压缩,审核直接挂掉;或者缓存顺手写进 utools.db,插件被下架。这个技能的价值在于把约束前置——写代码之前先明确红线,而不是上线后才从审核意见里学到。

技能如何工作

围绕「规范 + 索引」组织,而不是把所有 API 抄一遍:

  • 查文档优先:API 签名、参数、返回值都在 references/utools-api.md,需要时读取对应章节,不凭记忆猜测。
  • 两套模板:Vue 3 + Vite 与 React + Vite 各一套目录结构;入口组件统一在 onMounted / useEffect 中注册 utools.onPluginEnter,根据 action.code 做功能路由。
  • dev/build 分界:HMR 模式保留 development.main、接入 public/;stripDevelopmentField vite 插件保证 build 后 dist/plugin.json 干净,产物由构建自动生成。

容易踩的几条红线

  • preload 源码必须可读:CommonJS 写法、不打包不混淆,preload/ 下放 {"type":"commonjs"},第三方依赖放同级 node_modules 不编译,只通过 window.xxx 暴露必要能力。
  • utools.db 只存用户主动创建的数据:笔记、收藏、用户配置可以;缓存、日志、临时状态、统计计数一律用 dbStorage 或内存变量。这条直接关系能否上架。
  • 平台细节:路径一律 path.join(),不硬编码分隔符;type: "window" 的 class 字段仅 Windows 有效;macOS 的 app 字段带 .app 后缀;部分 API 在 Linux 不可用。

什么时候不该用它

技能只覆盖 uTools 插件开发,不涉及插件分发、商店运营或跨设备同步策略设计;它也不替代官方文档——需要某个 API 的完整签名时,正确动作是打开 references/utools-api.md 对应章节。

使用场景

  • 独立开发 uTools 插件时,基于 Vue 3 + Vite 或 React + Vite 模板搭项目骨架,配置 plugin.json 的 main 与 preload 字段
  • 本地联调需要热更新,按 dev/build 双模式接入 public/ 与 development.main,发布前确认 build 产物干净无残留
  • 为插件编写 preload 原生脚本,用 CommonJS 通过 window.xxx 向渲染进程暴露能力,保持源码可读以通过审核
  • 插件要存用户笔记、收藏等数据,需要区分 utools.db 的适用边界,把缓存和日志改用 dbStorage 或内存变量

适合人员

  • 想上架自己第一个 uTools 插件的独立开发者,需要避开 preload 混淆和 db 滥用这类审核红线
  • 熟悉 Vue 或 React 的前端工程师,第一次把现有页面改造成 uTools 插件并接入 HMR 调试
  • 用 AI 辅助写插件代码的工程师,要求生成的调用符合平台规范而非凭记忆捏造 API
  • 给团队工具做 uTools 版客户端的开发者,需要统一目录结构、preload 规范和数据存储方案