wormaworma

AI Skills 集成

让 AI 工具精准理解你的 API 接口

AI Skill 是 worma 为 AI 编码工具生成的结构化接口描述。它让 Cursor、Copilot、Continue 等 AI 能够精准理解你的每一个接口。

核心思想

人和 AI,共享同一份接口上下文。

没有 Skill 文档时,AI 对你的接口一无所知:

你:帮我调用获取用户信息的接口
AI:
  import axios from 'axios'
  axios.get('/user?id=1')
  // 参数结构猜错、引入路径不对、响应类型缺失

有 Skill 文档后:

你:帮我调用获取用户信息的接口
AI (读取 Skill):
  知道函数名 getUserInfo、参数结构、引入路径
  import { getUserInfo } from './api/user'
  getUserInfo({ pathParams: { id: 'U001' } })
  // 一次正确,可直接运行

启用 AI Skills

worma.config 中添加 aiDoc 插件即可,详细配置请参考插件文档。

生成产物

执行 worma gen 后,aidocs/ 目录包含:

aidocs/
├── SKILL.md              # 主文档:接口索引 + 使用约定 + 文件位置
└── references/           # 每个接口一个独立文档
    ├── user.info.md
    ├── user.login.md
    ├── admin.permissions.md
    └── ...

使用示例

单接口调用

生成 Skill 文档后,在 AI 对话中直接描述需求,AI 会自动完成接口匹配与代码生成。

描述需求

在对话中直接告诉 AI 你想做什么:

你:查询用户列表,分页展示,每页 20 条

AI 读取技能文档

AI 自动加载 SKILL.mdreferences/ 下的接口文档,匹配到 listUsers 接口及其参数 pagepageSize

生成调用代码

AI 输出可直接运行的代码:

import { listUsers } from './api/user';

const res = await listUsers({
  params: { page: 1, pageSize: 20 },
});

多接口组合

当需要多个接口协作时,AI 会自动串联执行步骤。

描述复合需求

你:先创建一篇文章,然后为它添加评论

执行第一个接口

AI 调用创建文章接口,并保留返回结果中的 articleId

import { createArticle } from './api/article';
const article = await createArticle({
  data: { title: 'Hello', content: '...' },
});
// article.data.id 将用于下一步

链式调用第二个接口

AI 使用上一步返回的 ID,继续调用评论接口:

import { createComment } from './api/comment';
await createComment({
  data: {
    articleId: article.data.id,
    content: 'Great article!',
  },
});

使用约定

AI 在生成代码前会强制复述使用约定,确保遵守规范。Skill 文档中的使用约定包括:

  1. 按需引入 — 每个 API 函数从对应的 tag 文件导入
  2. 正确的请求客户端 — 使用 alova / axios / fetch / ky(取决于模板)
  3. 参数传递规范pathParams / params / data 的正确位置

On this page