全部產品
Search
文件中心

AnalyticDB:通過 Skill 外掛程式實現OpenClaw日誌分析

更新時間:Apr 02, 2026

alibabacloud-adb-openclaw-insight 是一個專為 OpenClaw 會話資料設計的三層自動化分析SKILL。通過串連到AnalyticDB for MySQL資料庫,對儲存的會話日誌進行深度挖掘,自動產生從營運效率、使用者行為到組織認知等多個維度結構化分析結果和敘事性報告,協助您全面洞察 Agent 的使用方式。

功能詳解:三層自動化分析

L1 - 營運層分析 (無需 LLM)

此層分析完全基於 SQL 統計,無需依賴大語言模型,專註於量化的營運指標。

分析用例

功能說明

情境樣本

L1-1 Token 效率分析

統計各使用者/模型的輸入輸出 Token 消耗、快取命中率及平均每會話成本。

通過效率分析,可以瞭解使用者Token的使用方式。

L1-2 會話深度分析

分析每個任務鏈(Task Chain)的平均對話輪次,識別深度互動的會話。

通過深度分析,可以瞭解每個使用者的任務執行複雜度。比如,B使用者某個任務對話執行步驟最多,任務複雜度最高。

L1-3 工具鏈分析

統計工具(Tool)的使用頻率及組合模式,發現最常用的工具序列。

通過工具鏈分析,可以發現比如exec工具執行次數最多,瞭解到Agent執行指令碼較多。

L1-4 高成本會話識別

定位 Token 消耗或費用異常高的會話,快速發現成本熱點。

通過高成本會話分析,可以發現A使用者某會話Token消耗佔據了50%以上的Token。

L1-5 異常檢測

基於 Z-Score 演算法,對 Token 消耗和回應時間進行統計學上的異常標記。

通過異常檢測,可以發現某任務一直在重試,消耗了大量Token,做了很多無用功。

L2 - 行為層分析 (需要 LLM)

此層分析藉助大語言模型(LLM)的能力,對使用者行為和任務過程進行深度的定性與定量分析。

分析用例

功能說明

情境樣本

L2-1 意圖分類

將使用者的提問歸類為編碼、調試、問答、資料分析等具體意圖。

通過意圖分類結果,如果發現編碼情境使用者數最多,聊天情境使用者數最少,說明大部分人都在開發。

L2-2 任務複雜度評估

綜合對話輪次、工具使用次數和 Token 量,為每個任務鏈評定複雜度等級(1-5級)。

通過任務複雜度評估,可以看到Task Chain按照執行複雜度排序的列表。

L2-3 任務成功率估算

基於對話的最終結果,推斷每個任務鏈是否成功完成目標。

通過任務成功率估算,可以瞭解到比如大部分Task Chain都是成功的,只有少數是失敗,可以找出失敗的原因。

L2-4 Prompt 品質評分

對使用者輸入的 Prompt 品質進行打分,識別可最佳化的低品質輸入模式。

通過品質評分,可以找出Prompt品質高的使用者,進行推廣學習。

L2-5 主題聚類

對所有會話的主題進行聚類,發現使用者最關注的熱點領域。

通過主題聚類結果可以發現大家都在關注的AI 資訊。

L2-6 重試行為檢測

檢測使用者在同一會話內多次重試或追問的行為模式。

通過重試行為檢測,可以發現某類型任務,Agent的執行能力最弱,可以提供給模型Provider最佳化模型。

L2-7 思考深度分析

分析助手的 Thinking 輪次與深度,評估推理複雜度。

通過思考深度分析,可以發現某種任務類型,模型思考最多,說明任務複雜度比較高。

L2-8 使用者成熟度等級追蹤

基於歷史互動習慣,將使用者分級(初級 / 中級 / 進階)。

通過使用者成熟度等級追蹤,可以發現大家使用AI的能力都在什麼水平。

L3 - 組織層分析 (需要 LLM)

此層分析從更高維度審視跨使用者、跨會話的集體行為模式,旨在發現組織層面的知識缺口與改進機會。

分析用例

功能說明

情境樣本

L3-1 技術棧熱力圖

統計各種技術棧、程式設計語言或架構被提及的頻率,產生技術熱度排行。

通過技術棧熱力圖,可以發現大家關注的技術熱點都是什麼。

L3-2 重複問題檢測

識別跨會話、跨使用者的高頻重複問題,這通常反映了知識庫或文檔的不足。

通過重複問題檢測,可以發現大家的關注點都是什麼,有哪些業務可以完全自動化的。

L3-3 Skill 候選分析

