qufei1993/skills-hub
GitHub: qufei1993/skills-hub
这是一个基于 Tauri 和 React 构建的跨平台桌面应用,旨在集中管理 AI 编码代理的 Skills 并将其同步到 Cursor、Claude 等多种开发工具的全局目录。
Stars: 729 | Forks: 93
# Skills Hub (Tauri Desktop)
一个跨平台桌面应用(Tauri + React),用于集中管理 Agent Skills 并将其同步到多个 AI 编码工具的全局 skills 目录(首选 symlink/junction,回退至 copy)——“一次安装,随处同步”。
## 文档
- English (default): `README.md` (本文件)
- 中文:[`docs/README.zh.md`](docs/README.zh.md)
## 主要功能
- **探索页面**:浏览精选 skills(ClawHub,每日更新)并在线搜索(skills.sh)——一键安装并同步到所有检测到的工具
- **Skill 详情视图**:点击 skill 名称浏览其文件,支持 Markdown 渲染和语法高亮(40+ 种语言)
- **统一视图**:已管理的 skills 以及各工具的启用状态
- **入门迁移**:扫描已安装工具中的现有 skills,导入到中央仓库,并同步
- **导入来源**:本地文件夹 / Git URL(包括多技能仓库选择、`.claude/skills/` 目录支持)
- **更新**:从源刷新;将更新传播到复制模式目标
- **新工具检测**:检测新安装的工具并提示同步已管理的 skills
### 我的 Skills

### 探索与搜索

### 手动添加

### 技能详情

