dsh-recap:为 DSH 会话生成逐请求回顾链

前言

在 DSH 中调试或复现一次长会话时,常见的问题是原始消息、工具调用和模型请求交错,直接重读上下文成本较高。dsh-recap 把每一次模型请求(turn:step)新增的数据总结成一句话,并按时间顺序追加成一条回顾链,用来快速查看一个会话做了什么。

这是什么

  • 名称:Howardzhangdqs/dsh-recap
  • 维护者:Howardzhangdqs
  • 定位:DeepSeek Harness(DSH)的会话回顾总结插件
  • 许可证:MIT

它面向 DSH 的 web/客户端场景,不向会话日志写入事件,也不注入消息;总结结果持久化在插件自有文件中。

核心能力

逐请求生成回顾句

插件监听 session/event,将每次模型请求新增的数据总结为一句,并追加到回顾链中。

对话内会显示回顾行,每句总结穿插在产生它的那次模型请求的全部内容之后。

缓存友好的增量生成

生成总结时,已有句子会逐字作为前缀;除最新新增数据 Δ 外,输入几乎可命中 provider 前缀缓存。

对主会话零写入

捕获为只读监听,不向会话日志写入任何事件,也不注入消息。

持久化写入插件自有文件:

~/.dsh/recap/sessions/<sessionId>.jsonl

可配置总结路由

可单独指定总结路由的 providermodel

未指定时,先跟随会话当前路由,再退到宿主默认模型。

无思考生成

总结调用默认:

reasoningEffort: 'off'

DeepSeek 适配器映射为:

thinking: disabled

若路由不支持 off,会自动降级为 low 或省略字段。

HTTP API

提供以下接口:

POST /recap/api/list
POST /recap/api/generate
POST /recap/api/stats
POST /recap/api/clear
POST /recap/api/settings
POST /recap/api/settings.update
POST /recap/api/providers

HTTP API 与 /api 使用相同的浏览器信任校验。

模型工具

toolsEnabled 默认关闭。

开启后可注册模型工具:

recap_read(limit?)
recap_refresh()

开启后,工具 schema 会随会话请求发送。

限流重试

生成请求遇到 RATE_LIMIT 时,会按指数增长退避重试;等待期间,行内状态标识会显示限流等待信息。

安装与启用

预构建安装

本插件不发布 npm,官方安装使用 GitHub Release 的预构建 tarball。

执行以下命令:

dsh plugin --profile web add https://github.com/Howardzhangdqs/dsh-recap/releases/download/v0.1.0/dsh-recap-0.1.0.tgz

安装完成后重启 DSH,并强制刷新页面:

Cmd/Ctrl+Shift+R

升级时修改 URL 中的版本号重新执行即可。

源码安装

先克隆并构建源码:

git clone https://github.com/Howardzhangdqs/dsh-recap.git ~/Code/dsh-recap
cd ~/Code/dsh-recap && pnpm install && pnpm build

~/.dsh/profiles/web/package.jsondependencies 中添加本地依赖:

"dsh-recap": "link:/home/you/Code/dsh-recap"

~/.dsh/profiles/web/cordis.patch.yml 中追加挂载条目:

- insert:
    - id: recap
      name: 'dsh-recap'

然后安装依赖:

cd ~/.dsh/profiles/web && pnpm install

若 profile 中已有人工添加的挂载条目,请先删除,避免重复挂载。

经过上面的步骤后,重启 DSH 并强制刷新页面。

源码安装资料中写明:README 要求 Node.js ≥ 22.13pnpm ≥ 10package.jsonengines 字段声明 node >=20

典型用法

设置页

在 DSH 设置页的「会话回顾/recap」分区修改:

enabled
interval
provider
model
effort

修改实时生效。

插件设置通过自有 /recap/api/settings* 路由读写;DSH 的 settings RPC 不向配置客户端开放第三方命名空间。

API

可通过 POST /recap/api/<method> 管理回顾链:

POST /recap/api/list
POST /recap/api/generate
POST /recap/api/stats
POST /recap/api/clear
POST /recap/api/settings
POST /recap/api/settings.update
POST /recap/api/providers

模型工具

若开启 toolsEnabled,可调用:

recap_read(limit?)
recap_refresh()

适用场景与注意

适合需要在 DSH 会话中查看“每个请求做了什么”的开发者、调试者或运维人员。

注意:

  • 它作为 DSH 插件随 DSH 加载运行,会读取 session/event 并写插件自有文件;安装前应检查源码与许可证。
  • 许可证为 MIT
  • effort: off 是否真正关闭思考,取决于路由适配器与模型 reasoningEfforts 声明;路由不支持 off 时会静默降档或省略字段,不报错。
  • 修改截断与提示词结构相关的参数会使前缀缓存失效,这是一次性代价。
  • 本插件不发布 npm;请使用 GitHub Release 的预构建 tarball。

链接

GitHub 仓库:

https://github.com/Howardzhangdqs/dsh-recap

本资料未提供目录页地址。

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

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

Xiaoye