WittyHub扩展开发指南:如何添加新的AI技能源和平台支持

📅 2026/7/3 15:32:32 👁️ 阅读次数 📝 编程学习
WittyHub扩展开发指南:如何添加新的AI技能源和平台支持

WittyHub扩展开发指南:如何添加新的AI技能源和平台支持

【免费下载链接】wittyhubSkills & Agents Hub — searchable, high‑availability, intelligent, and community‑driven.项目地址: https://gitcode.com/openeuler/wittyhub

前往项目官网免费下载:https://ar.openeuler.org/ar/

WittyHub作为Skills & Agents Hub,提供了可搜索、高可用性、智能化且社区驱动的AI技能管理平台。本指南将详细介绍如何为WittyHub添加新的AI技能源和平台支持,帮助开发者快速扩展平台功能。

一、了解WittyHub技能源架构

WittyHub的技能源管理基于模块化设计,主要通过数据库模型和API接口实现对不同来源技能的统一管理。核心数据模型定义在src/models/orm.py文件中,其中skill_source_repositories表用于存储技能源仓库信息,包含source(来源类型)、source_url(仓库URL)等关键字段。

技能数据结构在多个文件中都有体现,例如在scripts/populate_skills.py中定义了技能的完整数据格式,包括:

  • source:技能来源(如github)
  • source_url:技能仓库地址
  • platform:支持的平台(如claude、cursor)

二、添加新的AI技能源步骤

2.1 扩展技能源数据模型

首先需要确保新的技能源类型能被数据库正确识别。在src/models/orm.py中,已定义了技能源相关的索引:

Index("idx_skill_source_repositories_source", "source"), Index("idx_skills_source", "source"), Index("idx_skills_unique", "source", "source_url", "version", "commit_id", unique=True),

如需添加特定来源的索引,可以在此处扩展。

2.2 实现技能源数据导入

WittyHub提供了多种技能导入脚本,可作为参考实现新技能源的导入逻辑:

  • scripts/import_skills.py:通用技能导入脚本
  • scripts/import_voltagent.py:特定来源技能导入示例

在导入过程中,需要设置技能的sourcesource_url属性:

# 示例:[scripts/import_voltagent.py] source=skill_data["source"], source_url=skill_data["source_url"],

2.3 开发技能源爬虫

如果新技能源需要从网页或API获取数据,可以参考scripts/crawler.py实现专用爬虫。主要步骤包括:

  1. 设计URL解析逻辑
  2. 实现数据提取和转换
  3. 处理分页和异常情况
  4. 将数据格式化为WittyHub所需结构

三、添加新的平台支持

3.1 平台支持数据结构

技能支持的平台信息通过platform字段存储,如scripts/populate_skills.py中的示例:

{"skill_id": "vercel-react-best-practices", "name": "Vercel React Best Practices", "platform": "cursor", # 平台标识 ... },

3.2 平台适配层开发

要添加新平台支持,需要在API层和前端展示层进行相应调整:

  1. API层:在src/api/routes/skills.py中确保平台信息被正确返回:
# [src/api/routes/skills.py] source=skill.source, source_url=skill.source_url, # 确保platform字段包含在API响应中
  1. 安全检查:更新安全检查逻辑,在src/api/services/security.py中添加新平台的安全策略:
# [src/api/services/security.py] def check_skill_security(self, skill_id: str, source: str, source_url: str, metadata: dict[str, Any]): # 添加新平台的安全检查逻辑
  1. 前端展示:在Web界面中添加新平台的标识和过滤功能,相关代码位于web/src/目录下。

四、测试与验证

4.1 单元测试

编写单元测试验证新技能源和平台的功能,可参考tests/test_skill_repository.py。

4.2 数据导入测试

使用scripts/generate_test_data.py或scripts/insert_mock_data.py生成测试数据,验证新技能源的导入功能:

-- [scripts/insert_mock_data.py]中的SQL示例 INSERT INTO skills (id, skill_id, name, description, version, commit_id, author, source, source_url, category, tags, platform, ...)

4.3 搜索功能验证

确认新添加的技能源和平台能被正确索引和搜索,搜索功能实现位于src/indexer/search.py:

# [src/indexer/search.py] SELECT id, skill_id, name, description, version, commit_id, author, source, source_url...

五、贡献指南

完成新技能源和平台支持的开发后,可通过以下步骤贡献代码:

  1. 从官方仓库克隆项目:git clone https://gitcode.com/openeuler/wittyhub
  2. 创建特性分支:git checkout -b feature/new-skill-source
  3. 提交代码并推送:git push origin feature/new-skill-source
  4. 创建合并请求

详细贡献流程可参考项目文档doc/design/目录下的相关文件。

通过以上步骤,您可以为WittyHub添加新的AI技能源和平台支持,丰富平台生态,为用户提供更多元化的AI技能选择。如有疑问,可查阅项目源码或参与社区讨论。

【免费下载链接】wittyhubSkills & Agents Hub — searchable, high‑availability, intelligent, and community‑driven.项目地址: https://gitcode.com/openeuler/wittyhub

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考