
这篇是 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 品牌风格