在 Trae 平台中,借助 Skill 进行接口开发,本质上是将 API 设计、调试、文档生成等重复性工作打包为自动化流程,避免每次手动编写 cURL 命令、填写 Postman 表单或补充 Swagger 注释。开发者无需从零编写后端代码,只需让 Skill 基于 OpenAPI Schema 或接口描述,即可自动生成请求示例、校验响应结构,甚至搭建完整的 mock 服务。

第一步:准备接口契约文件
在项目根目录下新建 ./trae/skills/api-dev-helper/ 文件夹,并在其中创建 SKILL.md 文件——注意文件名必须全大写,否则 Trae 完全不识别,这一点没有任何商量余地。
打开 SKILL.md,粘贴以下基础契约声明:
# title: 接口开发助手
# description: 根据 OpenAPI v3 YAML 或 JSON 自动生成请求模板、响应校验规则和 mock 服务
requires:
- openapi-spec-validator
- httpie
inputs:
- spec_path: string # OpenAPI 文件路径,如 ./openapi.yaml
- endpoint: string # 要调试的路径,如 /v1/users/{id}
outputs:
- request_template: string
- response_schema: json
- mock_server_url: string
implementation: |
npx openapi-validator $spec_path &&
http --print=Hh $mock_server_url/$endpoint | head -n 20
这一步不可跳过——Trae 的 Skill 必须显式声明 inputs 和 outputs,否则 AI 无法明确输入参数与期望返回结果。若遗漏 inputs 字段,后续调用只会静默失败,没有任何报错提示,开发者很难定位问题根源。
第二步:导入并验证 Skill 生效
重启 Trae 编辑器,确保它重新扫描了 .trae/skills 目录。
打开 Builder 模式 → 点击右上角齿轮图标 →「规则与技能」→ 查看「api-dev-helper」是否出现在已启用列表中。
如果未出现,请排查两个要点:SKILL.md 是否放置在 api-dev-helper 文件夹的最内层(而非嵌套在子文件夹中);.trae 文件夹是否位于项目根目录,而不是用户主目录或桌面。
第三步:用 Skill 生成接口请求模板
在 Chat 窗口输入:“用 api-dev-helper 技能,基于 ./openapi.yaml 生成 /v1/orders 的 POST 请求模板”。
Trae 会自动读取 SKILL.md 中的 implementation 指令,调用本地安装的 openapi-validator 校验规范,并输出符合该接口 requestBody 定义的 JSON 示例。
生成的模板直接带有字段注释和必填标记,例如:"status": "string # required, enum: [pending, shipped, delivered]"。无需再翻阅 Swagger UI 截图或手动编写示例,效率提升显著。
第四步:对接口响应做结构断言
有两种方式:
方法一:在 Builder 中拖入一个 HTTP 请求节点 → 右键选择「用 Skill 校验响应」→ 指定 api-dev-helper → 输入实际返回的 JSON 数据。
方法二:在 Chat 中说:“校验这段响应是否符合 /v1/orders 的 OpenAPI schema”,然后粘贴返回体。Skill 会调用 openapi-spec-validator 进行 JSON Schema 级别比对,精确到字段类型、枚举值、嵌套层级。
这一步能立即发现后端返回了 string 类型的 id 却声明为 integer,或遗漏了 required 字段——比人工肉眼检查快 10 倍,且不易遗漏。
第五步:启动轻量 mock 服务
在 Chat 中输入:“启动 api-dev-helper 的 mock 服务,端口 8081,使用 ./openapi.yaml”。
Trae 会执行 implementation 中定义的命令链,启动一个基于 OpenAPI 自动生成的 mock server,所有路径都按 spec 返回预设示例数据。
前端开发者可直接使用 fetch('http://localhost:8081/v1/users') 进行调试,无需等待后端部署完成。mock 服务进程由 Trae 管理,关闭编辑器时自动终止,不会残留僵尸进程,干净利落。
