DeepSeek Harness Plugin: Conversation Transcript Archiver

前言

DeepSeek Harness (DSH) 采用了插件化架构,旨在将功能模块化。在默认情况下,会话数据仅存在于内存中,难以长期保存或作为资产复用。dsh-plugin-transcript 作为插件家族的一员,承担了底层数据层的职责。它负责捕获会话中的每一次交互,将其持久化为 JSONL 文件,并提供 Markdown 渲染能力,为其他依赖会话数据的插件(如搜索、笔记同步等)提供基础。

核心功能

该插件主要处理会话数据的捕获、存储与展示。

  • 实时捕获与归档:监听 user/message、assistant/message 和 tool/call 事件,并将这些记录实时追加写入到按月划分的 JSONL 边车文件中(默认路径为 ~/.dsh/transcripts/transcript-YYYY-MM.l)。
  • Markdown 渲染:支持通过命令行接口将当前会话渲染为 Markdown 格式。
  • 自动持久化:当会话被销毁(session/disposed)时,插件会自动将 Markdown 内容刷新到 dataDir/markdown/ 目录下。
  • 容错机制:如果 DSH 进程在会话期间崩溃,Markdown 可能不会自动刷新,但 JSONL 数据保持完整,可在下次启动后通过命令重绘。

安装与启用

安装过程需要执行以下三个步骤:

  1. 安装插件包:
    dsh plugin --profile web add github:121212165/dsh-plugin-transcript
该命令会将插件安装到指定的 profile 中。
  1. 合并配置文件:
    将插件仓库根目录下的 cordis.patch.yml 内容合并到 DSH 的配置文件 $DSH_HOME/profiles/web/cordis.patch.yml 中。

    • 注意:该文件默认为空数组,请将插入条目合并进同一个数组,不要直接追加,否则会导致 YAML 解析错误。
  2. 重启客户端:
    配置更改后必须重启 DSH 客户端才能生效。

命令用法

安装完成后,可以通过以下命令进行操作:

  • 查看统计信息:
    输入 /transcript 可以查看当前会话的记录统计(条数、字符数)以及 JSONL 文件的具体位置。

  • 导出 Markdown:
    输入 /transcript-export 可以将当前会话内容渲染为 Markdown 格式。

Markdown 输出结构

导出的 Markdown 文件通常包含会话标题、用户与助手的分段内容,以及工具调用的记录。结构示例如下:

# 会话标题
> N 条记录 · 导出于渲染时刻

## 👤 用户
…

- 🔧 `bash` — {"command":"ls"}

## 🤖 助手 · deepseek-v4-pro
…

注意事项

  • 崩溃恢复:如果在会话中途 DSH 崩溃,Markdown 不会自动刷新,但 JSONL 数据无损,可使用 /transcript-export 重新渲染。
  • 工具结果限制:为了避免归档文件膨胀,插件仅记录工具调用(调用名和参数预览),不记录工具的返回结果。
  • 配置生效:修改 dataDir、captureTools 等配置项后,必须重启 DSH 客户端。
  • 不确定点:user/message 的具体 content 块形状是基于 DSH 通用结构推断的,未在运行实例中实测;assistant/message 的流数据具体序列化形状也未在运行实例中实测。
羽毛球分组比赛记分
小程序二维码

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

Xiaoye