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 通道。
- 瀏覽器驗證:打開內置狀態頁查看實時事件流。
start http://127.0.0.1:18765/
- 命令行驗證:使用 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)。
注意事項¶
- 配置生效:配置僅在插件加載時生效,修改後需重啓 DSH。
- Loki 斷線處理:Loki 通道斷開後需手動恢復(使用上述工具或 Agent 指令),插件默認連續失敗 10 次後會停止重試。
- 權限:插件以當前 DSH 進程權限運行,請確保對配置的日誌路徑和 Loki 目標有寫入權限。
- 生態說明:此插件由社區開發者維護,與 DeepSeek 官方無從屬關係。
插件目錄頁與源碼地址:
https://www.skillhub.cn/plugins/zhaoxuejie/dsh-plugin-log-forwarder
https://github.com/zhaoxuejie/dsh-plugin-log-forwarder