ue-log-reader:DeepSeek Harness UE 日誌速讀插件

前言

DeepSeek Harness(DSH)採用“一切皆插件”的理念,將特定能力以模塊形式掛載到推理流程中。在 Unreal Engine(UE)開發中,Saved/Logs 目錄下的日誌文件往往體積龐大,包含海量冗餘信息。ue-log-reader 是一個由 Reseezhang 維護的 DSH 插件,屬於模型推理類別。它通過模型調用 uelog 工具掃描日誌文件,進行流式解析和聚合去重,最終渲染成速讀卡片,並提供一鍵複製缺陷單摘要的功能,旨在解決日誌分析繁瑣的問題。

核心功能

插件提供以下能力:

  1. 流式解析與去重:支持流式逐行解析日誌(可處理數百 MB 文件),默認只解析尾部 200MB 以控制資源佔用。按“類別 + 歸一化消息”聚合去重,將重複刷屏的錯誤合併爲一條記錄。
  2. 崩潰提取:自動提取崩潰原因、前 10 幀堆棧信息以及引擎版本。
  3. 速讀卡片渲染:在 DSH 界面上渲染速讀卡片,包含文件頭信息(名稱、體積、時間跨度)、統計色塊(Fatal/Error/Ensure/Warn,支持點擊篩選)、Top 問題列表(懸停顯示原文)以及可摺疊的崩潰詳情。
  4. 缺陷單生成:提供“複製缺陷摘要”按鈕,一鍵生成純文本缺陷單(含版本、時間、崩潰原因、堆棧、高頻問題)。
  5. 格式兼容:支持標準 UE 日誌格式與 Android adb logcat 格式。
  6. 安全校驗:顯式路徑必須落在 projectRoot/logRoots 內(含 URL 編碼變體校驗);所有操作爲只讀,確保不會修改日誌目錄。

安裝與啓用

插件依賴 DeepSeek Harness 桌面版 2.x(Web profile 亦可)。安裝方式如下:

方式 A:一鍵安裝腳本(推薦)

在倉庫根目錄執行:

powershell -ExecutionPolicy Bypass -File install-uelog.ps1

方式 B:手動複製

  1. 將 ue-log-reader 目錄複製到目標 profile 的 node_modules/。
  2. 在 profile 的 package.json 的 dsh.profile.bundles 中追加 "ue-log-reader"。
  3. 重啓 DeepSeek Harness。

方式 C:作爲依賴安裝

在 package.json 中配置依賴並註冊 bundle:

{
  "dependencies": {
    "ue-log-reader": "github:Reseezhang/ue-log-reader"
  },
  "dsh": {
    "profile": {
      "bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "ue-log-reader"]
    }
  }
}

配置

默認配置位於 lib/index.js 的 DEFAULTS。可在 profile 級 cordis.patch.yml 中覆蓋:

- id: ue-log-reader
  config:
    projectRoot: "D:/Projects/MyGame"   # UE 項目根目錄(必配;缺省退回工作區根)
    logRoots: []                        # 額外允許的日誌根目錄(如 adb 拉取的真機日誌目錄)
    maxBytes: 209715200                 # 單文件掃描上限(默認 200MB,超過只解析尾部)
    maxTopIssues: 15                    # Top 問題列表上限
    scanRateMax: 6                      # 掃描全侷限流(10s 窗口內最大次數)

使用

  1. 重啓 DeepSeek Harness。
  2. 在對話中輸入指令,例如“分析一下日誌”或“剛閃退了,看看日誌”。
  3. 模型自動調用 uelog 工具掃描 Saved/Logs/ 下的最新日誌(或指定顯式路徑)。
  4. 速讀卡片會出現在 uelog 工具調用節點上,展示統計信息和崩潰詳情。
  5. 點擊卡片上的“複製缺陷摘要”生成缺陷單文本,或點擊“打開日誌目錄”定位文件。

真機日誌支持

插件支持解析 adb logcat 輸出。對於真機日誌:
1. 使用 adb logcat -d > device.log 導出日誌到文件。
2. 將文件放入 Saved/Logs/ 或配置 logRoots 指向的目錄。
3. 在對話中請求分析,卡片頭會顯示 logcat 徽標。

插件會自動識別 Fatal signal 崩潰塊並提取堆棧。對於真機 release 包的內存地址堆棧,符號化(轉成函數名)需匹配構建的符號表,當前版本僅顯示地址幀。

注意事項

  • 前置版本:需要 DeepSeek Harness 桌面版 2.x。
  • 零依賴:解析邏輯使用 Node.js 內置模塊,無需額外安裝依賴。
  • 安全與權限:插件以當前 DSH 進程權限運行,安裝前應檢查源碼。默認只讀操作,路徑必須受控。
  • 許可證:採用 MIT 許可證。

短結尾

ue-log-reader 將 UE 日誌的複雜解析過程封裝爲模型工具調用,通過可視化的速讀卡片降低了開發者的排查成本。該插件適合需要在 DSH 流程中快速定位 UE 崩潰或性能問題的開發者。項目地址見 GitHub。

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

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

小夜