背景:一个让我抓狂的问题

今年 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…

核心能力:

  1. 自动发现 — 扫描本地文件系统,自动识别你装了哪些 AI 平台
  2. 矩阵视图 — Skill × Platform 的交叉矩阵,一眼看出每个 Skill 装在了哪些平台
  3. 在线市场 — 输入 GitHub 仓库地址,浏览里面的 Skill,一键安装到指定平台
  4. 跨平台同步 — 选一个源平台,把所有 Skill 批量同步到其他平台
  5. 中英双语 — 内置 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      — 配置管理               │
└─────────────────────────────────────────┘

关键设计决策:

  1. 纯文件系统操作 — 不依赖任何外部 CLI,直接读写本地文件。这意味着零安装门槛,用户不需要装任何额外工具。
  2. GitHub API 集成 — 通过 GitHub REST API 浏览仓库内容,用 Trees API 批量获取文件列表,再逐个下载。支持公开仓库和私有仓库(通过配置 GitHub Token)。
  3. 平台注册表 — 内置 23+ 平台的路径映射,同时支持用户自定义平台和路径覆盖。配置存储在 ~/.skillmanager/config.json
  4. 增量安装 — 已存在的 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 支持一下 🙏


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