像用应用商店一样,管理你的 AI 技能。
SkillSync 是一个桌面应用。它把公司的 AI 技能库变成可浏览、可搜索、一键获取的商店界面, 让不熟悉命令行的同事也能用上团队沉淀的 AI 能力——全程不需要接触任何开发工具。
获取的技能会自动出现在你电脑上的 AI 工具里(Claude Code、Cursor、Codex、Trae 等), 下次和 AI 对话时,它就知道该怎么帮你做那件事。
AI 技能(skill)是一份写给 AI 的说明书,告诉它遇到某类任务时该怎么做—— 比如"把这周的工作记录整理成周报"、"按公司模板写会议纪要"。 一个人写好,全组都能用。
难点从来不在写,而在分发:过去要用上别人写的技能,得会用命令行工具、 得知道技能库在哪、得手动把文件放进正确的目录——而每个 AI 工具的目录还都不一样。 技能更新了也没人通知你。
SkillSync 把这些全包了:
| 你想做的事 | 在 SkillSync 里 |
|---|---|
| 看看团队有哪些技能 | 打开技能商店,搜索、看介绍 |
| 用上某个技能 | 点「获取」,勾选要在哪些 AI 工具里生效 |
| 技能出了新版本 | 自动检查并通知,一键更新 |
| 把自己的技能给团队 | 在我的技能里点「分享」,确认一下就好,不用填表 |
| 从零写一个新技能 | 我的技能页点「新建技能」,给你一份模板 |
- 从内部渠道取得
SkillSync_<版本号>_universal.dmg(当前0.3.11) - 双击打开,把 SkillSync 拖进「应用程序」文件夹
- 直接双击启动
分发时请发 dmg 文件本身或下载链接。用聊天软件直接发应用程序(
.app)会因为 压缩解压丢失文件权限而无法打开——那不是应用的问题,换 dmg 即可。
应用已通过 Apple 签名与公证,不需要右键打开、也不需要去系统设置放行。 Apple Silicon 与 Intel 两种 Mac 都支持。
- 从内部渠道取得
SkillSync_<版本号>_x64-setup.exe(当前0.3.11,64 位) - 双击安装。它按当前用户安装,不需要管理员权限、不会弹 UAC
- 从开始菜单启动
Windows 会提示「Windows 已保护你的电脑 / 未知发布者」。这是因为安装包还没有 代码签名证书,不代表有问题:点「更多信息」→「仍要运行」即可。
安装包为 64 位(x64)。
首次启动有一个三步引导:
① 认识你的 AI 工具 应用会扫描这台电脑,列出找到的 AI 工具。之后获取的技能会自动对它们生效。 没检测到也不要紧——技能仍会存好,等你装了工具就能用。
② 登录公司技能库 登录后才能把自己的技能分享给团队。 只是想用别人的技能,可以先跳过,之后随时能在「设置」里补登。
③ 装上第一批技能 如果团队准备了精选清单,这里可以勾选后一键装上;没有清单就直接去商店逛。
引导只出现一次。
左侧是导航栏,三个页面:技能商店 · 我的技能 · 设置。
⌘1 ⌘2 ⌘3 快速切换。
0.6.0起没有单独的「分享」页了:新建技能与分享都在「我的技能」上完成—— 你的技能本来就都列在那儿,不必再去另一页找一遍。
找
- 顶部搜索框直接输关键词(用拼音输入法打字时不会误触发搜索)
⌘K打开命令面板,输几个字直接跳到某个技能/快速聚焦搜索框- 上方筛选可以只看「未安装」或「已安装」
- 技能库管理员给技能打了标签时,筛选下方会多一行标签,点一个只看这类技能 (再点取消)。库里没配标签就不显示这一行。
看 点技能卡片,右侧展开详情面板:完整说明文档、所属技能库、当前版本。 技能库管理员配置了作者信息时,卡片底部会显示作者,详情面板会显示作者与贡献者 (没配置就不显示这一栏,应用不会瞎猜)。
装 点卡片上的「获取」,勾选要在哪些 AI 工具里生效—— 只在 Claude Code 里用它,就只勾 Claude Code。装完按钮变成「已启用」。
装到某个项目文件夹(0.5.0 起)
「获取」按钮右边有个小箭头,点开可以选「装到项目…」,选一个文件夹,
技能就只装进那个文件夹、只在那里生效——适合"这个技能只跟这个项目有关"的情况。
装过之后,箭头菜单里会列出最近用过的文件夹,下次点一下就装。
装进项目的技能用的是与命令行工具 npx skills 完全相同的存放方式:
文件放在 <你的文件夹>/.agents/skills/ 下,记录写在文件夹根部的 skills-lock.json。
所以两边能互相认出对方装的技能——你用 SkillSync 装的,同事用命令行也能看到和更新。
这个菜单里的工具选择沿用设置里的默认(没被你关掉的那些),不再单独问一次。 要改某个技能在哪些 AI 工具里能用,去「我的技能」里改。
按钮上的四种状态
| 显示 | 含义 |
|---|---|
| 获取 | 还没装 |
| 已启用 | 装好了,且是最新的 |
| 更新 | 装过了,技能库里出了新版本 |
| 替换 | 你装的同名技能来自另一个技能库,点了会换成当前这个 |
「替换」和「更新」是两回事。 同名技能来自不同技能库时,内容通常完全不同。 应用不会把它当成一次普通更新悄悄换掉,而是明确问你一次。
多个技能库 配置了不止一个技能库时,商店上方会出现切换器,各库的技能分开展示。
0.4.0起提供。如果你打开应用找不到下面说的「技能广场」这一档, 不是操作问题,是版本还不够新——去「设置 → 检查应用更新」升一下。
商店的库切换器里固定有一档「技能广场」,除了公司技能库之外,还能搜到全网公开分享的 AI 技能(数据来自 skills.sh)。
用:切到「技能广场」→ 首屏直接列出全网热门技能(不用先想搜什么,
卡片样式与公司技能库完全一致)→ 往下滚会自动接着加载后面的技能,不用翻页、
也不用点「加载更多」,热门榜能一直滚到几百条 → 想找特定技能就在搜索框输入关键词
(至少 2 个字符),输入完按回车才真的去搜(搜一次要走外网,边打字边搜会又慢
又抖,所以由你决定什么时候搜);把搜索框清空就回到热门榜,不用再按一次回车。
搜索过程中右上角的刷新按钮会转圈;同一个词连按几次回车不会重复发请求,但换个词
按回车立刻就以新的那次为准,不用等上一次的结果回来(换了搜索词,列表从头开始,
不会停在你上次滚到的位置)→ 结果卡片显示技能名、来源技能库
(拥有者/技能库名 这样的格式)与全网安装量 → 点开卡片会当场联网获取详情
(说明文档、文件列表)→ 确认没问题就点「获取」,跟从公司技能库装技能一样,
勾选要在哪些 AI 工具里生效。
装完之后它就是一个普通技能:出现在「我的技能」里,会自动检查更新, 用法与公司技能库装的技能完全一样。卡片上还有「在浏览器中查看」, 跳到 skills.sh 上那个技能的页面。
热门榜偶尔拉不到(对方网站改版之类),这一档会安静地退回「输入关键词搜索」的 提示,搜索照常能用——不会弹报错打断你。
这一页回答关于一个技能的三个问题:它在这台电脑的哪个文件夹里 / 哪些 AI 工具 能用它 / 技能库里那一版怎么样。
0.6.0起,你在 AI 工具自己的技能目录里写的技能(比如~/.claude/skills/) 会直接出现在这一页,不用先搬到别处、也不用做任何登记。应用认的是那个文件夹本身: 你在哪写的,它就一直在哪,应用不会把它搬走。
页面按两个页签分开:通用(这台电脑上的技能)/ 项目里(装进某个具体文件夹、
只在那个文件夹里生效的技能,0.5.0 起)。
通用页签按公司技能库分三栏(0.6.0 起;此前按「我分享的/我安装的」两分区,
现在改成按"在不在库里、作者是不是你"分三栏,判据只看技能库里记的信息,
不看"是不是经这个应用装的"):
- 安装自技能库 — 在库里,但分享者不是你(含从技能商店获取的、同事分享的、 未登录时看到的一切)。
- 已分享到技能库 — 库里记的分享者是你的技能。即使你是直接用命令行操作推上去 的、没经过这个应用装的,只要技能库里的作者记的是你,这里也认得出来 ——分享者身份的唯一真相在技能库,不是本地记录。
- 可分享到技能库 — 不在公司技能库里的技能:自己在这台电脑上新建/手写的草稿, 或者从技能商店广场、GitHub 等别处装来、公司技能库里还没有同名内容的技能。
哪一栏没有内容就不显示,不用看空标题。每一行最多摆一颗按钮,只在有事要做的时候 才摆:库里出了新版本是「更新」;本地改了、库里没变是「贡献更改」(安装自)或 「分享改动」(已分享到);两边都变了,弹窗让你选「库里有新版…」怎么处理; 技能库正在审核你提交的这份分享,这一行会写着「审核中」(有链接的话还给一个 「在技能库里查看」),没有按钮可点,等结果就好;同一个技能在这台电脑上 有好几份内容不一样的文件时,任何一栏都会先弹「选择保留哪一份」。什么都不用做的行 干干净净,不摆多余的状态字。
项目里页签按文件夹分组列出。每个技能可以单独更新或移除,也能事后改选让这个
项目里的哪些工具用它(0.6.0 起,不必卸载重装);整个文件夹可以「从列表移除」,
那只是不再显示它,文件夹和里面的技能一个字节都不会动。文件夹被删掉或移走时,
这里会如实说明,并且只留「从列表移除」这一个动作。装进项目的技能不参与上面的
三栏分类,更新、移除、无法自动检查更新、不能分享回推这些规矩仍是 0.5.0 的老样子。
侧边栏「我的技能」右侧的数字,是有新版本可用的技能数。
点开技能详情能看到「在哪」:这台电脑上的哪个文件夹、各个工具里的启用状态、 技能库里的信息(属于哪一栏、库名、库里有没有新版本,正在审核的话还有一个 「在技能库里查看」的链接)。页面顶部还有一个搜索框,用法与技能商店那个一样。
在哪些 AI 工具里生效
每个技能下面是一排勾,一个 AI 工具一个勾:勾上,那个工具就能用这个技能; 取消勾,它就用不到了(文件本身不会动)。
- 技能所在的那个文件夹对应的工具恒定是勾上的、也取消不掉,标着「本体在这里」 ——文件就在它的目录里,谈不上"关掉"。
- 某个位置上已经有一份内容不一样的同名技能时,应用不会覆盖它, 而是在勾的下面说清是哪个工具、并给一个「打开文件夹」让你自己看一眼。
- Windows 上有些位置只能放副本,那一档会标「副本」——改了本体之后重新勾一下即可同步。
0.6.0之前这里另有一个专门的「修复」按钮。它现在没有了:"让某个工具能用它" 本来就是这个勾自己的事,点一下勾就会顺带把断掉的接上,不必先认出"哪里坏了"。
这台电脑上有好几份同名技能时
同一个技能名在多个工具目录下各有一份、内容还不一样,这一行会显示「有几个版本」, 点开选一份保留(可以看到各自的路径、文件数和最后修改时间)。 其余的会移到废纸篓,各个 AI 工具从此看到的都是你留下的那一份。
更新
技能库里出了新版本时,条目上会出现标记,点「更新」即可。
如果你本地改过这个技能,更新时会先问你:
- 保留我的改动 — 不覆盖,本地版本原样留着
- 用新版本覆盖 — 你的改动会移到废纸篓
- 保留并分享 — 保留改动,同时把它推给团队(推荐)
应用绝不会在不问你的情况下覆盖你改过的文件。
移除
点「移除」,确认一次即可——0.6.0 起内容是移到废纸篓的,可以从那里找回,
所以不再需要第二道红色警示。移除同时会取消所有 AI 工具的启用。
分享改动
改过的已装技能(「已分享到」栏——库里记的分享者是你),点「分享改动」可以把改动 推回它的来源技能库。
如果在你获取之后,其他人也更新过这个技能,应用会先停下来告诉你, 并给出对方改动的查看链接。此时你的改动不会顶掉对方——确认后会转为 提交审核,由技能库管理员定夺;不想处理也可以先不动,改动仍在你电脑上。
贡献更改(0.6.0 起)
「安装自技能库」栏里的技能(分享者不是你)如果被你改过、库里又没有新版本, 按钮是「贡献更改」,一律走「提交审核」——不看你对这个技能库有没有直接分享的 权限,由技能库管理员看过再定夺是否采纳。这条路只影响这一份改动的走向, 不影响你本地的文件。
新建一个技能
「我的技能」页顶部点「新建技能」,填三样:
| 字段 | 说明 | 例子 |
|---|---|---|
| 技能名称 | 给人看的名字,可以用中文 | 周报生成 |
| 技能描述 | 一句话说清它能帮人做什么 | 把本周的工作记录汇总成周报 |
| 文件夹名称 | 英文小写 | weekly-report |
创建后会在你的技能目录里生成一份 SKILL.md 模板。
用任意编辑器打开,按模板的三段(做什么 / 何时使用 / 步骤)写完即可。
想让哪些 AI 工具用它,在这一页勾上就行。
分享出去
点技能条目上的「分享」。0.6.0 起这一步不需要你填任何东西:
名称、描述、文件夹名都直接取自你写好的 SKILL.md,应用只把它们摆出来给你确认。
确认屏上还会先告诉你这次分享会走哪条路:
- 你的改动会直接生效
- 你的改动需要管理员审核,通过后才会生效
- 会先复制一份到你的账号下,再请管理员审核
走哪条取决于你在那个技能库的权限。应用会提前探明并如实告知; 探不到就什么都不说,不猜。
分享有一道标准检查(0.6.0 起)。团队技能库遵循 Agent Skills 开放标准,
所以分享前会先看一眼你的 SKILL.md:name 必须有、必须与文件夹名一模一样、
只能用英文小写字母/数字/短横线;description 必须有且不超过 1024 个字符。
不合格的技能照常显示在列表里,只是「分享」点不动,旁边直说是哪一条不合格,
并给一个「打开文件夹」让你去改。应用不会替你改 SKILL.md——那是你的文件。
名字撞车(技能库里已经有同名技能,但不是你分享的)也是同一种处理:直说撞了, 请你在本地把文件夹改个名。应用不会替你改名,也没有"覆盖别人的技能"这条路。
账号 — 登录、退出、查看当前身份
技能库来源 — 添加、移除技能库。公司内建的技能库锁定,不可删除。 一个来源下可以挂多个技能库。
外观
- 主题:浅色 / 深色 / 跟随系统
- 强调色:陶土橙 / 深青绿 / 墨蓝
AI 工具 — 逐个开关。关掉的工具不会再收到新技能。 没装的工具标「未检测到,安装后自动启用」。
更新
- 自动更新技能:手动 / 每 5 分钟 / 每 4 小时 / 每天,新装默认「每 5 分钟」。 嫌太勤可以随时调低,调过之后升级不会把你的选择改回去
- 自动更新应用:每分钟检查一次,有新版本就在后台悄悄准备好,左下角随后出现
「新版本已就绪,重启后生效」——点「立即重启」即可,不重启也不影响使用,
应用不会自己关掉打断你。这一项与上面的技能更新频率互不影响
Windows 上点「立即重启」后会先跑一下安装程序(Windows 不允许替换正在运行的程序, 这一步躲不掉),装完应用会重新打开。macOS 上是直接重启。
- 「立即检查」:马上比对一次技能库
版本历史 — 每一版改了什么,默认收起,点开看正文。 装上新版第一次打开时,商店页顶部还会出现一张卡片直接告诉你这一版的改动, 关掉它才算看过(不关的话下次打开还在)。
关掉窗口就退出了吗?
不会。关窗口只是收进菜单栏,应用继续在后台检查技能更新。
要完全退出,点菜单栏图标 →「退出」,或按 ⌘Q。
技能装到哪里去了?
从技能商店获取的,放在你用户目录下的 .agents/skills/。
你自己在某个 AI 工具的技能目录里写的技能,就一直留在你写它的那个文件夹里
(0.6.0 起)——应用不会把它搬到别处,取回新版本也是在原地更新同一份文件。
其余的 AI 工具,应用会在它们各自的目录里指向那一份;只有建不了这种指向时,才会退成一份副本。
「我的技能」里每个技能都写着它此刻在哪,点一下就能在访达 / 资源管理器里打开。
它会动我别的文件吗?
只动技能本身。任何可能让你的内容丢失的操作,都会先问过你;
而且 0.6.0 起删除一律是移到系统废纸篓,不是直接抹掉——反悔了能捞回来。
作者是从哪来的?为什么有的技能没有作者? 作者与贡献者记在技能库里,由应用在分享时自动维护:谁第一次分享某个技能,谁就是作者; 之后改过它的人成为贡献者。技能库里没有这条记录时,界面就不显示作者栏——应用不猜。 安装量仍然没有:那需要一套统计服务,目前没有。
连不上公司技能库怎么办? 先确认是否连着公司内网或 VPN。应用会把具体错误显示出来,不会静默失败。
需要我懂 Git 之类的东西吗? 不需要,界面里也不会出现任何相关术语。 背后确实用技能库做存储,但那对你是透明的。
完整说明见 RELEASE_NOTES.md,内网发布页的版本说明也是同一份内容。
| 版本 | 日期 | 说明 |
|---|---|---|
0.6.3 |
2026-09-15 | 全屏或放大窗口时内容铺满,不再只占左半边 |
0.6.2 |
2026-09-15 | 修复 Windows 上项目内工具无法勾选;项目路径不再显示 \\?\ 前缀;修复首次读取登录凭据时偶发失败 |
0.6.1 |
2026-09-14 | 页面每 5 分钟自动刷新,刷新按钮按页面区分;项目内共用目录的工具只显示一个勾选项;项目技能文件被删除后可重新装回;修复换电脑后技能详情为空 |
0.6.0 |
2026-09-11 | 技能保留在原目录,不再被搬动;每个 AI 工具一个勾选开关;删除移入废纸篓;分享不再填表单并按 Agent Skills 标准校验;「我的技能」按公司技能库分三栏;商店状态按本机实际情况判断 |
0.5.0 |
2026-08-22 | 项目级安装(与 npx skills 互通);升级后显示本版改动 |
0.4.0 |
2026-08-20 | 技能广场;详情与安装提速;macOS 钥匙串询问减为一次 |
0.3.13 |
2026-08-11 | 修复窗口拖动 |
0.3.12 |
2026-08-11 | Windows 更新改为点击后安装;修复程序坞与托盘行为 |
0.3.11 |
2026-08-07 | 修复 Windows 登录失败 |
0.3.10 |
2026-08-07 | 首个 Windows 版本 |
0.3.8 |
2026-08-07 | 作者与贡献者展示 |
0.3.6 |
2026-08-07 | 新增「每 5 分钟」检查档位(装过后不可回装更早版本) |
0.3.0 |
2026-08-06 | 多来源、新建技能、后台自更新 |
0.2.1 |
2026-08-05 | 修复 0.1.0/0.2.0 收不到自动更新 |
当前是 0.6.3 内部版本,以下几点还没做完,如实列在这里:
-
Windows 上的
0.3.10登录不了,请装0.3.11或更新的版本。0.3.10把登录凭证 一次性写进 Windows 凭据管理器,而它对单条凭证有大小限制,公司 Gitea 的登录令牌 正好超出——表现是在浏览器里点完授权、回到应用「没有反应」。0.3.11起改成分片 保存,已修复。macOS 不受影响。 -
Windows 版还没在真机上完整验证过。 安装包与签名、更新公告牌已经验证; 但登录修复、托盘行为、Claude Code 能不能读到技能、自动更新能不能装上, 都还没有在真实的 Windows 机器上逐条走过。遇到问题请直接反馈。
-
Windows 安装包没有代码签名,首次运行会被 SmartScreen 提示「未知发布者」, 点「更多信息」→「仍要运行」。正在推进内部证书签名。
-
Windows 的自动更新一次都还没真正跑过:
0.3.10才是第一个 Windows 包, 在它之前没有旧版本可升。要等再发一个版本,才会第一次走完「检查到新版 → 准备好 → 提示重启 → 装上」的完整流程。 -
0.1.0与0.2.0收不到自动更新(那两版有个更新源缺陷,0.2.0已下架)。 装的是这两版的话,手动装一次新 dmg 即可,之后就会自动收到更新。0.2.1起自动更新正常。 -
装过
0.3.6之后不能回装更早的版本:0.3.6把本地配置升到了新格式(为了支持 「每 5 分钟」这一档),老版本读到新格式会进只读模式并提示升级——这是有意的保护, 避免老版本用旧结构覆盖新结构。再装回新版即恢复。 -
0.3.2之前的版本更新提示不及时:0.3.0/0.3.1的检查跟着技能更新频率走, 技能设成「手动」时就只在启动时查一次;0.3.2之前点重启后窗口还会沉到后面, 要点一下程序坞图标才出来。0.3.3起两者都已修好。 -
技能广场的三条限制(
0.4.0起适用):- 需要能访问外网 skills.sh 与 github.com。公司内网若不允许访问外网, 或没连 VPN,这一档会提示连不上——不影响公司技能库,商店的其他部分照常用;
- 搜索结果卡片没有描述,因为数据源本身就没有这个字段; 点开详情,或者装上之后,才看得到完整的说明文档;
- 搜出来的条目里,只有形如
拥有者/技能库名的才会显示。数据源里混着少量 以网站域名(而不是技能库坐标)登记的条目,它们点开也装不了,所以直接不摆出来。 偶尔会出现「搜某个词一条结果都没有」,就是这个原因。
-
0.6.0这一版的六条限制:- 项目里的技能不参与新的三栏分类。上面那些新说法(在原地更新、每个工具一个勾、
删除进废纸篓、按公司技能库分三栏)都只适用于「通用」页签下装在这台电脑上的
技能;项目里的技能这一版只加了「事后改选工具」和独立页签这两样,安装、更新、
移除、自动更新、分享回推仍走
0.5.0的老规矩; - 某个位置上被一份内容不同的东西占着时,勾的下面会给一个「打开文件夹」。 如果占着那个位置的是一个普通文件(不是文件夹),点了会看到一句错误而不是 真的打开——很少见,但发生时它至少是照实说的,不会点了没反应;
- 「本地和库里不一样」那一档,界面只用文字告诉你该去哪儿处理,没有直接跳过去的 按钮,得自己切到「我的技能」;
- 在技能商店的详情页里点「获取」、随后遇到需要你拍板的情况时,如果你先把详情 面板关掉了,拍板的结果就没地方显示了。重新点一次「获取」即可;
- 没有安装记录的技能不参与自动更新检查;移除它时,各个工具那边的入口也不会
跟着一起清掉,需要你自己去对应目录看一眼。这类技能包括你自己新建的、用
npx skills装的、以及手动放进技能目录的。想让它们纳入自动更新,点一次 「更新」或「换成库里的版本」走一遍正常获取即可; - 商店只按技能的文件夹名匹配。如果你本机有一个与库里同名但毫无关系的 技能,商店会显示「与库里不同」——那句话暗示它们是同一个技能的两份,实际不是。 点开详情看一眼路径与内容即可分辨。
- 项目里的技能不参与新的三栏分类。上面那些新说法(在原地更新、每个工具一个勾、
删除进废纸篓、按公司技能库分三栏)都只适用于「通用」页签下装在这台电脑上的
技能;项目里的技能这一版只加了「事后改选工具」和独立页签这两样,安装、更新、
移除、自动更新、分享回推仍走
-
装到项目的三条限制(
0.5.0起适用):- 自动更新只管装在这台电脑上的技能,不管装在项目里的。项目里的技能要更新, 去「我的技能」的「项目里」页签点「更新」。这是第一版有意收窄的范围;
- 项目里改过的技能不能分享回技能库。要分享,先在这台电脑上装一份再改;
- 来源找不回去的技能不给「更新」按钮。比如别人手放进项目、或用其他方式装的, 应用不知道该去哪儿取新版本,所以不摆这个按钮——而不是摆一个点了必然失败的。
技术栈:Tauri 2 + Rust / React 19 + TypeScript + Tailwind v4。 架构铁律、开发纪律、已知约束见 CLAUDE.md; 用户文案术语规范见 docs/terminology.md。
pnpm install
# 本地联调内建技能库时,先在 shell 导出编译期常量(不要写入任何仓库文件):
# export SKILLSYNC_BUILTIN_GITEA_URL=... # 内网 Gitea 地址
# export SKILLSYNC_OAUTH_CLIENT_ID=... # OAuth2 公共客户端 ID(PKCE,无 secret)
pnpm dev # 启动桌面应用(tauri dev)提交前跑完这四道闸(缺一不可,build:web 最容易漏——vitest 不做类型检查):
pnpm test # 前端单测
pnpm lint # eslint
pnpm build:web # tsc + vite build
cd src-tauri && cargo test --workspace && cargo clippy --all-targets -- -D warnings动过 tauri::Builder 的插件/setup/窗口配置后,还要跑一次 pnpm dev 启动冒烟
——两套测试都不启动 Tauri runtime,插件初始化失败会让应用起不来而测试全绿。
发布构建走 ./scripts/build-release.sh,它会强校验编译期内网配置与更新通道配置,
缺任一变量即拒绝出包——那种包要到用户手里才会发现连不上、或收不到更新。