Sling API 规范:构建 REST API 数据提取规范 - Openclaw Skills
作者:互联网
2026-04-01
什么是 Sling API 规范?
Sling API 规范提供了一个标准化的 YAML 定义框架,专门用于从 REST API 中提取数据。通过提供声明式的方法来处理身份验证、嵌套响应处理和复杂的分页,这项技能使开发者能够摆脱手动编写脚本。利用 Openclaw Skills,用户可以构建可靠的数据管道,与各种数据源无缝集成,确保一致且可扩展的提取模式。
其核心价值在于能够抽象掉 API 集成中通常需要的样板代码。无论是处理 OAuth2 流程、HMAC 签名,还是基于游标的分页,这些规范都提供了一个统一的结构,用于管理从初始身份验证到最终记录处理的数据请求全生命周期。
下载入口:https://github.com/openclaw/skills/tree/main/skills/flarco/sling-api-specs
安装与下载
1. ClawHub CLI
从源直接安装技能的最快方式。
npx clawhub@latest install sling-api-specs
2. 手动安装
将技能文件夹复制到以下位置之一
全局模式~/.openclaw/skills/
工作区
/skills/
优先级:工作区 > 本地 > 内置
3. 提示词安装
将此提示词复制到 OpenClaw 即可自动安装。
请帮我使用 Clawhub 安装 sling-api-specs。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。
Sling API 规范 应用场景
- 自动从 REST API GET 端点提取大型数据集。
- 构建增量同步工作流,仅根据状态获取新数据或更新数据。
- 通过使用队列链接多个 API 调用来编排复杂的数据检索。
- 使用通用的 YAML 模式在不同团队和项目之间标准化 API 集成。
- 处理复杂的分页逻辑,如 GitHub 风格的链接头或偏移限制模式。
- 创建一个 YAML 规范文件,定义 API 名称、基础 URL 和全局请求默认值。
- 使用八种支持的类型之一(如静态令牌或 OAuth2)配置身份验证块。
- 定义特定端点,指定相对 URL 路径和任何必要的请求头。
- 使用 JMESPath 表达式将 API 响应映射到记录,以识别数据数组和主键。
- 使用解析和测试操作来验证规范,并确保数据被正确提取。
Sling API 规范 配置指南
要开始使用这些 Openclaw Skills 进行构建,您需要一个 YAML 规范文件。您可以初始化一个基础配置并按照以下步骤进行测试:
# 创建基础 API 规范文件
touch my_api_spec.yaml
# 通过 CLI 界面测试端点的示例
sling test --connection MY_API_CONN --endpoints users --limit 10
确保在连接配置中正确映射了您的机密信息,以便通过 {secrets.*} 变量作用域进行访问。
Sling API 规范 数据架构与分类体系
该技能使用分层变量作用域系统组织数据,以确保在请求之间维护状态。
| 作用域 | 描述 | 使用场景 |
|---|---|---|
| secrets.* | 连接凭据 | 存储 API 密钥和令牌 |
| state.* | 端点特定变量 | 动态 URL 参数 |
| sync.* | 持久化运行状态 | 跟踪最后一次同步的时间戳 |
| response.* | 原始 HTTP 数据 | 访问响应头或状态码 |
| record.* | 单个数据点 | 在处理过程中转换字段 |
name: sling-api-specs
description: >
Build REST API specifications for Sling data extraction.
Use when creating API specs, configuring authentication (OAuth, API key, Bearer token, HMAC), setting up pagination (cursor, offset, page), processing responses, handling rate limits, chaining endpoints with queues, or implementing incremental sync.
API Specifications
API specs are YAML definitions for extracting data from REST APIs. They handle authentication, pagination, response processing, and incremental sync automatically.
When to Use
- Extract data from REST APIs (GET endpoints only)
- Build incremental sync workflows
- Handle complex pagination patterns
- Process nested JSON responses
- Chain multiple API calls with queues
Basic Structure
name: "My API"
description: "Data extraction from My API"
authentication:
type: "static"
headers:
Authorization: "Bearer {secrets.api_token}"
defaults:
state:
base_url: "https://api.example.com/v1"
request:
headers:
Accept: "application/json"
endpoints:
users:
description: "Fetch users"
request:
url: "{state.base_url}/users"
response:
records:
jmespath: "data[]"
primary_key: ["id"]
MCP Operations
Parse a Spec
{
"action": "parse",
"input": {"file_path": "/path/to/spec.yaml"}
}
Test Endpoints
{
"action": "test",
"input": {
"connection": "MY_API",
"endpoints": ["users"],
"debug": true,
"limit": 10
}
}
Topics Reference
This skill includes detailed documentation for each aspect of API specification building:
| Topic | Description |
|---|---|
| AUTHENTICATION.md | All 8 authentication types (static, basic, OAuth2, AWS, HMAC, sequence) |
| ENDPOINTS.md | Endpoint configuration, setup/teardown sequences |
| REQUEST.md | HTTP request configuration, rate limiting |
| PAGINATION.md | All pagination patterns (cursor, offset, page, link header) |
| RESPONSE.md | Record extraction, deduplication |
| PROCESSORS.md | Data transformations, aggregations |
| VARIABLES.md | Variable scopes, expressions, rendering order |
| QUEUES.md | Endpoint chaining, iteration |
| INCREMENTAL.md | Sync state, context variables |
| DYNAMIC.md | Runtime endpoint generation |
| FUNCTIONS.md | Expression functions reference |
| RULES.md | Response rules, retries, error handling |
Quick Reference
Authentication Types
| Type | Use Case |
|---|---|
static |
API key, Bearer token |
basic |
Username/password |
oauth2 |
OAuth 2.0 flows (client_credentials, authorization_code, device_code) |
aws-sigv4 |
AWS services |
hmac |
Crypto exchanges, custom signing |
sequence |
Multi-step custom auth |
Pagination Patterns
| Pattern | Example |
|---|---|
| Cursor | starting_after, page_token |
| Offset | offset + limit |
| Page | page number |
| Link header | GitHub-style rel="next" |
Variable Scopes
| Scope | Description |
|---|---|
secrets.* |
Credentials from connection |
state.* |
Endpoint state variables |
sync.* |
Persisted from previous run |
response.* |
HTTP response data |
record.* |
Current record in processor |
queue.* |
Endpoint chaining |
Full Documentation
See https://docs.slingdata.io/concepts/api-specs.md for complete reference.
相关推荐
专题
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
+ 收藏
最新数据
相关文章
SNS 调度器:多平台贴文管理 - Openclaw Skills
AI 自我身份:管理不断进化的智能体人格 - Openclaw Skills
SaaS Builder:利用 Openclaw 技能发布 Micro-SaaS 产品
社交媒体调度器:多平台 SNS 自动化 - Openclaw Skills
智能模型路由器:自动 Claude 模型切换 - Openclaw Skills
Rey Developer:自主编程最佳实践 - Openclaw Skills
MetaMask 钱包:AI 驱动的加密支付与 DeFi - Openclaw Skills
LinkedIn 海报生成器:专业算法优化 - Openclaw 技能
Human Security:高级交互保护 - Openclaw Skills
GitHub 个人主页 README 生成器:自定义开发者主页 - Openclaw Skills
AI精选
