# SkillHub **Repository Path**: mysqlutfko_admin/skillhub ## Basic Information - **Project Name**: SkillHub - **Description**: 本地 AI Skills 与 MCP 供应链管理工具:统一拉取、分析、分类、优化并手动分发到多个 AI 客户端。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-17 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SkillHub [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE) SkillHub 是一款运行在本地的 AI Skills 与 MCP 管理桌面应用,用于统一完成 Skills 的发现、拉取、安全检查、AI 分类、优化合并和多客户端分发。 它不是新的 AI 模型,而是 Codex、Claude Code、DeepSeek、豆包等 AI 客户端之间的本地 Skills 中央仓库。 > 自动任务只负责拉取、扫描、分类和优化分析。向 AI 客户端目录写入文件始终需要用户手动确认。 ## 界面预览 ### 应用总览 ![SkillHub 应用总览](docs/images/dashboard.png) ### Skills 拉取来源 ![SkillHub 拉取来源配置](docs/images/sources.png) ### 中央 Skills 仓库 ![SkillHub 中央 Skills 仓库](docs/images/catalog.png) ### AI 客户端分发 ![SkillHub AI 客户端分发](docs/images/clients.png) ## 核心功能 - 支持本地目录、Git 仓库和 HTTP Skills 平台等来源。 - 支持来源地址、分支、子目录、关键词、分类、拉取数量、时间窗口、超时和重试等配置。 - 对候选 Skills 执行隔离、安全扫描、许可证检查、标准化和不可变原始快照保存。 - 使用用户配置的 AI 模型生成中文说明、分类、标签、相似度证据和优化建议。 - 统一管理中央 Skills,并通过人工门禁决定是否允许分发。 - 检测完全重复或内容相似的 Skills,在独立目录中生成优化合并候选,不直接覆盖原始版本。 - 支持 Codex、Claude Code、DeepSeek、豆包和自定义客户端。 - 发布前预览冲突,跳过已分发版本,并支持发布快照与回滚。 - 管理经过人工审批的 STDIO / HTTP MCP 配置,未审批 MCP 不会自动执行。 - 提供任务日志、同步日志和发布日志,可查看任务进度及逐条失败原因。 - 支持 SQLite 数据库备份、恢复、后台调度和系统托盘运行。 ## 技术栈 - Java 17 - JavaFX 17 - Maven 多模块工程 - SQLite + Flyway - JGit - Windows DPAPI - `jpackage` + WiX Toolset 3.x ## 项目结构 ```text skillhub/ ├─ skillhub-domain/ 领域模型 ├─ skillhub-application/ 应用服务与业务编排 ├─ skillhub-infrastructure/ SQLite、配置、文件存储和安全实现 ├─ skillhub-connectors/ 本地、Git 和 HTTP 来源连接器 ├─ skillhub-normalization/ Skill 标准化与安全扫描 ├─ skillhub-intelligence/ AI 分析、分类和优化建议 ├─ skillhub-adapters/ AI 客户端和 MCP 适配器 ├─ skillhub-worker/ 后台处理入口 ├─ skillhub-desktop/ JavaFX 桌面应用 ├─ skillhub-packaging/ Windows 打包脚本 └─ docs/ 中文操作手册与界面截图 ``` ## 开发环境 - Windows 10 或 Windows 11 - JDK 17 - Maven 3.9+ 项目固定使用 Java 17。打包后的应用会自带 Java 运行环境,最终用户不需要单独安装 JDK。 ## 本地运行 推荐直接使用项目提供的开发启动脚本: ```powershell .\run-dev.ps1 ``` 脚本会优先使用 `E:\jdk\jdk17`,也可以手动指定 JDK: ```powershell .\run-dev.ps1 -JdkHome "D:\Java\jdk-17" ``` 也可以通过 Maven 启动: ```powershell $env:JAVA_HOME = "E:\jdk\jdk17" $env:Path = "$env:JAVA_HOME\bin;$env:Path" mvn -pl skillhub-desktop -am javafx:run "-Dskillhub.home=D:\SkillHubData" ``` `skillhub.home` 用于指定开发环境的数据目录,避免把数据库和运行数据写入源码目录。 ## 运行测试 ```powershell $env:JAVA_HOME = "E:\jdk\jdk17" $env:Path = "$env:JAVA_HOME\bin;$env:Path" mvn test "-Dmaven.compiler.release=17" ``` ## 生成 Windows 安装包 项目已经提供 PowerShell 打包脚本: ```powershell .\skillhub-packaging\build-windows.ps1 -Type exe -JdkHome "E:\jdk\jdk17" ``` 支持的产物类型: ```powershell # 免安装应用目录 .\skillhub-packaging\build-windows.ps1 -Type app-image -JdkHome "E:\jdk\jdk17" # Windows EXE 安装包 .\skillhub-packaging\build-windows.ps1 -Type exe -JdkHome "E:\jdk\jdk17" # Windows MSI 安装包 .\skillhub-packaging\build-windows.ps1 -Type msi -JdkHome "E:\jdk\jdk17" ``` 生成 EXE 或 MSI 需要提前安装 WiX Toolset 3.x。默认输出目录为: ```text skillhub-packaging/target/dist/ ``` 安装向导支持选择安装目录,应用数据库、配置、仓库、备份和日志会保存在应用工作目录中。 ## 首次使用建议 1. 在“系统设置”中确认后台处理和存储配置。 2. 在“AI 分析”中选择供应商、填写 API 地址和 Key,拉取并验证模型。 3. 在“拉取配置”中添加来源并执行候选预览。 4. 将候选正式导入中央 Skills。 5. 对尚未分类的 Skills 执行 AI 分类,并确认分发门禁。 6. 在“AI 客户端”中自动获取或填写客户端 Skills 目录。 7. 手动勾选需要的 Skills,预览冲突后执行发布。 完整说明请查看 [SkillHub 中文操作手册](docs/SkillHub操作手册.md)。 ## 数据目录 首次启动后,SkillHub 会在应用工作目录创建: ```text SkillHub/ ├─ config/ 外部 YAML 配置和加密凭据 ├─ data/ SQLite 数据库 ├─ repository/ │ ├─ raw/ 原始不可变快照 │ ├─ normalized/ 标准化中央 Skills │ ├─ optimization-candidates/ 优化候选 │ └─ published/ 发布快照 ├─ quarantine/ 安全隔离区 ├─ backups/ 数据库备份 ├─ temp/ 临时拉取目录 └─ logs/ 运行日志 ``` ## 安全设计 - API Key 和私有来源凭据使用当前 Windows 用户的 DPAPI 加密。 - API Key 不以明文写入 SQLite、YAML 或日志。 - 本地配置、数据库、日志、运行仓库和打包产物不会提交到 Git。 - 高风险 Skill 不会自动开放分发。 - 未审批 MCP 不会自动执行或导出。 - 自动任务不会向 AI 客户端目录写入文件。 - 客户端发布前会检查冲突并保存可回滚快照。 ## 当前平台 当前正式支持 Windows 10 / Windows 11。核心业务代码使用 Java 编写,未来可以继续适配 macOS,但 Windows DPAPI、系统托盘、路径探测和安装脚本需要提供对应的平台实现。 ## 开源许可证 本项目采用 [Apache License 2.0](LICENSE) 开源许可证。你可以使用、修改和分发本项目,但需要保留许可证和相关声明。