@qingshanjiluo/dsh-context-manager

September 12, 2026 · View on GitHub

DeepSeek Harness 插件:对会话 transcript 做确定性的统计、检索、压缩与待办提取,全程不调用任何模型、不联网、不起进程。模型把当前上下文以 JSON 消息数组回传给工具,工具用纯逻辑分析并给出结构化结果——是"上下文管理 / 压缩 / 查找"的离线基元。

工具

工具作用
ctx_stats统计消息数、按角色计数、近似 token(字符/4)与 UTF-8 字节数
ctx_search关键词检索(子串加权 + 词元计数),返回按分值排序、片段裁剪的命中
ctx_compact无模型压缩:保留首 keepFirst、尾 keepLast 条原文,中段字符串消息按 maxContentChars 截断(不删除任何消息),返回节省字符数
ctx_recentTasks用确定性标记(TODO/FIXME、任务:task:、复选框、祈使句 user 行)抽取最近的任务条目

所有 messages 入参须是形如 [{ role, content }] 的 JSON 数组;非法入参一律以返回值中的 error 字段优雅报错,绝不抛异常。四个工具均声明 isConcurrencySafe() => true

配置

字段默认说明
k5ctx_search 默认返回上限
keepFirst2ctx_compact 保留开头条数
keepLast4ctx_compact 保留结尾条数
maxContentChars240ctx_compact 中段截断字符数
keepRecent8ctx_recentTasks 默认返回上限

每个工具的调用参数(keepFirst/keepLast/maxContentChars/k/n)都可覆盖以上部署默认值。

安装

npx -y @deepseek-ai/dsh plugin --profile web add @qingshanjiluo/dsh-context-manager

启用后需重启 DSH 使 bundle 层生效。

开发与验证

npm install
npm run typecheck   # tsc --noEmit
npm run build       # 产出 lib/index.js 与 lib/index.d.ts
npm test            # vitest
node scripts/load-smoke.mjs   # 加载构建产物并注册校验