Child and robot interacting with projected bubbles

这篇是 OpenClaw 入门教程 的续集,假设你已经装好了 OpenClaw,跑通了基本的 Telegram 交互。这里讲的是真正把它用起来之后的进阶技巧。

多 Agent 任务分工

OpenClaw 支持在同一个 Telegram 群里配置多个 Agent,各自负责不同领域,这是它最容易被忽视的功能。

为什么要分 Agent

不分 Agent 时,你的 AI 助手是个通才——什么都能问,但没有专门的上下文和工具。问运维问题时它不知道你的服务器架构,问量化策略时它不知道你的持仓逻辑。

分 Agent 后,每个 Agent 有自己的:

  • 系统提示词:注入对应领域的背景知识
  • Skill 集合:只挂载相关的工具
  • 独立对话历史:不会被其他任务干扰

配置示例

在 ~/.openclaw/config.yml 里定义多个 Agent:

agents:
  - name: "ops"
    description: "服务器运维助手"
    skills:
      - healthcheck
      - ssh-tools
    system_prompt: |
      你是专门负责管理服务器基础设施的运维助手。
      你熟悉 Nginx、Docker、系统监控等运维工作。
      遇到需要执行命令的任务,先解释再操作。

  - name: "quant"
    description: "量化策略助手"
    skills:
      - binance-watcher
      - grafana-query
    system_prompt: |
      你是专门负责量化策略监控的助手。
      你了解趋势跟踪策略的基本逻辑,能解读持仓信号和收益数据。
      不公开具体策略参数。

  - name: "writer"
    description: "写作助手"
    skills:
      - obsidian
    system_prompt: |
      你是博客写作助手,帮助整理思路、起草文章、整理笔记。
      写作风格:直接、有观点,不废话。

在 Telegram 里通过 /agent ops 切换到对应 Agent,之后的对话都走那个 Agent 的配置。

Telegram 深度交互技巧

命令快捷键

OpenClaw 的 Telegram Bot 支持自定义命令,在 config.yml 里定义:

commands:
  - command: "/status"
    description: "查看系统状态"
    action: "ops:帮我快速检查所有服务器的关键指标"
  
  - command: "/pnl"
    description: "查看今日收益"
    action: "quant:告诉我今日收益和当前持仓方向"
  
  - command: "/draft"
    description: "起草文章"
    action: "writer:根据我最近的笔记,帮我整理今天可以写的文章主题"

设置好之后,在 Telegram 里直接点命令菜单就能触发,不用每次打字。

文件/图片直接发给 Agent

Telegram 支持发文件给 Bot:

  • 发 .txt / .md 文件 → OpenClaw 可以读取内容并分析
  • 发截图 → 支持 OCR 或图像理解(需要模型支持多模态)
  • 发 .csv → 可以做数据分析

我的用法:在手机上拍下白板上的架构图,发给 ops Agent,问"这个架构有什么问题"。

定时任务

OpenClaw 支持通过 cron 语法设置定时推送:

schedules:
  - cron: "0 9 * * 1-5"          # 周一到周五早上 9 点
    action: "quant:今日量化策略状态汇报,包括持仓方向和昨日收益"
  
  - cron: "0 */4 * * *"           # 每 4 小时
    action: "ops:检查关键服务是否正常,有异常立即报警"

这样即使你没主动问,它也会主动推送。

量化策略监控工作流

我的 OpenClaw 量化工作流分三个层次:

层次一:被动监控(自动推送)

schedules:
  # 每天早上汇报
  - cron: "0 8 * * *"
    action: "quant:生成昨日收益汇报,格式:持仓方向/昨日盈亏/累计收益/最新信号时间"
  
  # 每 15 分钟检查是否有新信号
  - cron: "*/15 * * * *"
    action: "quant:检查 KV 里的最新信号时间,如果超过 2 小时没更新,发出警告"

层次二:主动查询

随时在 Telegram 里问:

  • “当前持仓方向是什么?”
  • “最近 7 天的收益曲线数据”
  • “和 BTC 同期涨跌对比怎么样?”