## 支持的 AI 编码工具
| tool key | 显示名称 | skills 目录(相对于 `~`) | 检测目录(相对于 `~`) |
| --- | --- | --- | --- |
| `cursor` | Cursor | `.cursor/skills` | `.cursor` |
| `claude_code` | Claude Code | `.claude/skills` | `.claude` |
| `codex` | Codex | `.codex/skills` | `.codex` |
| `opencode` | OpenCode | `.config/opencode/skills` | `.config/opencode` |
| `antigravity` | Antigravity | `.gemini/antigravity/global_skills` | `.gemini/antigravity` |
| `amp` | Amp | `.config/agents/skills` | `.config/agents` |
| `kimi_cli` | Kimi Code CLI | `.config/agents/skills` | `.config/agents` |
| `augment` | Augment | `.augment/rules` | `.augment` |
| `openclaw` | OpenClaw | `.openclaw/skills` | `.openclaw` |
| `copaw` | Copaw | `.copaw/skill_pool` | `.copaw` |
| `cline` | Cline | `.cline/skills` | `.cline` |
| `codebuddy` | CodeBuddy | `.codebuddy/skills` | `.codebuddy` |
| `command_code` | Command Code | `.commandcode/skills` | `.commandcode` |
| `continue` | Continue | `.continue/skills` | `.continue` |
| `crush` | Crush | `.config/crush/skills` | `.config/crush` |
| `junie` | Junie | `.junie/skills` | `.junie` |
| `iflow_cli` | iFlow CLI | `.iflow/skills` | `.iflow` |
| `kiro_cli` | Kiro CLI | `.kiro/skills` | `.kiro` |
| `kode` | Kode | `.kode/skills` | `.kode` |
| `mcpjam` | MCPJam | `.mcpjam/skills` | `.mcpjam` |
| `mistral_vibe` | Mistral Vibe | `.vibe/skills` | `.vibe` |
| `mux` | Mux | `.mux/skills` | `.mux` |
| `openclaude` | OpenClaude IDE | `.openclaude/skills` | `.openclaude` |
| `openhands` | OpenHands | `.openhands/skills` | `.openhands` |
| `pi` | Pi | `.pi/agent/skills` | `.pi` |
| `qoder` | Qoder | `.qoder/skills` | `.qoder` |
| `qwen_code` | Qwen Code | `.qwen/skills` | `.qwen` |
| `trae` | Trae | `.trae/skills` | `.trae` |
| `trae_cn` | Trae CN | `.trae-cn/skills` | `.trae-cn` |
| `zencoder` | Zencoder | `.zencoder/skills` | `.zencoder` |
| `neovate` | Neovate | `.neovate/skills` | `.neovate` |
| `pochi` | Pochi | `.pochi/skills` | `.pochi` |
| `adal` | AdaL | `.adal/skills` | `.adal` |
| `kilo_code` | Kilo Code | `.kilocode/skills` | `.kilocode` |
| `roo_code` | Roo Code | `.roo/skills` | `.roo` |
| `goose` | Goose | `.config/goose/skills` | `.config/goose` |
| `gemini_cli` | Gemini CLI | `.gemini/skills` | `.gemini` |
| `github_copilot` | GitHub Copilot | `.copilot/skills` | `.copilot` |
| `clawdbot` | Clawdbot | `.clawdbot/skills` | `.clawdbot` |
| `droid` | Droid | `.factory/skills` | `.factory` |
| `windsurf` | Windsurf | `.codeium/windsurf/skills` | `.codeium/windsurf` |
| `moltbot` | MoltBot | `.moltbot/skills` | `.moltbot` |
## 开发
### 前置条件
- Node.js 18+(推荐 20+)
- Rust(稳定版)
- Tauri 系统依赖(请遵循 Tauri 官方文档针对你操作系统的说明)
```
npm install
npm run tauri:dev
```
### 构建
```
npm run lint
npm run build
npm run tauri:build
```
#### 平台构建命令(来自 `package.json`)
- macOS (dmg): `npm run tauri:build:mac:dmg`
- macOS (universal dmg): `npm run tauri:build:mac:universal:dmg`
- Windows (MSI): `npm run tauri:build:win:msi`
- Windows (NSIS exe): `npm run tauri:build:win:exe`
- Windows (MSI+NSIS): `npm run tauri:build:win:all`
- Linux (deb): `npm run tauri:build:linux:deb`
- Linux (AppImage): `npm run tauri:build:linux:appimage`
- Linux (deb+AppImage): `npm run tauri:build:linux:all`
### 测试 (Rust)
```
cd src-tauri
cargo test
```
## 贡献与安全
- 贡献:[`CONTRIBUTING.md`](CONTRIBUTING.md)
- 行为准则:[`CODE_OF_CONDUCT.md`](CODE_OF_CONDUCT.md)
- 安全:[`SECURITY.md`](SECURITY.md)
## 常见问题 / 注意事项
- Skills 存放在哪里?中央仓库默认为 `~/.skillshub`(可在设置中配置)。
- 为什么 Cursor 同步总是复制?Cursor 目前不支持基于 symlink/junction 的 skills 目录,因此 Skills Hub 在同步到 Cursor 时会强制复制目录。
- 为什么同步有时会回退到复制?Skills Hub 优先使用 symlink/junction,但在某些系统(尤其是 Windows)上可能会受到限制;这种情况下会回退到目录复制。
- `TARGET_EXISTS|...` 是什么意思?目标文件夹已存在且操作未覆盖它(默认为非破坏性)。请删除现有文件夹或使用相应的覆盖流程重试。
- macOS Gatekeeper 注意事项(未签名/未公证构建,可能因 macOS 版本而异):如果看到“已损坏”或“未验证开发者”,请运行 `xattr -cr "/Applications/Skills Hub.app"` (https://v2.tauri.app/distribute/#macos)。
## 支持的平台
- macOS(已验证)
- Windows(设计支持;未在本地验证)
- Linux(设计支持;未在本地验证)
## 许可证
MIT License — 见 `LICENSE`。
标签:Agent技能管理, AI编程工具, Claude Code, Cursor, MITM代理, React, Rust, SOC Prime, symlink, Syscalls, Tauri, 二进制发布, 代码助手, 代码片段管理, 可视化界面, 开发工具, 开源工具, 技能同步, 插件管理, 桌面应用, 生产力工具, 符号链接, 网络流量审计, 跨平台应用, 通知系统, 集成开发环境