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 # 运行冒烟测试
SkillHub
企业级开源智能体技能注册中心 — 在组织内发布、发现和管理可复用的技能包
SkillHub 是一个自托管平台,为团队提供私有的、受治理的智能体技能共享空间。发布技能包,推送到命名空间,让其他人通过搜索发现或通过 CLI 安装。专为防火墙后的本地部署而构建,提供与公共注册中心相同的精致体验。
分享优秀 Skill
优秀的 Skill 在分享中产生更大价值。如果你有一个在真实工作或生活场景中反复打磨、确实好用的 Skill,欢迎分享给 SkillHub 社区,与大家一起丰富开放、实用的 Skill 生态。无论是日常生活、 办公协作、学习研究、旅行活动、内容创作、数据分析还是软件开发,都可以成为有价值的分享。
经过验证的社区贡献还有机会进入精选 Skill 集合,让每个新部署的 SkillHub 开箱即用。不必完成 全部适配后才能参与:你可以先创建 issue, 说明 Skill 的来源和它解决的问题;也可以按照Skill 分享指南 直接提交 PR。
文档
核心特性
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
开发
前置要求
启动开发环境
常用命令
管理员标签管理冒烟测试只会在显式提供当前管理员凭证时运行:
持久化环境只跑非管理员冒烟检查时,可设置
SMOKE_ADMIN_CHECKS=false。 脚本不再回退使用 bootstrap 管理员默认密码。说明:不要在
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如果通过
/skillhub/这类子路径对外发布,需要让公网地址和前端基础路径保持一致。 请在.env.release中设置SKILLHUB_PUBLIC_BASE_URL=https://skill.example.com/skillhub、SKILLHUB_WEB_BASE_PATH=/skillhub/和SKILLHUB_WEB_API_BASE_URL=/skillhub。使用 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 与 Agent Skills 生态
SkillHub 是一个注册与治理平台,而不是一个技能集合。它与
anthropics/skills这类开放技能仓库是 互补关系:那个仓库推广了 Agent Skill 格式(带name/descriptionfrontmatter 的SKILL.md加上配套文件),并提供了一批精选的示例技能;而 SkillHub 则是你的组织私有地托管、版本化、治理和分发这些技能的地方。anthropics/skillsbeta/stable)、latest追踪由于 SkillHub 使用同一套
SKILL.md格式,anthropics/skills中的技能——或任何 Agent Skill 目录——都可以直接发布到你的注册中心:一句话总结:用
anthropics/skills这类集合提供内容,用 SkillHub 在组织内进行受治理的分发。与智能体平台集成
SkillHub 设计为与各种智能体平台和框架无缝集成。
OpenClaw
OpenClaw 是开源的智能体技能 CLI 工具。配置它使用您的 SkillHub 端点作为注册中心:
其中
my-space--my-skill是兼容层使用的 canonical slug,SkillHub 会将其解析为 namespacemy-space和 skill slugmy-skill。ClawHub 兼容范围包含搜索、查看和安装;其发布协议与 SkillHub 不兼容。 发布请使用上面的第一方 CLI。
📖 完整 OpenClaw 集成指南 →
Hermes Agent
Hermes Agent 使用标准
SKILL.md格式,并会递归发现$HERMES_HOME/skills/中的技能。通过 SkillHub CLI 的--dir参数即可把完整技能包安装到 Hermes,无需新增 registry 适配器;安装后可使用hermes skills list验证。📖 完整 Hermes Agent 集成指南 →
HarnessClaw Engine
HarnessClaw Engine 是基于 Go 的 LLM 编程助手引擎,通过 WebSocket 协议对外提供能力。它从
SKILL.md文件加载技能,支持 YAML frontmatter 与参数替换,并按配置顺序扫描各目录下的skill-name/SKILL.md(默认~/.harnessclaw/workspace/skills/,靠前的目录在重名时优先)。通过 SkillHub CLI 的--dir参数即可把技能包直接安装到该目录,无需新增 registry 适配器:AstronClaw
AstronClaw 是基于 OpenClaw 核心能力打造的云端 AI 助手,提供全天候在线服务,随时随地通过企业微信、钉钉、飞书等渠道提供服务。它内置了丰富的技能系统,您可以将其连接到自托管的 SkillHub 注册中心,支持技能市场一键安装、仓库搜索、对话自动安装,甚至管理和分发组织内部的自定义私有技能。
Loomy
Loomy 是聚焦真实办公场景的桌面端 AI 工作搭子。它深入打通本地文件和系统工具,为个人及小团队构建高效的自动化工作流。通过将 Loomy 连接到您的 SkillHub 注册中心,您可以轻松发现并安装组织内部的专属技能,从而增强本地桌面端的自动化与协同办公能力。
astron-agent
astron-agent 是科大讯飞星火智能体框架。存储在 SkillHub 中的技能可以被 astron-agent 引用和加载,实现从开发到生产的受治理、版本化的技能生命周期。
相关项目
SkillHub 是 讯飞 Astron 开源生态的一部分。如果 SkillHub 对你有帮助,这些同生态的姊妹项目你可能也会用到:
贡献
欢迎贡献。请先开启 issue 讨论您想要更改的内容。
CONTRIBUTING.mdCODE_OF_CONDUCT.md📞 支持
💬 社区讨论:GitHub Discussions
🐛 Bug 报告:Issues
👾 Discord:加入我们的服务器
👥 企业微信群:
许可证
Apache License 2.0