Skip to content

API 集成

🔌 什么是 API 集成?

让 OpenClaw 连接外部服务和 API,扩展更多能力。

OpenClaw

    ├── OpenAI API → AI 能力
    ├── 飞书 API → 消息/文档
    ├── GitHub API → 代码管理
    ├── 天气 API → 实时天气
    └── 自定义 API → 你的服务

🛠️ 内置 API 支持

飞书(Lark)

你: 帮我在飞书创建一个文档

OpenClaw: [调用飞书 API]
文档已创建:https://feishu.cn/docx/xxx
需要我写入什么内容吗?

支持的飞书功能:

  • 发送消息
  • 创建/编辑文档
  • 操作多维表格
  • 获取日历事件

GitHub

你: 帮我在 openclaw/openclaw 创建一个 issue

OpenClaw: [调用 GitHub API]
Issue 已创建:#123
标题:Bug: 某某功能异常
链接:https://github.com/openclaw/openclaw/issues/123

支持的 GitHub 功能:

  • 创建/查看 Issue
  • 创建/管理 PR
  • 查看 CI 状态
  • 操作仓库

🔑 配置 API 密钥

方式一:配置文件

json
// ~/.openclaw/config.json
{
  "apis": {
    "feishu": {
      "appId": "cli_xxx",
      "appSecret": "xxx"
    },
    "github": {
      "token": "ghp_xxx"
    }
  }
}

方式二:命令行

bash
openclaw config set apis.feishu.appId cli_xxx
openclaw config set apis.feishu.appSecret xxx

🌐 自定义 API 调用

简单请求

你: 调用 https://api.example.com/data 获取数据

OpenClaw: [发起 HTTP 请求]
请求成功,返回数据:
{
  "status": "ok",
  "data": [...]
}

带参数请求

你: 用 POST 方法调用登录 API,用户名是 xxx,密码在 .secrets 里

OpenClaw: [读取密码,构造请求]
登录成功,返回 token:eyJ...

处理响应

你: 从 API 返回的数据中提取用户列表

OpenClaw: [解析 JSON]
提取到 15 个用户:
1. Alice (alice@example.com)
2. Bob (bob@example.com)
...

📝 实战:天气 API

让我们调用一个真实的天气 API:

你: 用 Open-Meteo API 查询北京明天的天气

OpenClaw: [构造 API 请求]
API 请求:https://api.open-meteo.com/v1/forecast?latitude=39.9&longitude=116.4&daily=temperature_2m_max,temperature_2m_min

返回结果:
明天北京天气:
- 最高温度:22°C
- 最低温度:14°C
- 日出:06:15
- 日落:18:42

🔄 API 工作流

组合多个 API 调用:

你: 每天早上获取天气,如果会下雨,就在飞书群里提醒大家带伞

OpenClaw: [创建工作流]
工作流已创建:
1. [定时] 每天 07:00 触发
2. [API] 调用天气 API
3. [判断] 降水概率 > 30%?
4. [API] 发送飞书消息

测试一下?

📊 API 错误处理

你: API 调用失败怎么办?

OpenClaw: OpenClaw 会自动处理常见错误:
- 4xx 错误:检查参数,提示用户
- 5xx 错误:重试 3 次,间隔递增
- 超时:提示用户,建议稍后重试
- 限流:等待后重试

你也可以自定义错误处理逻辑。

📝 小练习

动手试试

  1. 让 OpenClaw 调用一个公开 API(如天气、笑话等)
  2. 解析返回的数据
  3. 保存到文件

➡️ 下一步

掌握了 API 集成,接下来是最后的 实战:打造个人工作流

基于 MIT 许可发布