根據高頻出現的任務模式,推薦可被固化為獨立 Skill 的潛在情境。

通過SKILL候選分析,可以將高頻任務沉澱為SKILL,避免每次都要Agent進行複雜處理,減少Token消耗。

L3-4 使用者畫像報告

為每位使用者匯總其行為特徵、技術偏好和使用習慣,產生摘要報告。

通過畫像報告,可以瞭解每位使用者使用AI的偏好,識別工作複雜度以及問題處理效率。

L3-5 最終敘事報告

綜合 L1/L2/L3 的所有分析結果,自動產生一份完整的 Markdown 格式分析報告。

通過報告可以讓管理總覽全域,瞭解大家AI的使用成本以及AI的推廣程度。

說明

每次分析完成後還會自動產生 insight_logic_explanation.md,解釋本次各用例的指標計算邏輯,語言與報告主體一致(中文資料 → 中文,英文資料 → 英文)。

注意事項

  • 資料量要求

    • L1 分析:無資料量下限,但建議至少有1條會話記錄以進行有效統計。

    • L2 分析:建議至少有 50 個任務鏈,以保證意圖分類和主題聚類的結果具有參考價值。

    • L3 分析:建議至少有 100 個任務鏈,以確保跨會話的重複問題檢測足夠準確。

  • LLM 依賴

    • L1 分析完全不依賴 LLM。

    • L2 和 L3 的所有分析用例都必須配置 LLM API,否則將被自動跳過。

    • 單次分析預設最多向 LLM 發送 500 個會話(可在 config.json 中調整 maxSessionsForLlm)。

    • 建議使用支援長上下文視窗(≥ 32K,推薦 128K+)的模型。

  • 資料庫 Schema 依賴
    Skill 依賴以下三張表。init_db 指令碼會自動建立或補齊這些表及其欄位。

    表名

    用途

    openclaw_sessions

    儲存會話的每一條訊息(角色、內容、Token 等)。

    openclaw_logs

    儲存運行時日誌(可選)。

    openclaw_analysis_results

    儲存每次分析的結果。

  • 分析預設基於最近2天資料(可通過 --from/--to 指定時間視窗),結果僅反映該視窗內情況,不跨視窗累計,且資料保留周期由 retentionDays(預設2天)控制,超期資料將自動清理。

  • 當前不支援即時資料流式分析,所有分析均為批量歷史資料處理。

  • L2-5 主題聚類在使用者意圖分布高度分散時,聚類結果可能粒度較粗。

  • L3-2 重複問題檢測基於語義相似性,需要 LLM 推斷,對完全相同的字面問題檢測更準確。

安裝與配置步驟

自動安裝

您可通過 OpenCLaw 對話方塊一鍵完成安裝:只需輸入以下指令並按提示提供相應配置資訊即可。如需瞭解具體執行細節,請參考手動部署頁面。

請使用如下命令安裝alibabacloud-adb-openclaw-insight SKILL到你的SKILL目錄:
git clone https://github.com/aliyun/alibabacloud-adb-mysql-mcp-server
cd alibabacloud-adb-mysql-mcp-server/skill/alibabacloud-adb-openclaw-insight, 
下載完成後,請閱讀 SKILL.md,安裝對應依賴,更新設定檔,並完成資料庫初始化。

手動部署

步驟一:複製倉庫並準備環境

git clone https://github.com/aliyun/alibabacloud-adb-mysql-mcp-server
cd alibabacloud-adb-mysql-mcp-server/skill/alibabacloud-adb-openclaw-insight

步驟二:安裝專案依賴

  • 方式一:使用 uv(推薦)

    # 安裝 uv 包管理器
    curl -LsSf https://astral.sh/uv/install.sh | sh
    
    # 安裝專案依賴
    uv pip install -r requirements.txt
  • 方式二:使用 pip

    pip install -r requirements.txt
    # 如果找不到 "pip",請嘗試:
    pip3 install -r requirements.txt

步驟三:配置 Skill 串連資訊

