Howardzhangdqs/dsh-recap
DSH回顾插件:将每次模型请求(轮次:步骤)提炼为一句话,并内联显示在对话流中。
Project Overview项目介绍
This is a native session recap plugin built exclusively for DeepSeek Harness (DSH). It automatically generates a one-sentence summary for each new model turn in a conversation, appending summaries to a chronological recap chain that lets users quickly grasp a long session’s progress without replaying the full conversation. It uses a cache-friendly incremental design that leverages LLM provider prefix caching, adding only around 40 tokens per step instead of 640 tokens for raw full replay, keeping long sessions well within context window limits. Installation can be done via the DSH CLI using a pre-built tarball from GitHub Releases, or manually from source with Node.js 22.13+ and pnpm 10+.
The plugin operates with zero intrusion into the DSH agent loop. It captures new session data via a read-only listener for session events, and runs summary generation as a parallel auxiliary call that does not modify the original session log or inject any extra messages. All summary data is stored in a plugin-specific directory at ~/.dsh/recap/sessions, and summaries are displayed as inline cards inserted right after the corresponding model response in the conversation UI. It adds a custom settings section to the DSH settings panel that lets users adjust trigger timing, summary granularity, and model configuration in real time, and is ideal for DSH users who regularly work with long conversations.
By default, the plugin disables reasoning for summary calls to reduce cost, and automatically falls back to lower reasoning effort levels if the selected model does not support turning reasoning off. Users can configure a separate low-cost provider and model specifically for summarization, which helps cut down on overall API costs for long sessions. The plugin is released under the permissive MIT open source license, and includes built-in backpressure protection and exponential backoff retries for rate limits, so recap chains will never have permanent gaps from transient errors. First-time users need to restart DSH and force refresh the browser page after installation to activate the plugin.
这是专为 DeepSeek Harness (DSH) 开发的原生会话回顾总结插件,核心功能是将对话中每一次模型请求产生的新增数据总结为一句话,按时间顺序生成可增量更新的「回顾链」,无需重放完整对话即可快速梳理当前会话的整体进展。它采用缓存友好的增量生成设计,利用大模型提供商的前缀缓存特性,每次调用仅增长约40个token,大幅降低长会话的token消耗,避免超出上下文窗口限制。
插件采用零侵入设计,通过只读监听会话事件实现数据捕获,总结生成过程和DSH主循环并行运行,不会向原会话日志写入任何内容,也不注入额外消息,所有总结数据都存储在插件自有目录中。总结内容以内联卡片的形式穿插在对应模型请求之后,默认在每个请求结束后自动触发生成,用户可调整触发时机和总结粒度,适配不同使用习惯,适合经常处理长会话的DSH用户。
插件支持通过DSH官方插件通道一键安装,使用GitHub Release提供的预构建压缩包即可完成部署,也可从源码本地构建安装,要求Node.js≥22.13、pnpm≥10,以及已安装可运行的DSH环境。它采用MIT开源许可证,用户可单独为总结任务配置低成本模型,默认关闭思考模式降低消耗,遇到限流时自动按指数退避重试,不会留下永久缺口。
请帮我安装这个 DSH 插件。安装前先完成【兼容性检查 + 安全性检查】,检查通过再动手。
插件:dsh-recap(Howardzhangdqs/dsh-recap)
仓库:https://github.com/Howardzhangdqs/dsh-recap
本站详情页:https://www.yhbd.top/plugins/howardzhangdqs-dsh-recap/
本站登记:类型 plugin · 归类 原生 DSH 插件 · 许可证 MIT · ⭐ 4 · 最近提交 2026-08-17 · 主语言 TypeScript
按下面顺序执行,每步先把结论告诉我,再进入下一步:
【1 兼容性检查】
① 我这边:DSH 版本、Node 版本、操作系统、当前 profile(web / desktop)。
② 读它的 README、package.json、插件 manifest,列出它要求的 DSH 版本 / Node 版本 / 操作系统 / 外部依赖 / 需要另外先装的运行时。
③ 逐条比对,结论只写「满足 / 不满足 / 未知」三种;不满足的给出可行替代方案。
④ 检查是否和我已装的插件冲突:命令名重复、skill / tool 重名、端口占用、重复注册的 MCP server。
【2 安全性检查】
① 仓库可信度:和上面「本站登记」是否一致;star / fork 数、创建时间、最近提交,是否归档或长期停更。
② 安装脚本:逐行看 package.json 的 preinstall / install / postinstall,以及 install.sh、setup.ps1 之类脚本。出现 curl|bash、下载后直接执行、混淆代码、访问与插件功能无关的域名,立刻停下来告诉我,不要继续装。
③ 依赖:列出新增依赖,标出无人维护、或与知名包拼写近似的可疑包(typosquatting)。
④ 权限与副作用:它会读写哪些目录、访问哪些域名、需要哪些 DSH 权限(filesystem / network / shell / clipboard 等),以及怎么卸载和回滚。
⑤ 如果它要求 sudo / 管理员权限,或权限明显超出功能所需,先停下来问我。
【3 安装】
上面两步没有「不满足」和「高危项」时才执行;用官方推荐方式安装,不要自行提权。
【4 汇报】
用表格输出:检查项 / 结论 / 依据 / 是否需要我决策。拿不准的一律写「未知」并说明要我怎么确认——不要猜,也不要替我决定。
Send this message to DSH in your current session: it verifies compatibility and security first (answering met / not met / unknown item by item) and only installs once everything checks out — it will stop and ask you if it finds a high-risk item. The box scrolls; the copy is the full prompt. CLI install commands may not be accurate across systems, so DSH is the safer route.把上面这条消息直接发给当前会话里的 DSH:它会先核对兼容性与安全性(逐条给「满足 / 不满足 / 未知」),确认没问题再安装,有高危项会停下来问你。框内可滚动,复制到的是完整提示词;安装命令不一定准确,发给 DSH 更稳。
- Only 4 stars - very few users, little community feedback星标只有 4,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项
Compatibility兼容性
- DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
- External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
- Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册
Security安全性
- Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
- Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
- curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
- Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
- Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
- Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式
Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。
Or use CLI install (for developers)或使用命令行安装(适合开发者)
CLI Install命令行安装
dsh plugin --profile web add https://github.com/Howardzhangdqs/dsh-recap/releases/download/v0.1.0/dsh-recap-0.1.0.tgz
把 Howardzhangdqs/dsh-recap 加入你的 DSH 配置(web profile)即可启用。
READMEREADME
dsh-recap
DeepSeek Harness(DSH)的会话回顾总结插件:把每一次模型请求(turn:step)新增的数据总结成一句话,按时间顺序追加成一条「回顾链」——不必重放整个对话,即可看清这个会话做了什么。
设计要点:
- 缓存友好的增量生成。第 k 次总结请求的输入由三部分组成:固定的 system 指令+已有句子 1..k-1(逐字作为前缀)+本次新增数据 Δk。相邻两次请求的输入只在最新一句之后才开始不同,因此除 Δk 外的输入几乎全部命中 provider 的前缀缓存;历史以已总结的句子形式进入提示词,输入长度每次调用仅增长约 40 token(若重放原始数据则约 640 token),长会话不会超出上下文窗口。
- 对 agent loop 零侵入。捕获是
session/event的只读监听;生成是与主循环并行的辅助ctx.llm.stream调用(purpose: 'recap',任何观察者均可据此过滤);不向会话日志写入任何事件、不注入消息——持久化走插件自有文件(~/.dsh/recap/sessions/<sessionId>.jsonl)。 - 无思考生成。总结调用默认
reasoningEffort: 'off'(DeepSeek 适配器映射为thinking: disabled);不支持off的路由自动降级为low,并按路由记住该选择。 - 总结路由由用户指定。设置页的
recap分区可单独指定 provider 与 model——总结任务无需强模型,指定一个低成本模型即可;未指定时先跟随会话当前路由,再退到宿主默认模型。
界面
- 对话内联回顾行(独立运行,不依赖其他插件):每句总结穿插在模型回复之间——直接插在产生它的那次模型请求的全部内容(回复文本与工具调用行)之后,而不是集中列在轮末。某次请求的行未渲染(例如请求被中断)时,回退到同一 turn 内更早的请求行。默认
step-end触发:请求结束后(约 1.5 秒防抖)即开始总结,结果在下一次轮询(2.5 秒间隔)内出现在对应位置;页面隐藏时轮询暂停。 - 设置页:插件在 DSH 设置界面注册「会话回顾」分区,提供启用开关、总结间隔、provider、model 与思考等级,经插件自有的
/recap/api/settings*路由读写(DSH 的 settings RPC 不向配置客户端开放第三方命名空间),修改实时生效。provider/model 为级联下拉(数据来自/recap/api/providers,后者调用ctx.llm.listProviders/listModels并按 provider 缓存;列表加载失败时降级为手动输入)。
安装(从源码)
前置条件:DSH 已安装(dsh web 可运行),Node.js ≥ 22.13,pnpm ≥ 10。
# 1. 克隆并构建
git clone https://github.com/Howardzhangdqs/dsh-recap.git ~/Code/dsh-recap
cd ~/Code/dsh-recap && pnpm install && pnpm build
# 2. 在 ~/.dsh/profiles/web/package.json 的 dependencies 中添加本地依赖
# "dsh-recap": "link:/home/you/Code/dsh-recap"
# 3. 在 ~/.dsh/profiles/web/cordis.patch.yml 中追加挂载条目
# - insert:
# - id: recap
# name: 'dsh-recap'
# 4. 安装并重启
cd ~/.dsh/profiles/web && pnpm install
完成后重启 DSH 并强制刷新页面(Cmd/Ctrl+Shift+R)。
GitHub 通道(dsh plugin 一键安装)
dsh plugin add 接受任意 pnpm 依赖形式;本插件不发布 npm,请使用 GitHub Release 的预构建 tarball 安装。包内的 dsh.bundle 声明(cordis.patch.yml)会让 dsh plugin 自动完成挂载;若 profile 中已有人工添加的挂载条目(即上面的源码安装方式),请先删除,避免重复挂载。
每个版本都会在 GitHub Release 附带 pnpm pack 产出的预构建 tarball(含 lib/ 构建产物与 dsh.plugin.json,不含 sourcemap);pnpm 安装远程 tarball 时不执行构建脚本,因此安装的就是附件中的产物:
Showing the opening section of the README — the full document lives in the repository以上为 README 开头摘要,完整文档在仓库内 · View the full README on GitHub →在 GitHub 查看完整 README →
liangmianya/dsh-synapse
alaliqing/claude-paper
acryldev/acryl
omdsh-dev/dsh-annotation
Anionex/dsh-turn-rewind
Tyan66666/billion-context-dsh
qkycir-123/dsh-run2skill