Back to blog
    使用微調模型擴展 OpenClaw 自定義技能
    openclawcustom-skillsfine-tuninglocal-modelssecuritysupply-chain

    使用微調模型擴展 OpenClaw 自定義技能

    ClawHavoc 供應鏈攻擊揭露了插件依賴的脆弱性。以下是使用微調模型構建 OpenClaw 技能——完全在本地運行,沒有外部依賴。

    EErtas Team·

    2026 年 2 月,ClawHavoc 事件——一個廣泛使用的 OpenClaw 插件被注入惡意代碼——提醒了整個社群:插件依賴是攻擊面。

    回應方法是在本地構建您自己的技能,而不是從插件市場安裝它們。微調模型是實現這一目標的機制。

    ClawHavoc 之後的情況

    ClawHavoc 感染了超過 12,000 個 OpenClaw 安裝,在 4 天內被發現並修補。損害是有限的,但模式很清楚:

    • 插件從外部倉庫提取代碼
    • 該倉庫被攻擊者控制
    • 惡意代碼在使用者的 OpenClaw 實例中執行
    • 攻擊向量與 npm 或 PyPI 供應鏈攻擊相同

    任何依賴外部插件的技能都有這個攻擊面。不調用外部代碼的微調模型沒有。

    您可以用微調技能構建什麼

    1. 支援工單分類

    訓練一個模型來分類、優先排序和路由傳入的支援請求。

    訓練資料格式:

    {"input": "我的賬戶在登錄時顯示錯誤代碼 403。我是付費用戶。", "output": "類別:身份驗證\n優先級:高\n路由:賬單支援\n回應模板:auth_403_paid_user"}
    {"input": "如何將我的資料導出為 CSV 格式?", "output": "類別:功能問題\n優先級:低\n路由:文檔\n回應模板:export_instructions"}

    訓練後,模型不需要任何額外提示詞就能對傳入的工單進行分類。結構化輸出直接輸入到您的工單系統。

    2. 合同條款審查

    訓練一個模型識別您關心的特定合同語言——責任限制、終止條款、IP 所有權。

    訓練資料格式:

    {"input": "在任何情況下,雙方的責任均不超過在索賠發生前 12 個月內支付的費用。", "output": "條款類型:責任限制\n風險等級:標準\n備注:12 個月上限是市場標準。可接受。"}
    {"input": "許可方保留對本協議下開發的任何改進的所有知識產權。", "output": "條款類型:IP 所有權\n風險等級:高\n備注:廣泛的 IP 讓渡條款。在接受之前與法律顧問協商。"}

    3. 每日報告生成

    訓練一個模型從結構化資料(指標、更新、事件)生成特定格式的報告。

    訓練資料格式:

    {"input": "資料:日活躍用戶 12,450(環比 +3.2%),轉化率 2.8%(環比 -0.4%),收入 $48,200(環比 +7.1%)", "output": "## 今日摘要\n\n**亮點:** 收入強勁增長 7.1%,日活躍用戶穩步上升。\n\n**關注點:** 轉化率略微下降 0.4%——建議檢查漏斗分析。\n\n**行動項目:** 調查轉化下降;繼續目前的獲取策略。"}

    4. 電子郵件草稿

    訓練一個模型生成符合您品牌語氣的電子郵件,適用於常見場景。

    訓練資料格式:

    {"input": "場景:客戶投訴交付延遲。訂單 #4521。延遲 3 天。原因:供應商問題。", "output": "主題:您的訂單 #4521 的更新\n\n親愛的 [客戶名],\n\n感謝您的耐心等待。由於供應商的臨時延遲,您的訂單將比預期晚 3 天到達。\n\n我們對此給您帶來的不便深感抱歉,並將為您的下一次購買提供 15% 的折扣作為補償。\n\n我們的團隊正在積極跟進,並將在確認新的交付日期後立即通知您。\n\n誠摯地,\n[代理商名]"}

    5. 結構化資料提取

    訓練一個模型從非結構化文字中提取特定欄位。

    訓練資料格式:

    {"input": "會議記錄:討論了 Q1 行銷活動。Tom 負責 Facebook 廣告(截止日期 3/15)。Sarah 負責電子郵件序列(截止日期 3/20)。需要在 3/10 前獲得 CEO 批准。", "output": "{\"action_items\": [{\"owner\": \"Tom\", \"task\": \"Facebook 廣告\", \"due\": \"2026-03-15\"}, {\"owner\": \"Sarah\", \"task\": \"電子郵件序列\", \"due\": \"2026-03-20\"}], \"dependencies\": [{\"blocker\": \"CEO 批准\", \"due\": \"2026-03-10\"}]}"}

    構建流程

    第 1 步:收集訓練資料

    您可能已經擁有這些資料:

    • 過去的支援工單和解決方案(用於分類)
    • 審查過的合同和您的法律師的評論(用於合同審查)
    • 過去的報告(用於報告生成)
    • 您發送的電子郵件(用於電子郵件草稿)
    • 帶有所需輸出的文件(用於提取)

    對於每個技能,您需要 50-200 個高質量的輸入/輸出對。更多更好,但 50 個優質樣本優於 500 個低質量樣本。

    第 2 步:格式化資料

    將您的資料轉換為指令調整格式。Ertas Studio 接受 CSV 或 JSONL 格式:

    {"messages": [{"role": "user", "content": "輸入文字"}, {"role": "assistant", "content": "期望輸出"}]}

    第 3 步:在 Ertas Studio 中微調

    1. 上傳您的資料集
    2. 選擇基礎模型(Llama 3.2 3B 用於快速任務,Llama 3.3 70B 用於複雜推理)
    3. 配置訓練參數(Ertas Studio 為每種任務類型提供預設值)
    4. 啟動訓練(3B 模型通常需要 20-40 分鐘)

    第 4 步:導出並在 OpenClaw 中部署

    Ertas Studio 導出 GGUF 格式,可直接加載到 OpenClaw 中。在 OpenClaw 配置中:

    skills:
      - name: support_triage
        model: ./models/support-triage-llama3.2-3b.gguf
        trigger: "incoming_ticket"
        output_format: structured

    第 5 步:測試和迭代

    針對新的(未見過的)示例進行測試。如果表現不佳,添加更多訓練示例並重新訓練。微調模型通常在第 2-3 次迭代後達到生產質量。

    安全優勢

    這種方法相對於插件的安全優勢直接:

    沒有外部代碼執行:微調模型是一個文件。它不執行代碼,不調用 API,不拉取外部依賴。

    沒有網路依賴:本地模型完全離線運行。沒有可以攔截的網路請求。

    可稽核的行為:模型行為由訓練資料決定,而訓練資料由您控制。如果模型輸出意外的內容,您可以追查到具體的訓練示例。

    沒有供應鏈:您的微調模型從您的數據構建,在您的基礎設施上運行。沒有第三方維護者可以被攻擊。

    在 ClawHavoc 之後重新思考您的 OpenClaw 設置?使用微調技能在本地構建。在 Ertas 優先預約上預留席位 →

    相關資源

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.

    Keep reading