在开发 DeepSeek Harness (DSH) 插件时,遇到启动失败或工具调用异常时,通常需要查看日志堆栈或对话上下文。但直接收集这些数据涉及隐私风险。dsh-plugin-diagnostics 提供了一个隐私受限的诊断服务,专注于记录插件生命周期和任务状态,而不收集对话内容或凭证。
插件介绍¶
这是 Kerberos255 开发的一个可选插件,旨在统一收集本地插件的加载、失败与任务状态,并以 JSONL 格式按日轮转写入日志。它帮助排查插件启动问题、工具支持情况以及定时任务变更,同时严格限制敏感数据的收集。
核心功能¶
该插件主要记录以下内容:
- 生命周期事件:收集插件的启动和停止事件。
- 允许列表事件:记录特定事件名称、状态、持续时间、安全错误代码和工具名称。
- 显式错误报告:记录插件通过
pluginDiagnostics.record(...)显式上报的错误。 - 日程变更通知:记录定时任务的变更通知,但不包含具体内容。
- 隐私保护:不记录用户消息、答案、提示、模型响应、工具参数、HTTP 主体、令牌、密钥值、堆栈跟踪或用户身份。
安装与启用¶
该插件需要兼容的 DSH 主机才能运行。安装命令如下:
dsh plugin --profile desktop add github:Kerberos255/dsh-plugin-diagnostics
安装完成后,需要重启 DSH 主机以应用插件代码更改。其他插件在检测到 pluginDiagnostics 服务存在时会自动启用,无需单独的仪表板或设置页面。
日志与监控¶
日志是排查问题的主要依据。日志目录结构为:
DSH_HOME/plugin-diagnostics/logs/<plugin-name>/YYYY-MM-DD.N.l
- 文件限制:每天最多生成 2 个 1MB 大小的文件。
- 保留时间:保留 14 天。
- 降级处理:如果日志目录不可写,日志条目会被静默丢弃,不会阻塞用户任务。
运行 npm test 可以进行便携式日志记录器测试。使用 npm pack --dry-run 可以检查打包内容。
适用场景与注意事项¶
- 适用场景:适合需要调试插件生命周期、工具支持结果以及任务调度的开发者。
- 隐私提示:日志仅包含元数据,但可能泄露操作时间。在共享日志前,请务必检查
SECURITY.md。 - 兼容性:安装前应检查源码与许可证,确保 DSH 主机版本兼容。
- 独立性:没有日志记录功能的插件仍然可以正常工作。
总结¶
dsh-plugin-diagnostics 是一个基于 MIT 许可证的轻量级诊断工具。它在不侵入用户隐私的前提下,为插件开发者提供了必要的运行状态和错误信息。