我做了一个开源工具,终于不用在 8 个 AI 平台里重复安装 Skill 了我做了一个开源桌面工具 **SkillMan
SkillManager是一个开源桌面工具,旨在解决多AI编程平台Skill管理混乱的问题。它通过自动扫描本地文件系统,提供Skill×Platform矩阵视图,支持从GitHub仓库一键安装Skill,并实现跨平台同步。基于Tauri框架开发,相比Electron具有更小的安装包和更低的内存占用。核心架构采用React+TypeScript前端与Rust后端结合,支持23+AI平台,并允许自定义
背景:一个让我抓狂的问题
今年 AI 编程工具爆发,我同时在用 Claude Code、Cursor、Codex、Trae CN、Windsurf……每个工具都有自己的 Skill 机制,每个 Skill 都要手动安装到对应的目录。
问题来了:同一个 Skill,我要装 8 次。
改了一个 Skill 的内容?8 个目录都要同步。新增一个 Skill?又是 8 次复制粘贴。
我查了一下自己的电脑,find-skills 这个 Skill 被重复安装了十几次,分布在不同平台的不同目录里。
这不是个例。如果你也在用多个 AI 编程工具,你一定懂这个痛。
解决方案:SkillManager
我做了一个开源桌面工具 SkillManager,用一个界面管理所有平台的 Skill。
GitHub:github.com/A-Duang/ski…
核心能力:
- 自动发现 — 扫描本地文件系统,自动识别你装了哪些 AI 平台
- 矩阵视图 — Skill × Platform 的交叉矩阵,一眼看出每个 Skill 装在了哪些平台
- 在线市场 — 输入 GitHub 仓库地址,浏览里面的 Skill,一键安装到指定平台
- 跨平台同步 — 选一个源平台,把所有 Skill 批量同步到其他平台
- 中英双语 — 内置 i18n,一键切换
技术选型:为什么选 Tauri 而不是 Electron
这是很多人会问的问题。我的考虑:
| 对比项 | Tauri 2.x | Electron |
|---|---|---|
| 后端语言 | Rust | Node.js |
| 安装包大小 | ~5-10MB | ~150MB+ |
| 内存占用 | 低 | 高 |
| 原生文件系统 | Rust std::fs,性能好 | Node.js fs,够用但慢 |
| 跨平台 | Windows/macOS/Linux | Windows/macOS/Linux |
对于一个需要频繁操作文件系统的工具来说,Rust 的性能优势是实打实的。而且安装包小一个数量级,用户体验好很多。
架构设计
整个应用分三层:
┌─────────────────────────────────────────┐
│ React + TypeScript (前端) │
│ Dashboard / MatrixView / Market / ... │
├─────────────────────────────────────────┤
│ Tauri invoke() (桥接) │
├─────────────────────────────────────────┤
│ Rust 后端 (核心逻辑) │
│ filesystem.rs — 文件系统扫描 │
│ github.rs — GitHub API 集成 │
│ install.rs — 文件复制 / 跨平台同步 │
│ parser.rs — SKILL.md 解析 │
│ config.rs — 配置管理 │
└─────────────────────────────────────────┘
关键设计决策:
- 纯文件系统操作 — 不依赖任何外部 CLI,直接读写本地文件。这意味着零安装门槛,用户不需要装任何额外工具。
- GitHub API 集成 — 通过 GitHub REST API 浏览仓库内容,用 Trees API 批量获取文件列表,再逐个下载。支持公开仓库和私有仓库(通过配置 GitHub Token)。
- 平台注册表 — 内置 23+ 平台的路径映射,同时支持用户自定义平台和路径覆盖。配置存储在
~/.skillmanager/config.json。 - 增量安装 — 已存在的 Skill 会自动跳过,不会覆盖用户已有的文件。
遇到的坑
Windows Junction Point
在 Windows 上,有些 AI 平台的目录是 Junction Point(mklink /J 创建的)。用 std::fs::metadata 可以正确读取,但 entry.file_type() 在某些情况下会返回错误。最终用 fs::metadata 替代解决了。
GitHub API 限流
未认证的 GitHub API 请求限制是 60 次/小时。浏览一个仓库的 Skill 可能需要多次请求(获取目录 → 逐个检查 SKILL.md)。解决方案是支持用户配置 GitHub Token,认证后限制提升到 5000 次/小时。
SKILL.md 解析
不同仓库的 Skill 格式不完全一致。有的 SKILL.md 在仓库根目录,有的在 skills/ 子目录下,有的在 .claude/skills/ 等平台特定目录下。需要递归搜索多个位置。
支持的平台
内置支持 23+ AI 平台:
Claude Code · Cursor · Codex · Trae CN · Windsurf · OpenClaw · Gemini CLI · Roo Code · Cline · Aider · Continue · Amazon Q · GitHub Copilot · OpenCode · Void · Sweep · gptme · Avante · CodeCompanion · AgentOps · Trae Solo · WorkBuddy · Qclaw
同时支持添加自定义平台。
后续计划
- Skill 编辑器 — 在应用内直接编辑 SKILL.md
- 操作历史/撤销 — 误删了可以恢复
- 团队配置 — 团队共享 Skill 配置方案
- 可视化 Skill 编辑器 — 所见即所得
- 多设备同步 — 不同电脑之间的 Skill 同步
写在最后
这个工具是 MIT 开源的,完全免费。如果你也有多个 AI 平台 Skill 管理的痛点,欢迎试用。
GitHub:github.com/A-Duang/ski…
欢迎提 Issue 和 PR,也欢迎给个 Star 支持一下 🙏
更多推荐




所有评论(0)