make help # 显示所有可用命令
make test # 运行后端测试
make test-backend-app # 运行 skillhub-app 及其依赖模块测试
make build-backend-app # 构建 skillhub-app 及其依赖模块
make typecheck-web # TypeScript 类型检查
make build-web # 构建前端
make generate-api # 重新生成 OpenAPI 类型
./scripts/check-openapi-generated.sh # 验证 API 契约同步
./scripts/smoke-test.sh http://localhost:8080 # 运行冒烟测试
说明:不要在 server/ 下直接执行 ./mvnw -pl skillhub-app clean test。skillhub-app 依赖同仓库的 sibling modules,单独 clean 构建时会回退到本地 Maven 仓库里的旧产物并出现大量 cannot find symbol / 签名不匹配错误。需要使用 -am,或者直接使用上面的 make test-backend-app / make build-backend-app。
SkillHub
企业级开源智能体技能注册中心 — 在组织内发布、发现和管理可复用的技能包
SkillHub 是一个自托管平台,为团队提供私有的、受治理的智能体技能共享空间。发布技能包,推送到命名空间,让其他人通过搜索发现或通过 CLI 安装。专为防火墙后的本地部署而构建,提供与公共注册中心相同的精致体验。
文档
核心特性
make dev-all命令即可在本地运行。beta、stable)和自动latest跟踪。快速开始
使用以下命令启动完整的本地环境:
默认命令会拉取
latest稳定版镜像;如果你想跟随main的最新构建,请显式传--version edge。配置公网访问地址(生产环境推荐):
--public-url参数用于设置 SkillHub 实例的公网访问地址。配置后:国内用户(阿里云镜像):
如果部署遇到问题,请清除现有的运行时目录并重试。
前置要求
访问应用
默认账户
默认执行
make dev-all时,后端以localprofile 启动。 在这个模式下,本地开发会保留下面两个模拟用户,同时默认创建一个可账号密码登录的 bootstrap 管理员:local-user— 普通用户,用于发布和命名空间操作local-admin— 超级管理员,用于审核和管理流程在本地开发中使用
X-Mock-User-Id请求头切换用户。 本地 bootstrap 管理员默认已在application-local.yml中开启:adminChangeMe!2026BOOTSTRAP_ADMIN_ENABLED=false通过
runtime.sh或compose.release.yml部署时,发布模板同样默认开启管理员, 使用相同的默认账号密码(admin/ChangeMe!2026),零配置即可登录。 生产环境请务必修改密码——validate-release-config.sh会拒绝默认值停止服务
SkillHub CLI
通过命令行安装和管理 Agent 技能:
📖 完整指南:docs/skillhub/guide/cli.md
开发
前置要求
启动开发环境
常用命令
说明:不要在
server/下直接执行./mvnw -pl skillhub-app clean test。skillhub-app依赖同仓库的 sibling modules,单独 clean 构建时会回退到本地 Maven 仓库里的旧产物并出现大量cannot find symbol/ 签名不匹配错误。需要使用-am,或者直接使用上面的make test-backend-app/make build-backend-app。项目结构
部署
使用 Docker Compose
配置参数说明
--public-url <url>--public-url https://skill.example.com--version <tag>--version v0.2.0--aliyun--aliyun--home <dir>--home /opt/skillhub--no-scanner--no-scanner使用 Kubernetes
环境变量
关键配置选项:
完整配置参考请查看
application.yml。上传白名单覆盖
技能包上传校验默认使用
SkillPackagePolicy.java中的扩展名白名单。SkillPublishProperties默认也会把这份列表作为skillhub.publish.allowed-file-extensions的值。如果需要在运行时整体替换默认白名单,可以设置:
Spring Boot 会把这个环境变量绑定到
skillhub.publish.allowed-file-extensions。一旦设置,该配置会替换默认白名单, 而不是在默认列表后追加。架构
SkillHub 采用清晰的分层架构:
关键设计决策:
详细架构文档请参阅
docs/目录。技术栈
后端
前端
基础设施
路线图
完整路线图请参阅
docs/10-delivery-roadmap.md。与智能体平台集成
SkillHub 设计为与各种智能体平台和框架无缝集成。
OpenClaw
OpenClaw 是开源的智能体技能 CLI 工具。配置它使用您的 SkillHub 端点作为注册中心:
其中
my-space--my-skill是兼容层使用的 canonical slug,SkillHub 会将其解析为 namespacemy-space和 skill slugmy-skill。📖 完整 OpenClaw 集成指南 →
AstronClaw
AstronClaw 是基于 OpenClaw 核心能力打造的云端 AI 助手,提供全天候在线服务,随时随地通过企业微信、钉钉、飞书等渠道提供服务。它内置了丰富的技能系统,您可以将其连接到自托管的 SkillHub 注册中心,支持技能市场一键安装、仓库搜索、对话自动安装,甚至管理和分发组织内部的自定义私有技能。
Loomy
Loomy 是聚焦真实办公场景的桌面端 AI 工作搭子。它深入打通本地文件和系统工具,为个人及小团队构建高效的自动化工作流。通过将 Loomy 连接到您的 SkillHub 注册中心,您可以轻松发现并安装组织内部的专属技能,从而增强本地桌面端的自动化与协同办公能力。
astron-agent
astron-agent 是科大讯飞星火智能体框架。存储在 SkillHub 中的技能可以被 astron-agent 引用和加载,实现从开发到生产的受治理、版本化的技能生命周期。
贡献
欢迎贡献。请先开启 issue 讨论您想要更改的内容。
CONTRIBUTING.mdCODE_OF_CONDUCT.md📞 支持
💬 社区讨论:GitHub Discussions
🐛 Bug 报告:Issues
👾 Discord:加入我们的服务器
👥 企业微信群:
许可证
Apache License 2.0