把 OpenClaw 当网关对外提供 API,以及让 OpenClaw 的 Skill 去调用第三方 API
OpenClaw(小龙虾)调用 API 接口,主要分两种场景:把 OpenClaw 当网关对外提供 API,以及让 OpenClaw 的 Skill 去调用第三方 API。下面给你一套可直接照着做的完整流程与示例
·
一、部署与基础准备
先把 OpenClaw 装好并启动网关:
bash
运行
# 安装
npm install -g openclaw
# 初始化配置(一路回车或按提示填)
openclaw onboard
# 启动网关(默认端口18789)
openclaw gateway start
二、让外部调用 OpenClaw(网关对外 API)
OpenClaw 自带兼容 OpenAI 的 HTTP 接口,可直接被其他程序调用。
1. 开启网关 API
配置文件 ~/.openclaw/openclaw.json 确保以下开启:
json
{
"gateway": {
"api": {
"enabled": true,
"path": "/v1/chat/completions"
}
}
}
2. 获取调用 Token
bash
运行
# 查看网关Token
openclaw config get gateway.auth.token
# 输出类似:gwt-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
3. 调用示例(curl)
bash
运行
curl http://localhost:18789/v1/chat/completions \
-H "Authorization: Bearer gwt-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-3-opus",
"messages": [{"role":"user","content":"你好"}]
}'
三、让 OpenClaw 调用第三方 API(Skill 方式)
适合调用天气、搜索、数据库等外部服务,用 Python 写 Skill 即可。
1. 新建 Skill 目录
bash
运行
# 进入技能目录
cd ~/.openclaw/skills
mkdir my_api_caller && cd my_api_caller
2. 编写 main.py(调用示例:随机名言 API)
python
运行
import requests
from openclaw.skill import Skill
class APICallerSkill(Skill):
def execute(self, context):
try:
# 第三方API地址
api_url = "https://api.quotable.io/random"
res = requests.get(api_url, timeout=10)
res.raise_for_status()
data = res.json()
return f"名言:{data['content']}\n作者:{data['author']}"
except Exception as e:
return f"调用失败:{str(e)}"
# 必须暴露skill实例
skill = APICallerSkill()
3. 编写 __init__.py
python
运行
from .main import skill
4. 重启网关并测试
bash
运行
openclaw gateway restart
在对话中直接触发:
plaintext
请调用my_api_caller获取一条名言
四、配置大模型 API(以 OpenAI/Anthropic 为例)
1. 用命令配置 API Key
bash
运行
# OpenAI
openclaw config set models.providers.openai.apiKey "sk-xxx"
# Anthropic
openclaw config set models.providers.anthropic.apiKey "sk-ant-xxx"
2. 或用环境变量(更安全)
bash
运行
# ~/.openclaw/.env
OPENAI_API_KEY=sk-xxx
ANTHROPIC_API_KEY=sk-ant-xxx
五、常见问题排查
- API 调用超时:检查网络、防火墙,适当调大 Skill 的 timeout
- 认证失败:核对 Token/API Key 是否正确、是否有空格
- 模型调用失败:用
openclaw doctor检查模型状态
六、总结
- 对外 API:网关开启后用
/v1/chat/completions+ Bearer Token 调用 - 调用第三方 API:写 Python Skill,用 requests 发起 HTTP 请求
- 模型 API 配置:用命令或环境变量设置 Key,重启生效
更多推荐




所有评论(0)