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