这两年,AI Agent 正在从实验室走向生产环境,越来越多的团队开始围绕智能体构建自己的技能包。
比如一个处理邮件的技能、一个自动生成报告的技能、一个代码审查的技能……这些技能包就像过去我们用 npm 管理前端包、用 PyPI 管理 Python 包一样,是智能体能力的基本运载单元。
但现实是,这些技能包大多散落在各处。有的在开发者本地电脑里,有的在 Git 仓库的某个分支上,有的只存在于内部文档的某个角落。团队里的其他人很难发现已有的能力,更别提复用了。而且因为缺乏统一的版本管理,往往出现"这个技能包是哪个版本的"、"谁能用这个技能包"这类问题,权限管控也基本归零。
苏米注:对于企业而言,技能包关乎业务逻辑和数据安全,放在公开平台上显然不合适,但自己搭建一套管理系统又耗时耗力。那有没有一款软件能处理这个问题呢?
SkillHub 介绍
SkillHub 是一个自托管的企业级 Agent Skill 注册中心,开源地址在 GitHub 上已经获得了近 2000 个 Star。

简单来说,它就是给 AI 技能包提供一个私有的、受治理的共享空间。你可以把它理解为"企业内部的 npm",只不过管理的不是 JavaScript 包,而是 AI 智能体的技能包。

它的定位非常明确:专为防火墙后的本地部署而构建,所有数据都在你自己的服务器上,不会流向外部。这对于很多对数据安全有严格要求的企业来说,是非常关键的。
核心特性
1. 快速发布
从本地开发到团队分发,只需要一条命令。开发者可以通过 CLI 工具一键发布技能包,系统自动处理版本管理、元数据提取、文件索引等工作,整个过程可以在 3 分钟内完成。

2. 企业级权限控制
基于命名空间的 RBAC 权限体系,每个命名空间拥有自己的成员和角色(Owner、Admin、Member),支持团队协作和审核流程。你可以精细地控制谁能看到、谁能发布、谁能审核技能包。

3. 完整的生命周期管理
从技能包的发布、版本管理、标签系统、审核工作流到归档机制,覆盖了技能包的整个生命周期。支持语义化版本控制,自定义 latest、beta、stable 等标签,同一个技能包可以保留多个历史版本并存。

4. 内置安全扫描
发布技能包后,Skill Scanner 会自动对其进行多引擎安全分析,包括恶意代码检测、敏感信息泄露、依赖漏洞扫描和行为分析等,扫描结果会直接展示在技能包详情页上。这对于企业环境来说,是一道很重要的安全防线。

5. 数据主权完全自控
完全自托管部署,所有数据都在你自己的防火墙内。不会有任何数据流向第三方平台,完全符合企业级的数据安全和合规要求。
6. 社交与协作
支持收藏技能、评分、通知系统等社交功能,团队成员可以围绕实践构建内部社区。这些功能看似简单,但在企业内部能有效促进技能包的传播和复用。

