DeepSeek Harness 日志转发插件介绍

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 通道。

  1. 浏览器验证:打开内置状态页查看实时事件流。
    start http://127.0.0.1:18765/
  1. 命令行验证:使用 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)。

注意事项

  1. 配置生效:配置仅在插件加载时生效,修改后需重启 DSH。
  2. Loki 断线处理:Loki 通道断开后需手动恢复(使用上述工具或 Agent 指令),插件默认连续失败 10 次后会停止重试。
  3. 权限:插件以当前 DSH 进程权限运行,请确保对配置的日志路径和 Loki 目标有写入权限。
  4. 生态说明:此插件由社区开发者维护,与 DeepSeek 官方无从属关系。

插件目录页与源码地址:
https://www.skillhub.cn/plugins/zhaoxuejie/dsh-plugin-log-forwarder
https://github.com/zhaoxuejie/dsh-plugin-log-forwarder

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

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

小夜