Agent 从 CF KV 或 Prometheus API 拉数据,直接回答。

层次三:异常告警

配置条件触发:

monitors:
  - name: "strategy-heartbeat"
    check: "quant:检查策略脚本最后运行时间"
    condition: "last_run > 2h"
    alert: "⚠️ 策略脚本超过 2 小时未运行,请检查"
    interval: 30m

自定义 binance-watcher Skill

如果官方没有 Binance 相关 Skill,自己写一个很简单:

# skills/binance-watcher/main.py
import requests

def get_balance(symbol="USDT"):
    """查询账户余额"""
    # 从环境变量读取 API key,不硬编码
    api_key = os.environ["BINANCE_API_KEY"]
    # ... 调用 Binance API
    return {"balance": balance, "symbol": symbol}

def get_position():
    """查询当前持仓"""
    # ... 
    return {"side": "LONG", "size": size, "entry_price": price}

Skill 的本质就是一个可以被 AI 调用的函数集合,写好后在 config.yml 里注册。

自定义 Skill:从零开始

Skill 的结构

一个最简单的 Skill 只需要三个文件:

skills/my-skill/
├── skill.yml       # Skill 定义(名称、描述、工具列表)
├── main.py         # 工具函数实现
└── README.md       # 说明文档

skill.yml 示例:

name: my-grafana
description: 查询 Grafana 数据
tools:
  - name: query_metric
    description: 查询 Prometheus 指标
    parameters:
      - name: query
        type: string
        description: PromQL 查询语句
      - name: range
        type: string
        description: 时间范围,如 1h、24h

main.py 实现:

import requests
import os

GRAFANA_URL = os.environ.get("GRAFANA_URL", "http://localhost:3000")
GRAFANA_TOKEN = os.environ["GRAFANA_TOKEN"]

def query_metric(query: str, range: str = "1h"):
    """查询 Prometheus 指标并返回可读结果"""
    resp = requests.get(
        f"{GRAFANA_URL}/api/datasources/proxy/1/api/v1/query_range",
        params={"query": query, "start": f"now-{range}", "end": "now", "step": "60"},
        headers={"Authorization": f"Bearer {GRAFANA_TOKEN}"}
    )
    data = resp.json()
    # 提取最新值
    results = {}
    for series in data["data"]["result"]:
        label = series["metric"].get("id", "unknown")
        latest_value = series["values"][-1][1] if series["values"] else "N/A"
        results[label] = latest_value
    return results

安装自定义 Skill

openclaw skill install ./skills/my-grafana

安装后重启 OpenClaw,新 Skill 就生效了。

用 skill-creator Skill 自动生成

OpenClaw 有个元 Skill:skill-creator,可以帮你生成其他 Skill 的代码。

安装:

openclaw skill install skill-creator

然后告诉它你要做什么:

我需要一个 Skill,功能是查询 aff.panshi.io/stats 接口,返回各个 AFF 项目今日点击量,格式化成可读的表格

它会生成 skill.yml 和 main.py 的代码,你直接复制进去就能用。

成本控制

OpenClaw 每次 Agent 响应都消耗模型 token,用多了会产生不少 API 费用。几个控制方式:

按需触发,不用轮询:只在用户主动问或定时任务触发时调用模型,不要把实时监控逻辑放在 AI 里(用 Prometheus + Alertmanager 做,更精准也更省钱)。

分级模型:简单的状态查询用便宜的 Haiku,复杂分析才上 Sonnet/Opus。

agents:
  - name: "ops-basic"
    model: "claude-haiku-4-5"    # 便宜,用于常规检查
  - name: "ops-deep"
    model: "claude-sonnet-4-6"   # 贵,用于深度分析

限制历史长度:

agents:
  - name: "ops"
    max_history_turns: 10        # 只保留最近 10 轮对话

→ 查看 OpenClaw 入门教程 → 查看 OpenClaw 量化工作流


📷 封面图 · Flux Schnell AI 生成 · panshi.io 品牌风格