一个用于管理本地 AI Skills 与 Bundles 的桌面应用,面向 Codex、Claude、Gemini、OpenCode 等多种编码工具。
🌍 访问官方产品主页:https://skills-dock.pages.dev/
Skills Dock 是一个本地优先的桌面应用,用来统一查看、整合和管理散落在不同工具中的 AI Skills。
项目基于 Tauri + React + TypeScript + Rust 构建,当前版本提供 macOS、Windows 和 Linux 的桌面发布能力,重点覆盖本地 Skill 扫描、Bundle 聚合、本地整合包管理,以及跨应用安装状态查看。
我的开源项目已按要求链接并认可 LINUX DO 社区,欢迎在 L 站开源自荐帖中交流与反馈。
首页用于快速查看本地 Skills 的整体状态:本地 Skill 目录、配置项和文件状态,提示缺失、异常或需要关注的项目,便于在多工具环境下保持 Skills 可用且一致。
导入页面支持从本地目录批量导入 Skills,并在导入前展示解析结果、目标应用覆盖情况和文件差异,适合把已有的 Codex、Claude、Gemini、OpenCode Skill 目录统一迁移到 Skills Dock 管理。
详情页现在优先展示适合用户阅读的 Bundle 概览、成员 Skills、安装状态和来源信息,而不会默认把原始 SKILL.md 长文直接铺给用户。原始技能文档仍然可以按需打开查看。
数据分析页面用于观察 Skills 的数量变化、来源分布、分类占比和近期活动记录,帮助你了解当前本地能力库的组成情况。
设置页集中管理各应用的 Skill 路径、自定义目录、自动扫描与显示偏好。不同工具的安装目录可以在这里统一配置,方便后续同步和维护。
当前 Release 页面会提供这些安装包:
- macOS:
.dmg - Windows:
.msi与.exe - Linux:
.AppImage与.deb
由于本项目为开源软件且未进行 Apple 开发者证书签名,macOS 用户下载 .dmg 文件并在“应用程序”中打开时,系统可能会提示 “App 已损坏,无法打开”。这是 macOS 针对未签名下载来源的常规安全策略(Gatekeeper)。
解决方法如下(仅需一次):
- 将下载的
Skills Dock.app拖入 应用程序 (Applications) 文件夹。 - 打开系统自带的 终端 (Terminal)。
- 复制并执行以下命令以移除安全隔离属性(可能需要输入开机密码):
sudo xattr -cr "/Applications/Skills Dock.app"- 重新在应用程序中双击打开 Skills Dock 即可正常运行。
Linux 用户可以任选以下方式:
- 使用
.AppImage
chmod +x Skills\ Dock_*.AppImage
./Skills\ Dock_*.AppImage- 使用
.deb(适用于 Debian / Ubuntu 及其衍生版)
sudo dpkg -i skills-dock_*_amd64.deb
sudo apt-get install -f目前这个版本可以:
- 扫描 Codex、Claude、Gemini、OpenCode 的本地 Skill 目录
- 支持添加自定义 Skill 文件夹
- 将本地 Skills 按来源包或本地整合包聚合成 Bundles
- 支持创建本地整合包(custom bundle),并维护成员 Skills
- 展示 Claude、Codex、Gemini、OpenCode 各自的安装状态
- 通过复制或删除目标目录中的 Skill 文件夹,切换单个应用的安装状态
- 支持对本地整合包配置目标应用、同步状态和修复动作
- 从 ZIP 一键导入 Skills 到本地目录
- 将当前选中的 Skills 一键导出为 ZIP
- 展示 Bundle 概览、成员 Skills、校验状态和安装位置
- 自动调用统计:通过 Rust 解析 Claude、Codex、Gemini、OpenCode 的本地会话记录,自动且真实地反映 Agent 在背后调用各 Skill 的次数
- 调用统计改为按需刷新,避免普通安装或同步动作触发高 CPU 的全量日志扫描
- 正式接入的远程 Skill 市场
- 在线安装、更新同步与发布流程
当前 MVP 还没有这些能力:
- 应用内直接编辑 Skill
- 同步、账号体系或云存储
这个项目有两种运行方式,它们的用途并不相同。
运行:
npm run dev适合用于:
- 布局调试
- 样式调整
- 组件交互开发
这个模式使用的是演示数据,不会扫描你本机的真实 Skill 目录。
运行:
npm run tauri dev当你需要验证下面这些真实行为时,应使用这个模式:
- 本地目录扫描
- 软链接 Skill 目录
- 打开文件、打开文件夹操作
- 各应用的安装开关
- 本地整合包的同步与修复
- 来自本机环境的真实统计结果
如果你只运行 npm run dev,应用会显示提示横幅,说明当前使用的是演示数据。
桌面应用当前会自动识别这些内置路径:
~/.codex/skills~/.codex/superpowers/skills~/.claude/skills~/.gemini/skills~/.opencode/skills
此外,你也可以在 UI 中手动添加自定义本地目录。
开始前请准备:
- Node.js
- npm
- Rust
- Cargo
- macOS 上的 Xcode 或 Xcode Command Line Tools
如果 xcode-select -p 能返回有效的 Xcode 路径,通常说明当前 macOS 环境已经满足 Tauri 开发要求。
如果你在 Linux 上开发 Tauri 桌面版本,还需要安装这些系统依赖:
sudo apt-get update
sudo apt-get install -y \
build-essential \
curl \
file \
libayatana-appindicator3-dev \
libfuse2 \
libgtk-3-dev \
librsvg2-dev \
libssl-dev \
libwebkit2gtk-4.1-dev \
patchelfnpm install启动浏览器开发环境:
npm run dev启动桌面应用:
npm run tauri dev运行前端测试:
npm run test构建前端产物:
npm run build检查 Rust 侧编译状态:
cargo check --manifest-path src-tauri/Cargo.toml运行 Rust 测试:
cargo test --manifest-path src-tauri/Cargo.toml仓库中比较重要的目录包括:
src/React 前端应用,包含布局、列表页、详情页以及相关 hookssrc-tauri/Rust 命令层,负责扫描、校验、文件操作和各应用安装切换docs/superpowers/specs/MVP 设计说明docs/superpowers/plans/当前版本的实现计划
应用目前围绕本地 Bundle 管理来组织界面:
- 概览 查看当前本地 Skills / Bundles 的整体状态
- Skills 按 Bundle 聚合展示来源包与本地整合包
- 详情 展示 Bundle 概览、成员 Skills、安装状态、来源与同步信息
- 导入/导出 处理 ZIP 导入与导出
- 调用统计 按需查看本地日志解析后的使用数据
- 市场 当前仅为静态预览页,用于占位未来正式市场能力
Skills 页会优先展示更适合用户阅读的摘要信息,而不是默认直接显示面向 Agent 的原始 SKILL.md 长文。
Rust 扫描器目前会:
- 识别包含
SKILL.md的目录 - 跟随符号链接的 Skill 目录继续扫描
- 从 frontmatter 或 Markdown 标题中提取名称
- 计算校验状态
- 对内容做哈希,以便比较安装差异
这对 Claude Code 一类工具尤其重要,因为它们的 Skills 目录有时会通过软链接指向其他位置,例如 ~/.cc-switch/skills。
这个项目已经具备:
- 可运行的桌面应用基础骨架
- 已有测试覆盖的扫描与聚合逻辑
- 已有测试覆盖的应用安装切换逻辑
- 基于
main分支初始化完成的 GitHub 仓库
下一步比较自然的演进方向包括:
- “导入已有 Skills” 流程
- 更清晰的来源分组与计数规则
- 针对
copy/symlink安装策略提供更完善的设置项