🚀 龙虾新手指南

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

发布时间:2026-09-16 分类: 龙虾新手指南
摘要:OpenClaw 入门:把 Python 脚本和 HTTP API 变成可编排的 AI 微服务问题你写了个爬虫抓商品价格,又有个 summary.py 用本地 LLM 做摘要,还想在价格跌破阈值时发钉钉通知——但每次都要改代码、拼参数、加 if 判断?传统做法得搭调度器、封装 API、补重试逻辑……太重。你需要的不是另一个聊天框,而是一个能听懂指令、自动分发、按条件串联的轻量网关。方案Ope...

OpenClaw入门指南:将Python

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 接入统一消息流。接下来可以:

OpenClaw 不教你怎么写 prompt,它只确保你写的每一行代码,都能被 AI 工作流真正用起来。

返回首页