技术架构
SkillHub 采用了清晰的分层架构,从上到下分为表现层、应用层、领域层和基础设施层。
| 层级 | 技术栈 | 说明 |
|---|---|---|
| 前端 | React 19 + Vite + TanStack Router | 现代化 SPA,支持中英文切换 |
| 后端 | Java 21 + Spring Boot 3.2 | 企业级 REST API,多模块架构 |
| 数据库 | PostgreSQL 16 | 全文搜索、Flyway 自动迁移 |
| 缓存 | Redis 7 | 会话管理、热点数据缓存 |
| 存储 | MinIO / S3 | 技能包文件存储,支持本地和云端 |
| 监控 | Prometheus + Grafana | 内置监控方案,开箱即用 |
在设计上,SkillHub 采用了多模块 Maven 项目结构,后端拆分为 skillhub-app(主应用)、skillhub-domain(核心业务逻辑)、skillhub-auth(认证授权)、skillhub-search(搜索功能)、skillhub-storage(存储层)和 skillhub-infra(基础设施)六个模块,模块之间的边界非常清晰。
苏米注:同时引入了领域驱动设计(DDD)、CQRS 读写分离模式和事件溯源机制,保证了系统在复杂业务场景下的可维护性和可扩展性。
部署方式
SkillHub 提供了多种部署方式,其中最简单的就是通过 Docker Compose 一键部署。只需要一条 curl 命令,就可以启动包含 Web UI、Backend API、PostgreSQL、Redis、MinIO 和 Skill Scanner 在内的完整环境。
生产环境部署命令:
curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up --aliyun --public-url https://skillhub.your-company.com
其中 --public-url 参数用于设置公网访问地址,配置后 CLI 安装命令会显示正确的注册中心地址,OAuth 回调和设备认证链接也能正常工作。
部署完成后,Web UI 访问地址为 localhost:3000,后端 API 地址为 localhost:8080。系统内置了默认管理员账号,可以零配置登录,当然生产环境建议立即修改默认密码。
前端技术栈
前端技术选型非常现代化:
- 核心框架:React 19
- 构建工具:Vite
- 路由方案:TanStack Router
- 样式方案:Tailwind CSS + Radix UI 组件库
- 数据请求:TanStack Query
- API 客户端:OpenAPI TypeScript 生成
- 国际化:i18next,支持中英文切换
整个前端的技术选型都是当前主流方案,对于想要参与贡献的开发者来说,学习成本很低。
后端技术栈
后端基于 Java 21 和 Spring Boot 3.2.3 构建,是标准的企业级 Java 技术栈。项目采用多模块 Maven 结构,各个模块职责明确:
- skillhub-app:主应用入口
- skillhub-domain:包含核心业务逻辑
- skillhub-auth:处理认证授权
- skillhub-search:负责搜索功能
- skillhub-storage:存储层抽象
数据库使用 PostgreSQL 16,通过 Flyway 进行自动化的数据库迁移,搜索则直接利用 PostgreSQL 的全文搜索能力。整体架构设计的可扩展性很强,存储层支持在本地文件系统、S3 和 MinIO 之间灵活切换。
开源协议
SkillHub 遵循 Apache License 2.0 开源协议。这是一个对商用非常友好的协议,企业可以自由地使用、修改和分发这款软件,包括用于商业目的。你不需要开源你自己的修改,也不需要将你的业务代码开源。
需要注意的几点:
- 你需要在合理位置保留原项目的版权声明和许可声明
- 如果你对这款软件做了修改,需要在修改的文件中标注修改内容
- 不能使用原项目的商标或名称来推广你自己的产品
总体而言,Apache 2.0 协议的限制非常少,对于大多数企业来说都不会有问题。
快速体验
准备好 Docker 环境后,执行以下命令就可以启动完整的本地环境:
rm -rf /tmp/skillhub-runtime
curl -fsSL https://imageless.oss-cn-beijing.aliyuncs.com/runtime.sh | sh -s -- up
启动成功后,打开浏览器访问 localhost:3000 即可进入 Web 界面。
默认账号为 admin / ChangeMe!2026,登录后你可以看到整个系统的全貌。
发布你的第一个技能包
先准备一个简单的技能包目录,包含 skill.md(技能描述)和 package.json(元数据)。
然后通过 CLI 工具发布:
export CLAWHUB_REGISTRY=http://localhost:8080
npx clawhub publish ./my-skill
npx clawhub publish ./my-skill --namespace my-team
发布后,Skill Scanner 会自动扫描技能包的安全性。如果命名空间开启了审核流程,管理员会收到通知进行审核,审核通过后技能包就会正式发布。
总结
SkillHub 填补了企业级 AI 技能管理的空白。它让团队能够像用 npm 一样管理 AI Agent 的技能包,同时保证了数据安全和权限控制。
适用场景:
- 企业团队需要统一管理 AI 技能包
- 对数据安全有严格要求,不能上公有云
- 需要版本管理和权限控制
- 希望促进内部技能复用和协作
最佳实践:建议团队在使用 SkillHub 时,先建立一个技能审核流程,确保发布的技能包质量和安全性。
同时利用命名空间功能,按团队或项目划分技能包,便于管理和权限控制。