luxiwusuobuneng/dsh-plugin-context-manager
dsh-plugin-context-manager
DeepSeek Harness context manager: auto-records every turn, injects priority-sorted memory + pinned cross-session notes into each request, and folds real conversation history to save tokens. Persistent, restart-safe, MIT.
Install
npx @deepseek-ai/dsh plugin --profile web add github:luxiwusuobuneng/dsh-plugin-context-managerRestart `dsh web` after install. Bundle APIs can change during the developer preview.
README badge
[](https://dshhub.dev/plugins/dsh-plugin-context-manager)Paste this into your README. The star count updates with every catalog sync.
From the README
Excerpt from luxiwusuobuneng/dsh-plugin-context-manager, cleaned of badges and images.
dsh-context-manager(上下文管理插件)
DeepSeek Harness 的自定义插件:自动记录每次对话交换,按优先级注入 agent 的 prompt,并提供浏览器管理窗口(搜索、编辑、跨会话置顶、拖拽排序、导出、清空)。同时直接控制实际的对话上下文文本:查看模型真正看到的每条消息、把选中的历史范围折叠成摘要、把置顶记录/自定义文本注入真实消息流。
为什么用它
- 记录 + 注入:每轮对话自动总结成一条记录,拖拽排序定优先级;⭐ 置顶与自定义文本每轮注入,模型永远带着你的重点走。
- 真实折叠省 token:折叠直接作用于模型可见的真实对话(不是旁路摘要),旧文本真正从上下文移除、token 占用下降。
- 持久化 + 重启安全:记录、注入、排队中的折叠、折叠审计全部落盘,重启后照常工作。
- 安装后即用 + 全可调:四个标签页管理一切;首次打开有快速引导,注入预览会展示当前实际注入内容、来源和字符预算,注入条数、字符预算、记录上限运行时可调,无需改配置重启。
「控制实际对话上下文」能力
- 真实对话查看(
conversationList):列出模型实际看到的每条消息(角色 / 文本 / token 估算 / 总占用),含之前折叠留下的摘要节点。 - 手动折叠历史(
foldRange+foldStatus):在「真实对话」里选一段消息范围,排队到下一次对话开始时由服务端在agent/pre-step内执行compaction.compactRegion(),把旧文本真正折叠成一条摘要(追加式日志下唯一合法的移除方式)。折叠需在回合内执行,所以是「下一条消息后生效」。 - 注入真实消息流(
setInjectionText/getInjectionText+injectIntoMessages):置顶(⭐)记录、本会话记录、以及「注入设置」里的自定义文本,会作为一条真实消息前置注入每次模型请求(pre-step 修改messages),而不是只放在辅助提示块里。
安装(小白版·跟着做就行)不想动手干就把下面的agent版本喂给agent让它自己蹬
第 1 步:把插件文件放进 DSH 的插件目录
- 打开这个文件夹:
C:\Users\你的用户名\.dsh\profiles\node_modules(没有node_modules文件夹就新建一个); - 把本仓库里的 三个文件夹 整个复制进去:
dsh-context-manager-service-luxidsh-context-manager-agent-luxidsh-context-manager-ui-luxi
- 复制完,
node_modules里应该有这三个同名文件夹,里面各有一个package.json,就对了。
偷懒法:在本仓库目录双击运行
install.ps1(PowerShell 里执行.\install.ps1),它会自动帮你复制三个包。如果它提示[FAIL]某包,说明该包的源目录缺少package.json(目录没放对)。
第 2 步:告诉 DSH 要用这三个插件(只做一次)
- 用记事本打开文件:
C:\Users\你的用户名\.dsh\profiles\web\cordis.patch.yml; - 把下面这一整段粘到文件末尾(如果文件里已经有
- insert:开头的内容,把里面三行插件并进去,别重复- insert:):
- insert:
- id: compaction-passive
name: '@deepseek-ai/dsh-compaction-basic'
config:
auto: false
- id: context-manager
name: 'dsh-context-manager-service-luxi'
config:
maxRecordsPerSession: 200
injectIntoMessages: true
maxInjectionChars: 800
maxInjected: 5
maxGlobalInjected: 3
maxCharsPerRecord: 200
summarize: true
- id: context-manager-ui
name: 'dsh-context-manager-ui-luxi'
- 保存文件。
第 3 步:重启 DSH,打开界面
- 关掉 DSH,重新启动;
- 打开网页版对话界面,看输入框右下角有没有一个 「上下文」 按钮;
- 点它,弹出管理窗口 = 安装成功 ✅
出问题先看:文件路径对不对、
cordis.patch.yml有没有保存、DSH 有没有真重启。还不行就把报错发给 AI 帮你查。
安装 / 升级(给 AI 的精确操作手册)
目标:把本仓库的三个 npm 包安装进 DeepSeek Harness 运行实例,并在 web 组合中接线三个插件行。
环境变量:DSH_HOME 未设置时使用 %USERPROFILE%\.dsh(Windows)。下文中 <DSH> = ${USERPROFILE}\.dsh。
步骤 1 — 同步包文件
把以下三个目录完整复制(含子文件,覆盖同名文件)到 <DSH>\profiles\node_modules\:
| 源(仓库内) | 目标 |
|---|---|
dsh-context-manager-service-luxi\ | <DSH>\profiles\node_modules\dsh-context-manager-service-luxi\ |
dsh-context-manager-agent-luxi\ | <DSH>\profiles\node_modules\dsh-context-manager-agent-luxi\ |
dsh-context-manager-ui-luxi\ | <DSH>\profiles\node_modules\dsh-context-manager-ui-luxi\ |
等价命令(仓库根目录,PowerShell):powershell -NoProfile -ExecutionPolicy Bypass -File .\install.ps1
install.ps1 会自动创建目标目录并复制三个包;仅当某包源目录缺少 package.json 时才输出 [FAIL]——此时请检查第一步的目录摆放。该脚本只负责复制,不修改 cordis.patch.yml(接线需手动完成)。
步骤 2 — 接线 cordis.patch.yml(仅首次安装)
编辑 <DSH>\profiles\web\cordis.patch.yml(UTF-8,不存在则创建)。向 insert 列表追加三个条目,不得覆盖现有条目;若文件尚无 - insert:,先写 - insert: 作为键。追加内容:
…
