dsh-qq-archive:把 DSH 会话日志归档成本地可检索聊天库

前言

在 DeepSeek Harness(DSH)里跑智能体,对话会落在宿主写入的会话文件里,路径通常是 ~/.dsh/sessions/**.jsonl.zstd。QQ、Telegram、微信等 IM 通道在插件层往往拿不到完整消息流,但 user/message 与 assistant/message 仍会进入这份日志。

直接对整文件做 zstdDecompressSync 只能解出第一帧(一个 session 头),因为日志是数千个 zstd 帧首尾拼接。想按关键词翻历史、看时间跨度,需要先逐帧解码再抽文本。下面介绍社区插件 dsh-qq-archive(维护者 Daphne999,SkillHub 分类:记忆),它把上述流程做成三个本地工具,数据不进外网。

这是什么

dsh-qq-archive 是 DSH 社区插件(MIT,当前 package 版本 0.1.1)。它扫描本会话目录下的 zstd 日志,解码多帧内容,将 user/assistant 文本写入本地 SQLite(~/.dsh/qq-archive.db),并提供同步、检索与统计工具。README 写明:Fully local,不需要外部服务、不上传。

生态上 DSH 主张「一切皆插件」;SkillHub 目录页 与 GitHub 仓库 由社区维护,与 DeepSeek / 幻方无官方从属关系。

核心功能

插件在宿主侧暴露三个工具(名称来自 README):

工具 作用
qq_archive_sync 扫描 ~/.dsh/sessions/**.jsonl.zstd,抽取 user/assistant 文本入库;幂等,重复执行不会重复写入
qq_archive_search 按关键词检索历史对话,返回角色、时间与片段
qq_archive_stats 统计条数、时间跨度、消息最多的会话等

实现上的要点(与资料一致):

  1. 多帧 zstd:内置逐帧解码;README 举例实测 3596 帧可全部解出。
  2. 只存文本:图片、工具调用结果不进库。
  3. 过滤机器消息:如 [dsh-proactive …]、[SCHEDULE REMINDER …] 等定时唤醒类内容跳过。
  4. 幂等索引:唯一键为 (session_id, role, at, text),同一会话反复 sync 不会膨胀。
  5. 检索方式:当前为 SQL LIKE,不做分词或向量;README 称对短聊天够用,体量大时可考虑 FTS5。

运行环境:package.json 要求 Node >= 22.13.0,可选 peer @deepseek-ai/schemastery。

安装与启用

安装命令以 README 为准,使用 web profile 从目录添加:

dsh plugin --profile web add dsh-qq-archive

安装前建议自行查看 仓库源码 与 MIT 许可证。插件在当前 dsh 进程权限下运行,会读取 ~/.dsh/sessions 并写入 ~/.dsh/qq-archive.db;删除该 db 文件即清空归档库。

典型用法

先同步,再检索。以下为 README 中的可复现示例。

同步全部会话文件:

> qq_archive_sync {}
扫描 3/3 个会话文件
抽出 393 条消息,新入库 393 条(重复的自动跳过)

关键词检索:

> qq_archive_search { "query": "重启" }
[我 2026/11/4 14:27:39] 我们把睡眠关了,插电不休眠…
[小鱼 2026/11/4 09:12:02] 重启会中断会话,记录在磁盘上不会丢…

需要概览库规模时,调用 qq_archive_stats(具体参数形态以宿主工具 schema 为准)。

适用场景与注意

适合谁:长期在 DSH 本机跑对话、希望用关键词回溯 user/assistant 文本、且接受「仅文本、仅宿主已落盘日志」的开发者。

限制(README 已知):

  1. 只能读到宿主写下的日志;日志被轮转或删除后无法补全。
  2. 逐帧解码依赖帧头 magic 扫描,会话文件格式若变更需跟进插件更新。
  3. 检索为 LIKE,非全文引擎或语义搜索。

IM 插件层拿不到通道全文时,本插件仍可作为「DSH 侧已记录对话」的本地索引,与外部聊天记录产品不是同一数据源。

结尾

dsh-qq-archive 把多帧 zstd 会话日志解码并落入 SQLite,用 qq_archive_sync / qq_archive_search / qq_archive_stats 完成本地归档与检索。若你要在 DSH 内查历史说过什么,可先装插件、跑一遍 sync,再按关键词 search。

  • 目录页:https://www.skillhub.cn/plugins/Daphne999/dsh-qq-archive
  • GitHub:https://github.com/Daphne999/dsh-qq-archive
羽毛球分组比赛记分
小程序二维码

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

Xiaoye