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