
這篇是 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 品牌風格