关于 devtu-auto-discover-apis
用于扩展 ToolUniverse 生命科学 API 覆盖范围的工作流技能,面向构建和维护工具的开发者。它从覆盖缺口分析开始,依次完成 API 搜索、工具创建、验证和集成,并在人为审批节点暂停。
主要功能
- 01分析 ToolUniverse 工具覆盖缺口
- 02搜索并评估生命科学 API
- 03创建 API 工具及配置
- 04验证工具结构与集成测试
- 05准备分支并提交 Git PR
适用场景
- 01规划某生命科学领域的 API 接入
- 02将新 API 转换为 ToolUniverse 工具
- 03审核已有工具的质量
- 04按领域批量提交多个 API 工具
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mims-harvard/ tooluniverse --skill devtu-auto-discover-apis安装后在 Claude Code 中输入/devtu-auto-discover-apis确认已加载。
附带文件references/tool-templates.mdreferences/validation-guide.md
详细介绍
自动发现生命科学 API 并创建工具
发现、创建、验证生命科学 API,并将其集成到 ToolUniverse。
四阶段工作流
Gap Analysis → API Discovery → Tool Creation → Validation → Integration
↓ ↓ ↓ ↓ ↓
Coverage Web Search devtu-create devtu-fix Git PR
在发现、创建、验证之后以及创建 PR 之前设置人工审批关卡。
阶段 1:发现与差距分析
1.1 分析当前覆盖范围
加载 ToolUniverse,按领域对工具进行分类(基因组学、蛋白质组学、药物发现、临床、组学、影像、文献、通路、系统生物学)。统计每个类别的工具数量。
1.2 确定领域差距
- 关键差距:某类别中的工具少于 5 个
- 中等差距:有 5–15 个工具,但缺少关键子类别
- 新兴差距:尚未覆盖的新技术
常见差距:单细胞基因组学、代谢组学、患者登记库、微生物基因组学、多组学整合、合成生物学、毒理学。
1.3 搜索 API
针对每个存在差距的领域,运行多条查询:
"[domain] API REST JSON"— 直接搜索 API"[domain] public database"— 搜索数据库"[domain] API 2025 OR 2026"— 查找近期发布的 API"[domain] database" site:nar.oxfordjournals.org— 搜索 NAR 数据库专题
提取:基础 URL、端点、身份验证方式、参数架构、速率限制。
1.4 评分并确定优先级
| 标准 | 最高分 |
|---|---|
| 文档质量 | 20 |
| API 稳定性 | 15 |
| 身份验证的简便性 | 15 |
| 覆盖范围 | 15 |
| 维护情况 | 10 |
| 社区支持 | 10 |
| 许可证 | 10 |
| 速率限制 | 5 |
高优先级(>=70),中优先级(50–69),低优先级(<50)。
1.5 生成发现报告
包括覆盖范围分析、按优先级排序且附有评分的候选 API,以及实施路线图。
阶段 2:创建工具
对于每个 API,使用 Skill(skill="devtu-create-tool") 或遵循以下模式。
架构决策
- 多个端点 → 多操作工具(单个类、多个 JSON 包装器)
- 单个端点 → 可采用单操作工具
关键步骤
- 按照模板设计工具类 — 参见 references/tool-templates.md
- 创建包含 oneOf return_schema 的 JSON 配置
- 查找真实测试示例(使用 List 端点 → 提取 ID → 验证)
- 在
default_config.py中注册
关键要求
- return_schema 必须包含
oneOf(成功和错误架构) - test_examples 必须使用真实 ID(不得使用占位符)
- 工具名称不得超过 55 个字符
- 切勿在
run()中引发异常 — 返回错误字典 - 为所有 HTTP 请求设置超时(30s)
阶段 3:验证
完整指南:references/validation-guide.md
快速验证清单
- 架构:oneOf 结构、数据包装器、错误字段
- 占位符:test_examples 中不得包含 TEST/DUMMY/PLACEHOLDER
- 加载:三步检查(类已注册、配置已注册、包装器已生成)
- 集成测试:
python scripts/test_new_tools.py [api_name] -v→ 通过率 100%
使用 Skill(skill="devtu-fix-tool") 修复失败项。
阶段 4:集成
使用 Skill(skill="devtu-github") 或:
- 创建分支:
feature/add-[api-name]-tools - 暂存工具文件和 default_config.py
- 使用描述性消息提交
- 推送并创建 PR,附上验证结果
处理模式
| 模式 | 使用时机 |
|---|---|
| 批量(多个 API → 单个 PR) | 同一领域、结构相似 |
| 迭代(一次处理一个 API) | 身份验证复杂、模式新颖 |
| 仅发现(生成报告,不创建工具) | 规划路线图 |
| 仅验证(审查现有内容) | PR 审查、质量检查 |
参考资料
- 工具模板(Python 类 + JSON 配置):references/tool-templates.md
- 验证与集成指南:references/validation-guide.md
评论
支持 Markdown