DeepSeek Harness 日誌轉發插件介紹

DeepSeek Harness 的核心設計理念是「一切皆插件」。在開發或調試 Agent 時,運行時的思考過程與工具調用細節往往散落在各個日誌文件中,難以集中查看。dsh-plugin-log-forwarder 作爲一個插件,旨在將 Agent 運行時的全部事件實時轉發到外部日誌系統(WebSocket、Loki 或本地文件),供調試、監控與演示使用。

功能概覽

該插件主要包含以下能力:

  • 全量事件採集:訂閱 Harness 會話事件流(session/created、session/event、session/disposed、agent/error),標準化爲統一 JSON。
  • 三路並行輸出:WebSocket、Loki、本地文件三個通道互不依賴,可同時啓用。
  • 事件過濾:通過 includeEventTypes 白名單與 excludeEventTypes 黑名單篩選事件。
  • 敏感信息脫敏:默認脫敏 api_key、password、token、secret 等字段。
  • 暫停/恢復:支持全局暫停轉發(WebSocket Server 保持在線),可通過 Agent 工具或面板操作。
  • 通道監控:實時展示運行狀態與轉發/失敗/丟棄統計。
  • 旁路設計:只讀轉發,不干預 Agent 運行;卸載時乾淨關閉連接與緩衝。

安裝與配置

前置條件

  • 已安裝並啓動 DeepSeek Harness(桌面版或 headless)。
  • Node.js ≥ 20(構建時需要)。

安裝插件

使用官方插件管理命令安裝:

dsh plugin --profile desktop add dsh-plugin-log-forwarder

安裝後需重啓 DSH 以加載配置。

啓用並配置通道

編輯 profile 的補丁配置(通常爲 ~/.dsh/profiles/desktop/cordis.patch.yml),在 - insert: 列表中追加以下配置。此配置合併到默認配置中,可同時開啓多個通道。

- insert:
    - id: log-forwarder
      name: dsh-plugin-log-forwarder
      config:
        enable: true          # 插件總開關
        autoStart: true       # 加載後立即開始轉發
        channels:
          websocket:
            enable: true      # WebSocket 通道
            port: 18765       # 綁定 127.0.0.1;被佔用自動嘗試 +1(最多 5 次)
          file:
            enable: false     # 本地文件通道
            path: ''          # 路徑模板;留空使用默認,建議用 {sessionId}.l 避免雙重前綴
          loki:
            enable: false     # Loki 通道
            url: 'http://localhost:3100'
            tenantId: ''      # 多租戶時必填(X-Scope-OrgID)
            token: ''         # 可選,Bearer Token
            bufferSize: 1000  # 內存緩衝上限
        filter:
          includeEventTypes: []   # 白名單,空 = 全部
          excludeEventTypes: []
        redaction:
          enable: true
          sensitiveFields: [api_key, apikey, password, token, secret, authorization]

使用方式

WebSocket 實時監控

重啓 DSH 後,默認開啓 WebSocket 通道。

  1. 瀏覽器驗證:打開內置狀態頁查看實時事件流。
    start http://127.0.0.1:18765/
  1. 命令行驗證:使用 wscat 實時觀察事件。
    npx wscat -c ws://127.0.0.1:18765

本地文件歸檔

啓用 file 通道後,事件會按會話寫入 JSONL 文件。路徑模板建議直接使用 {sessionId}.l,避免自動生成的 session- 前綴導致雙重前綴。

Loki 集中檢索

啓用 loki 通道後,插件會向 Loki 推送日誌。查詢時使用標籤 source。

{source="dsh-log-forwarder"}

模型工具控制

插件向 Agent 註冊了 4 個工具,可用於自然語言控制:

  • log_forwarder_status:查看全局狀態與統計。
  • log_forwarder_channel_status:查看單通道詳情。
  • log_forwarder_pause:暫停轉發。
  • log_forwarder_resume:恢復轉發(同時重連斷開的 Loki)。

注意事項

  1. 配置生效:配置僅在插件加載時生效,修改後需重啓 DSH。
  2. Loki 斷線處理:Loki 通道斷開後需手動恢復(使用上述工具或 Agent 指令),插件默認連續失敗 10 次後會停止重試。
  3. 權限:插件以當前 DSH 進程權限運行,請確保對配置的日誌路徑和 Loki 目標有寫入權限。
  4. 生態說明:此插件由社區開發者維護,與 DeepSeek 官方無從屬關係。

插件目錄頁與源碼地址:
https://www.skillhub.cn/plugins/zhaoxuejie/dsh-plugin-log-forwarder
https://github.com/zhaoxuejie/dsh-plugin-log-forwarder

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