Install
openclaw skills install @thcjp/api-toolkitopenclaw skills install @thcjp/api-toolkit解决痛点:接口改动后,靠人工回归既慢又容易漏,团队成员各测各的没有沉淀。
专业版能力:
(根据实际场景填充)),自动拓扑排序断言DSL示例:
assert:
- status == 200
- response.body.code == 0
- response.body.data | length > 0
- response.body.data[0].id ~= /^\d+$/
- headers['Content-Type'] contains 'application/json'
- time_total < 500 # 响应时间小于500ms
输入: 用户提供功能1:回归测试集(批量测试)所需的指令和必要参数。
解决痛点:前端等后端、后端等前端,串行开发慢;第三方API联调期不稳定。
专业版能力:
?mock_status=500 模拟错误响应?mock_delay=2000 模拟慢接口?mock_scenario=empty / ?mock_scenario=errorapi-toolkit mock start --spec ./openapi.yaml --scenario edge-case
api-toolkit mock record --target https://api.example.com --port 8080
api-toolkit mock replay --recording ./recordings/2026-07.json
处理: 按照skill规范执行功能2:本地Mock服务器操作,遵循单一意图原则。
解决痛点:上线前才知道接口扛不住,或压测工具太重不会用。
专业版能力:
典型压测报告结构:
Load Test Report - 2026-07-18
================================
Target: https://api.example.com/v1/users
Duration: 300s | Total Requests: 150,000
Concurrency | QPS | P95(ms) | P99(ms) | Error%
10 | 95 | 85 | 120 | 0.0%
50 | 420 | 180 | 320 | 0.1%
100 | 780 | 450 | 820 | 1.2% ← 拐点
200 | 920 | 1800 | 3500 | 8.5% ← 降级触发
Bottleneck: P95在并发100时突破500ms阈值
Suggestion: 检查DB连接池配置,建议限流阈值设为800 QPS
解决痛点:接口实现悄悄改了字段类型,前端没被告知,上线后炸。
专业版能力:
api-toolkit contract-check \
--spec ./openapi.yaml \
--endpoint /v1/users \
--method GET \
--response ./sample-response.json
api-toolkit contract-check --spec ./openapi.yaml --ci-mode
输出示例:
详细代码示例已移至
references/detail.md
处理: 按照skill规范执行功能4:OpenAPI契约校验操作,遵循单一意图原则。
解决痛点:第三方API的业务错误码散落在文档各处,排查时翻半天。
专业版能力:80+服务、1000+业务错误码的结构化字典,支持按服务、按错误类型检索。
api-toolkit error-dict --service stripe --search "card_declined"
Stripe Error: card_declined
HTTP Status: 402
Meaning: 顾客的银行卡被拒
Common Causes: 余额不足、卡过期、风控触发
Recovery: 提示用户更换支付方式,或使用Idempotency-Key执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令
Doc: 搜索 "Stripe card_declined codes"
输出: 返回错误处理的执行结果,包含操作状态和输出数据。
错误处理操作,处理输入数据并返回结果错误处理 选项解决痛点:测试集散落各人电脑,接口改动没人通知,回归结果无法对比。
专业版能力:
测试集云端仓库:Git版本化,支持分支与PR评审
结果diff:两次回归结果对比,标记新增失败项
变更追踪:接口Spec变更自动通知相关测试集owner
权限管理:读/写/管理员三角色
Webhook:测试失败自动通知Slack/钉钉/飞书
参考功能6:团队协作空间相关配置参数进行设置
本skill还覆盖以下能力场景: 企业级、测试调试全套件、含批量回归、契约校验与团队协、工具箱专业版是面、向研发团队的全功、测试调试套件、在免费版的请求模、认证范式、错误诊断基础上、解锁批量回归测试、按服务细分的完整、错误码字典、团队协作空间六大、高级能力、覆盖从联调到上线、再到持续回归的完、整生命周期、需要代码生成、编程辅助、调试测试、开发部署时使用、不适用于无明确技、术栈的模糊需求。这些能力在上述核心功能中均有对应处理逻辑。
痛点:前端等后端接口才能开工,串行开发周期长。
专业版方案:
api-toolkit mock start --spec ./openapi.yaml 启动Mock?mock_scenario=empty 测试空数据,?mock_scenario=error 测试错误态api-toolkit contract-check 验证实现是否符合Spec效果:前后端并行开发,整体交付周期缩短约30%。
痛点:上线后才发现接口扛不住大促流量,回滚损失大。
专业版方案:
api-toolkit load-test 跑阶梯压测,定位QPS拐点效果:上线前量化性能边界,避免线上事故。
痛点:后端悄悄改了字段类型,前端没被告知,集成时炸。
专业版方案:
api-toolkit contract-check --ci-mode效果:契约漂移从"上线后才发现"变为"合并前被拦截"。
痛点:对接第三方API,对方环境不稳定,自己的开发被阻塞。
专业版方案:
api-toolkit mock record --target <第三方API> 录制一次正常响应api-toolkit mock replay --recording ./recordings/详情见说明.jsonapi-toolkit load-test 压测第三方API配额效果:第三方不稳定不再阻塞本地开发。
痛点:多租户系统接口容易串数据,回归测试要覆盖多租户隔离。
专业版方案:
api-toolkit contract-check 校验不同租户的响应结构一致tenant_quota_exceeded)效果:多租户隔离从手工抽查变为自动化回归。
专业版完全兼容免费版的所有模板与范式。首次使用时,直接对Agent说:
Agent会按免费版的模板规则输出curl命令,并额外提示:是否要把这个请求加入回归测试集?
详细内容已移至
references/detail.md- ### 标准搭建(<120秒):跑优秀个回归测试集
启动Mock服务器(基于OpenAPI Spec):
api-toolkit mock start --spec ./openapi.yaml --port 8080
运行阶梯压测:
api-toolkit load-test \
--target https://api.example.com/v1/users \
--duration 300s \
--concurrency 10,50,100,200 \
--rampup 30s \
--report ./reports/load-$(date +%Y%m%d).html
--concurrency: 命令参数,用于指定操作选项--endpoint: 命令参数,用于指定操作选项--report: 命令参数,用于指定操作选项--method: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项--duration: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项-case: 命令参数,用于指定操作选项--search: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项-response: 命令参数,用于指定操作选项-dict: 命令参数,用于指定操作选项--rampup: 命令参数,用于指定操作选项--response: 命令参数,用于指定操作选项--service: 命令参数,用于指定操作选项--on-failure: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项--schedule: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-X: 命令参数,用于指定操作选项-Type: 命令参数,用于指定操作选项-Key执行ping命令测试网络连通性: 命令参数,用于指定操作选项| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| content | string | 是 | 相关说明 |
| content | string | 否 | 相关说明, 默认: 默认值 |
| content | string | 否 | 相关说明, 可选值: json/text/markdown |
| style | string | 否 | 输出风格, 参考 references/style.md |
{
"success": true,
"data": {
result: "相关说明",
result: "相关说明",
result: "相关说明",
"metadata": {
"template_used": "reviewer",
"word_count": 0,
"style": "专业"
}
},
"error": null
}
输出模板参考: assets/output.json
| 错误场景 | 原因 | 处理方式 |
|---|---|---|
| 输入content为空 | 用户未提供必要信息 | 提示用户提供content, 并给出示例格式 |
| 输入内容过长(>5000字) | 超出单次处理能力 | 建议分段处理, 每段不超过2000字 |
| 风格参数不识别 | 传入不支持的风格 | 列出支持的风格选项, 使用默认风格 |
| 生成内容不达标 | 质量校验未通过 | 自动执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令1次, 仍不达标则标注问题返回 |
| 其他异常 | 内部处理异常 | 检查输入后执行ping命令测试网络连通性,检查防火墙和代理设置连接后重新执行命令 |
| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent平台内置LLM提供(专业版路由GPT-4o) |
| Node.js 18+ | 运行时 | 必需 | 从nodejs.org安装 |
| curl | 工具 | 推荐 | 系统自带或从curl.se安装 |
| jq | 工具 | 可选 | 从jqlang.github.io安装 |
| OpenAPI Spec | 文件 | Mock/契约校验必需 | 由团队维护 |
| Git | 工具 | 协作空间必需 | 系统自带或从git-scm.com安装 |
api-toolkit collab login~/.api-toolkit/credentials/ 目录(已gitignore)详细代码示例已移至
references/detail.md
{
"editor.apiToolkit": {
"enabled": true,
"mockOnSave": true,
"contractCheckOnSave": true,
"defaultAssertTimeout": 500
}
}
1. 回归测试失败 → 自动通知Slack/钉钉/飞书对应频道
2. 契约校验不通过 → 自动在PR评论差异详情
3. 压测报告生成 → 自动上传到Confluence/Notion
4. 错误码字典更新 → 自动推送changelog到团队群
api-toolkit test run ./tests/smoke.yaml --schedule "*/5 * * * *" \
--on-failure "curl -X POST $ALERT_WEBHOOK -d 'API冒烟测试失败'"
免费版聚焦"个人联调能跑通",提供请求模板、认证范式、错误诊断与服务索引。专业版聚焦"团队级API质量基础设施",新增六大高级功能:回归测试集、Mock服务器、性能压测、契约校验、完整错误码字典、团队协作空间。此外提供多角色场景指南、性能优化策略、多平台集成示例与版本迁移指南。
支持状态码、响应体字段(含JSONPath)、Header、响应时间四类断言。DSL支持相等(==)、包含(contains)、正则(~=)、长度(| length)、数值比较(< >)等操作符。复杂断言可用JS表达式。
可以,前提是有OpenAPI Spec。Mock基于Spec自动生成符合Schema的响应。对于无Spec的API,可用record模式录制真实响应回放。Mock支持状态码注入、延迟注入、场景切换。
有风险,建议在预发环境压测。专业版提供熔断保护:错误率超阈值(默认5%)自动停止。压测前应评估目标API的配额与限流策略,避免触发风控。生产压测建议在低峰期,并提前报备。
单元测试验证"代码逻辑是否正确",契约校验验证"接口实现是否符合Spec约定"。契约校验关注的是接口契约的稳定性,防止后端悄悄改字段类型或删除必填字段而前端不知情。两者互补,不能替代。
字典由社区贡献+官方文档同步双通道维护。每个错误码标注来源(官方文档/社区验证)、最后核实时间。用户发现释义不准可通过协作空间提交修正。专业版每月同步一次官方文档更新。
专业版默认支持20人团队。更大团队可联系销售升级企业版。协作空间支持读/写/管理员三角色,测试集用Git版本化,支持分支与PR评审。
可以。用 api-toolkit test import --from-curl ./cmds.sh 可批量导入curl命令为测试集steps。导入后需补充断言。专业版也支持从Postman Collection、Insomnia导出文件导入。
录制数据默认存本地,可配置脱敏规则(如对 Authorization 头、email 字段脱敏)。录制数据不应提交到Git,建议加入 .gitignore。协作空间上传前会自动扫描敏感字段并提示。
包含QPS曲线、P50/P95/P99延迟、错误率热力图、并发档位对比、瓶颈分析、优化建议。报告为HTML交互式格式,可缩放查看曲线细节,可导出PDF归档。
可以。专业版CLI支持CI模式(退出码非0即失败),提供GitHub Actions/GitLab CI/Jenkins的集成示例。典型流水线:PR触发契约校验→合并触发回归测试→定期触发压测。
支持。团队协作空间可私有化部署到企业内网,不依赖公网。Mock服务器与压测工具本身就在本地运行。错误码字典可离线包形式分发。联系销售获取私有化部署包。