OpenClaw入门指南:将Python脚本与HTTP API快速编排为AI微服务网关

OpenClaw 入门:把 Python 脚本和 HTTP API 变成可编排的 AI 微服务
问题
你写了个爬虫抓商品价格,又有个 summary.py 用本地 LLM 做摘要,还想在价格跌破阈值时发钉钉通知——但每次都要改代码、拼参数、加 if 判断?传统做法得搭调度器、封装 API、补重试逻辑……太重。你需要的不是另一个聊天框,而是一个能听懂指令、自动分发、按条件串联的轻量网关。
方案
OpenClaw 就是这个网关:它不生成文本,也不替代 LLM。它把你已有的工具(Python 脚本、HTTP 接口、Shell 命令)变成“即插即用的微服务节点”,靠 YAML 定义路由规则和触发逻辑,所有通信走统一消息总线(MQTT 或内存模式),零修改原有代码。
✅ 为什么叫“微服务网关”?
因为它不碰业务逻辑——你的crawl.py还是纯 Python,curl -X POST https://api.example.com/notify还是那条命令。OpenClaw 只负责:收到消息 → 查规则 → 调哪个服务 → 传什么参数 → 拿回结果 → 决定下一步。
步骤
1. 安装并启动 OpenClaw(5 秒)
pip install openclaw
openclaw serve --dev✅ --dev 启用内存消息队列 + Web UI(http://localhost:8000),跳过 Docker 和 Redis,开箱即用。
2. 注册一个本地 Python 脚本(零侵入)
新建 scripts/price_crawler.py:
#!/usr/bin/env python3
import sys
import json
# OpenClaw 把输入 JSON 当作 argv[1] 传进来
url = json.loads(sys.argv[1]).get("url")
print(json.dumps({"price": 299.0, "title": "RTX 5090 显卡"}))赋予执行权限:
chmod +x scripts/price_crawler.py✅ 不用改脚本。OpenClaw 用 subprocess.run() 启动它,标准输入/输出就是数据通道——你写的还是原来那个脚本,只是现在能被“喊名字调用”。
3. 编写工作流配置(workflow.yaml)
services:
crawler:
type: command
command: ./scripts/price_crawler.py
llm_summary:
type: http
url: http://localhost:11434/api/chat # Ollama 的 chat 接口
method: POST
dingtalk:
type: http
url: https://oapi.dingtalk.com/robot/send?access_token=xxx
method: POST
routes:
- when: $.price < 300
then:
- service: llm_summary
input: '{"model":"qwen2:1.5b","messages":[{"role":"user","content":"用中文总结:{{.}}"}]}'
- service: dingtalk
input: '{"msgtype":"text","text":{"content":"⚠️ 低价预警:{{.message.content}}"}}'✅ $.price < 300 是 JSONPath 表达式,直接解析上一步返回的 JSON 字段,比写 if/else 更声明式;{{.}} 是模板语法,自动注入上游输出。
4. 发送测试消息触发流程
curl -X POST http://localhost:8000/v1/messages \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/gpu"}'✅ OpenClaw 自动解析 YAML,监听 /v1/messages 端点,匹配 routes 规则,串起 crawler → llm_summary → dingtalk 三步,全程无需重启。
验证
打开 http://localhost:8000,点击「Messages」标签页:
- 看到刚发的请求记录
- 点击查看详情,展开每一步执行日志(含命令输出、HTTP 状态码、耗时)
- 爬虫返回
{"price": 299.0, ...}→ 条件$.price < 300为真 → 自动进入后续步骤 - 钉钉机器人收到消息:“⚠️ 低价预警:RTX 5090 显卡价格为 ¥299.0”
👉 Binance · OKX · Gate.io · HTX · Bitget
常见问题
Q:我的脚本依赖虚拟环境,怎么指定 Python 解释器?
A:在 command 中写绝对路径,比如 /home/user/venv/bin/python ./scripts/price_crawler.py。
Q:HTTP 服务需要带 Bearer Token 怎么办?
A:在 http 类型服务里加 headers 字段:
headers:
Authorization: "Bearer {{.token}}"Token 可从上一步输出或环境变量注入(env: TOKEN)。
Q:想调试某一步失败原因,但日志太长?
A:Web UI 中每条消息右侧有「Replay」按钮——重新运行该分支,只重放出问题的节点,省去重复触发全流程。
下一步
你现在已掌握 OpenClaw 最核心的能力:把任意脚本/API 接入统一消息流。接下来可以:
- 用 MCP 协议接入 Cursor/Copilot,让 IDE 直接调用你的工作流
- 部署到树莓派:用
openclaw serve --host 0.0.0.0 --port 8080搭建家庭自动化中枢 - 进阶:用
service: webhook对接飞书/企业微信,实现跨平台通知闭环
OpenClaw 不教你怎么写 prompt,它只确保你写的每一行代码,都能被 AI 工作流真正用起来。