用途:该技能让 OpenClaw 以 REST、GraphQL、tRPC 三种方式设计与实现 Web API,围绕 OpenAPI 3.1 规范、JWT/OAuth2 认证、限流和分页,适用场景为需要 API 端点的后端服务,如用户认证系统或分页数据查询,涉及 RESTful 架构、GraphQL 查询或 tRPC 过程的项目,尤其是在需要限流或处理认证时。
主要能力:用 OpenAPI 3.1 设计 REST API,可通过 openapi-generator 生成 schema,如 --input spec.yaml --generator spring;实现 GraphQL API,定义类型与解析器,如使用 Apollo Server;编写 tRPC 过程,创建带类型的端点;通过中间件实施 JWT 或 OAuth2 认证,用环境变量 $WEB_API_JWT_SECRET 签名令牌;使用 express-rate-limit 等库限流,如 { windowMs: 15601000, max: 100 };在查询中实现基于游标或偏移的分页,如 query { users(first: 10, after: "cursor") }。
使用方式:REST 设计可运行 openclaw run web-api --design rest --spec openapi.yaml;GraphQL 用 openclaw run web-api --type graphql --schema schema.graphql;tRPC 用 openclaw run web-api --type trpc --router path/to/router.ts。认证需设置 $WEB_API_OAUTH_CLIENT_ID、$WEB_API_OAUTH_CLIENT_SECRET,运行前确保 $WEB_API_API_KEY 已配置。限流可加 --rate-limit 100:15m,分页示例 --design rest --endpoint /users --paginate offset:10。生成 OpenAPI 规范的命令为 openclaw run web-api --cluster web-dev --action generate --format openapi。依赖通过 npm install express graphql @trpc/server 安装。
限制:资料未提供该技能的收费、价格、版本与平台要求。错误处理需自行捕获,如校验 JWT 失败返回 401,限流返回 429 并带 retry-after 头,也可用 openclaw log error 记录。API 错误可解析状态码与响应体,敏感数据应使用环境变量并包裹 try-catch。该技能与 frontend、database、auth、deployment 技能存在关联,可链式调用,如 openclaw run web-api --output code.js 后接 database 技能导入。可用 Postman 导入 OpenAPI 规范进行测试。