前言¶
DeepSeek Harness(DSH)採用“一切皆插件”的理念,將特定能力以模塊形式掛載到推理流程中。在 Unreal Engine(UE)開發中,Saved/Logs 目錄下的日誌文件往往體積龐大,包含海量冗餘信息。ue-log-reader 是一個由 Reseezhang 維護的 DSH 插件,屬於模型推理類別。它通過模型調用 uelog 工具掃描日誌文件,進行流式解析和聚合去重,最終渲染成速讀卡片,並提供一鍵複製缺陷單摘要的功能,旨在解決日誌分析繁瑣的問題。
核心功能¶
插件提供以下能力:
- 流式解析與去重:支持流式逐行解析日誌(可處理數百 MB 文件),默認只解析尾部 200MB 以控制資源佔用。按“類別 + 歸一化消息”聚合去重,將重複刷屏的錯誤合併爲一條記錄。
- 崩潰提取:自動提取崩潰原因、前 10 幀堆棧信息以及引擎版本。
- 速讀卡片渲染:在 DSH 界面上渲染速讀卡片,包含文件頭信息(名稱、體積、時間跨度)、統計色塊(Fatal/Error/Ensure/Warn,支持點擊篩選)、Top 問題列表(懸停顯示原文)以及可摺疊的崩潰詳情。
- 缺陷單生成:提供“複製缺陷摘要”按鈕,一鍵生成純文本缺陷單(含版本、時間、崩潰原因、堆棧、高頻問題)。
- 格式兼容:支持標準 UE 日誌格式與 Android
adb logcat格式。 - 安全校驗:顯式路徑必須落在
projectRoot/logRoots內(含 URL 編碼變體校驗);所有操作爲只讀,確保不會修改日誌目錄。
安裝與啓用¶
插件依賴 DeepSeek Harness 桌面版 2.x(Web profile 亦可)。安裝方式如下:
方式 A:一鍵安裝腳本(推薦)¶
在倉庫根目錄執行:
powershell -ExecutionPolicy Bypass -File install-uelog.ps1
方式 B:手動複製¶
- 將
ue-log-reader目錄複製到目標 profile 的node_modules/。 - 在 profile 的
package.json的dsh.profile.bundles中追加"ue-log-reader"。 - 重啓 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 窗口內最大次數)
使用¶
- 重啓 DeepSeek Harness。
- 在對話中輸入指令,例如“分析一下日誌”或“剛閃退了,看看日誌”。
- 模型自動調用
uelog工具掃描Saved/Logs/下的最新日誌(或指定顯式路徑)。 - 速讀卡片會出現在
uelog工具調用節點上,展示統計信息和崩潰詳情。 - 點擊卡片上的“複製缺陷摘要”生成缺陷單文本,或點擊“打開日誌目錄”定位文件。
真機日誌支持¶
插件支持解析 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。