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.md 及 references/ 下的接口文档,匹配到 listUsers 接口及其参数 page、pageSize。
生成调用代码
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 文档中的使用约定包括:
- 按需引入 — 每个 API 函数从对应的 tag 文件导入
- 正确的请求客户端 — 使用 alova / axios / fetch / ky(取决于模板)
- 参数传递规范 —
pathParams/params/data的正确位置