DeepSeek Harness (DSH) 插件:dsh-session-summarizer

DSH 生态采用插件化架构。在长对话场景下,模型容易遗忘早期上下文。dsh-session-summarizer 插件提供了一种原生解决方案,通过读取会话内容并生成中文摘要,辅助模型快速恢复上下文。

插件定位

本插件是 DSH 生态原生 Cordis 插件,由开发者 KhalilYamber 维护。它利用 DSH 官方运行时读取会话并生成摘要,不依赖任何外部服务。

核心能力如下:
* 读取指定、当前或最近会话并生成中文上下文摘要。
* 注册模型可见工具 session_summarize。
* 全程走 DSH 官方运行时 @deepseek-ai/dsh-session(读取会话)与 @deepseek-ai/dsh-llm(生成摘要)。
* 支持通过 lastTurns 参数限制摘要的用户消息轮数。

安装与启用

以 bundle patch 形式将插件装入 profile 的 node_modules,随 dsh plugin 命令完成安装。

dsh plugin --profile <profile名> add dsh-session-summarizer

安装后启动 profile,session_summarize 工具随插件注册。摘要模型、转录预算等行为可在配置文件中调整。

典型用法

在会话中让模型调用 session_summarize 工具。

参数说明

参数 必填 说明
sessionId 否 要摘要的会话 id;缺省时优先当前会话,再回退最近活跃落盘会话
lastTurns 否 只摘要最后 N 轮用户消息;缺省不限制(计数单位为「用户消息」,非 assistant 消息)

调用示例

  1. 文本指令调用:在会话中输入以下内容,让模型调用工具。
    > 请用 session_summarize 汇总当前会话最近 20 轮,帮我恢复上下文。

  2. 工具调用:模型在生成回复时直接调用 session_summarize 工具并指定 sessionId 参数。

输出格式

工具执行成功会返回 JSON,字段说明如下:

字段 类型 说明
ok boolean 是否成功
summary string 摘要正文
sessionId string 实际摘要的会话 id
source string 会话来源:explicit / current-agent / recent-active / none / error
readPath string 读取路径:live-sessions / persistence-inspect / none / error
chars integer 送入摘要模型的转录字符数(截断后)
message string(可选) 失败时的错误说明

限制与说明

转录策略

  • 转录基于派生消息或落盘事件日志,只保留 user / assistant 文本,不含工具调用内部细节。
  • 长会话转录采用「保留首尾、截断中段」策略,默认预算 transcriptChars: 12000 字符,超长部分以提示行替代。
  • lastTurns 按「用户消息数」计数,assistant 消息不占用轮数上限。

依赖环境

  • 摘要生成依赖 ctx.llm.stream 的 deepseek-official 路由与默认模型 deepseek-v4-flash(可在配置中覆盖)。

总结

dsh-session-summarizer 为 DSH 用户提供了一套在长会话中恢复上下文的工具。安装后,模型即可通过 session_summarize 工具主动请求生成摘要。

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

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

小夜