這是安裝過程中唯一需要手動幹預的步驟。請在繼續之前,收集並確認以下配置資訊。

  • AnalyticDB for MySQL 串連資訊

    配置項

    說明

    樣本

    adb.host

    AnalyticDB for MySQL叢集的串連地址。

    am-xxxxxxxx.ads.aliyuncs.com

    adb.port

    資料庫連接埠號碼。

    3306

    adb.database

    目標資料庫名稱。

    openclaw_adb

    adb.username

    資料庫使用者名稱。

    your_user

    adb.password

    資料庫密碼。

    your_password

  • LLM 大模型配置

    說明

    如果使用者只需要 L1 營運效率分析,可跳過此部分。

    配置項

    說明

    樣本

    llm.endpoint

    大模型 API 的服務地址。

    https://dashscope-intl.aliyuncs.com/compatible-mode/v1

    llm.apiKey

    API Key。

    sk-xxxxxxxxxx

    llm.model

    模型名稱。

    qwen-plus

    llm.apiType

    API 協議類型 (openai 或 anthropic)。

    openai

  • (可選)分析模組開關

    配置項

    說明

    預設值

    analysis.enableL1

    啟用 L1 分析。

    true

    analysis.enableL2

    啟用 L2 分析 (需要 LLM)。

    true

    analysis.enableL3

    啟用 L3 分析 (需要 LLM)。

    true

    analysis.analysisWindowDays

    分析時間視窗(天)

    7

步驟四:寫入設定檔

根據使用者提供的資訊,從模板產生 config.json

cp config.example.json config.json

然後將使用者提供的值寫入 config.json 對應欄位。最終檔案結構如下:

{
  "adb": {
    "host": "<使用者提供的 host>",
    "port": 3306,
    "database": "<使用者提供的 database>",
    "username": "<使用者提供的 username>",
    "password": "<使用者提供的 password>",
    "sessionTable": "openclaw_sessions",
    "logsTable": "openclaw_logs",
    "connectionPoolSize": 5
  },
  "collection": {
    "intervalMinutes": 5,
    "batchSize": 100,
    "retentionDays": 7,
    "enableLogCollection": true,
    "enableTokenCollection": true
  },
  "filters": {
    "minLevel": "info",

    "includeSubsystems": [ ],

    "excludeSubsystems": ["verbose", "trace"]
  },
  "llm": {
    "endpoint": "<使用者提供的 endpoint,如未提供則留空>",
    "apiKey": "<使用者提供的 apiKey,如未提供則留空>",
    "model": "<使用者提供的 model>",
    "apiType": "<使用者提供的 apiType>",
    "maxConcurrency": 5,
    "temperature": 0.1,
    "maxTokens": 128000
  },
  "analysis": {
    "enableL1": true,
    "enableL2": <使用者是否啟用 L2>,
    "enableL3": <使用者是否啟用 L3>,
    "analysisWindowDays": 7,
    "maxSessionsForLlm": 500
  }
}

步驟五:初始化資料庫

此命令將在AnalyticDB for MySQL版叢集中建立或更新所需的表結構。

python -m scripts.init_db
# 如果找不到 "python",請嘗試:
python3 -m scripts.init_db

運行與驗證

啟動服務與資料擷取

  • 方式一:前台啟動
    此命令會立即啟動服務並在前台運行,適合快速測試。

    python -m scripts.main
    # 如果找不到 "python",請嘗試:
    python3 -m scripts.main

    服務啟動後將自動開始採集 OpenClaw 會話日誌並按計劃執行分析。

  • 方式二:註冊為定時任務(生產推薦)
    為實現持續自動的資料擷取,建議將採集指令碼註冊為 OpenClaw 的定時任務(Cron Job)。

    {
      "cron": "*/30 * * * * *",
      "command": "python -m scripts.main collect",
      "cwd": "/path/to/alibabacloud-adb-mysql-mcp-server/skill/alibabacloud-adb-openclaw-insight"
    }

手動觸發分析

在資料擷取運行一段時間後,您可以隨時手動觸發分析指令碼。

# 分析過去 1 天
python -m scripts.analyze_usage --from "$(date -d '1 day ago' '+%Y-%m-%d') 00:00:00" --to "$(date '+%Y-%m-%d') 23:59:59"

# 分析過去 2 天
python -m scripts.analyze_usage --from "$(date -d '2 days ago' '+%Y-%m-%d') 00:00:00" --to "$(date '+%Y-%m-%d') 23:59:59"

驗證安裝結果

安裝並運行服務片刻後,執行以下 SQL 查詢來驗證資料擷取鏈路是否正常。

SELECT COUNT(*) FROM openclaw_sessions;
SELECT COUNT(*) FROM openclaw_logs;

如果兩張表的查詢結果均大於 0,則表明 Skill 已成功安裝並開始採集資料。

分析使用樣本

完成 Skill 掛載後,輸入相應指令,系統將自動識別並返回結構化分析結果。

  • 命令列介面輸入:

    /alibabacloud-adb-openclaw-insight 幫我使用ADB分析下最近一個月使用者的openclaw的使用方式
  • 分析結果

    image