前言¶
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。