🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

单会话上下文治理 chuxindd/dsh-context-enhancement

DeepSeek Harness
chuxindd46 天前有提交已提供中文文档扫描:未发现敏感能力

压缩长会话历史,保留关键要点与任务状态

29.7/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chuxindd/dsh-context-enhancement
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · market
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/09/25·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 46 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安装兼容性检查⚠ 装前注意
要求 Node:^22.19.0 || >=24.0.0(dsh 本身要求 Node ≥ 22.19)

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-context-enhancement(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/21 23:54:32

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-brand@deepseek-ai/dsh-commands@deepseek-ai/dsh-compaction@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-storage-domain@deepseek-ai/dsh-system-prompt@deepseek-ai/dsh-timeout@deepseek-ai/dsh-token-meter@deepseek-ai/dsh-util-values
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 压缩长会话历史
  • 保留关键要点
  • 保留任务状态

适用于 DeepSeek Harness 的单会话上下文增强工具,力求化解会话在触发 /compact 上下文压缩后损失信息过多,导致前后表现“判若两人”的技术困境。

README

由 DeepSeek 最新模型翻译生成
Dsh-Context-Enhancement dsh-context-enhancement 是 DeepSeek Harness(DSH)的定制上下文增强插件,面向单一长会话的上下文管理,提供「工具要点化」「遗忘区压缩」「独立会话摘要」的能力,力求化解会话触发 /compact 上下文压缩后损失信息过多、前后表现「判若两人」的技术困境。在一众 DSH 记忆插件里,本项目少有地针对单一上下文做治理。 当前版本:0.1.12。兼容 DeepSeek Harness 0.1.2-rc.1。 本项目还在测试阶段,代码由 GPT5.6 Sol 完成,欢迎批评指教。 工作原理 编码智能体在长任务中会经历几十上百轮工具调用。把完整历史保留在主上下文中,会面临以下硬约束: * 上下文窗口有限,工具输出、代码片段和报错日志迟早填满窗口,必须压缩或丢弃。 * 输入越长,有用约束越容易被大量工具低价值输出稀释,主智能体越难判断下一步该做什么。 * 模型难以区分当前现场、历史事实和已经完成的工作。 * 在窗口即将耗尽时一次性压缩,输入往往过大,极易同时损失底层细节和全局结构。 同时,长任务还需要一份持续更新的任务摘要,用来记录已经发生的事实、决策和关键上下文。
展开完整文档(README 剩余 1 节)
Dsh-Context-Enhancement

dsh-context-enhancement 是 DeepSeek Harness(DSH)的定制上下文增强插件,面向单一长会话的上下文管理,提供「工具要点化」「遗忘区压缩」「独立会话摘要」的能力,力求化解会话触发 /compact 上下文压缩后损失信息过多、前后表现「判若两人」的技术困境。在一众 DSH 记忆插件里,本项目少有地针对单一上下文做治理。

当前版本:0.1.12。兼容 DeepSeek Harness 0.1.2-rc.1。
本项目还在测试阶段,代码由 GPT5.6 Sol 完成,欢迎批评指教。

工作原理

编码智能体在长任务中会经历几十上百轮工具调用。把完整历史保留在主上下文中,会面临以下硬约束:

* 上下文窗口有限,工具输出、代码片段和报错日志迟早填满窗口,必须压缩或丢弃。
* 输入越长,有用约束越容易被大量工具低价值输出稀释,主智能体越难判断下一步该做什么。
* 模型难以区分当前现场、历史事实和已经完成的工作。
* 在窗口即将耗尽时一次性压缩,输入往往过大,极易同时损失底层细节和全局结构。

同时,长任务还需要一份持续更新的任务摘要,用来记录已经发生的事实、决策和关键上下文。

行业常见的 TODO 清单编排、长程目标(Goal)验证及各种状态循环机制,本插件在其基础之上,针对长会话的记忆管理,用「主线程分区压缩」和「独立 checkpoint 旁路」两套并行机制分别处理:

2.1 主线程压缩链

主线程中的内容随新对话产生而逐渐老化,并依次进入三个互不重叠的区域:

| 历史演变 (最老 $\rightarrow$ 最新) | 遗忘区 | 工具压缩区 | 近区 |
| 核心状态 | 逐渐模糊 | 精简提炼 | 当前活跃 |
| 触发操作 | 操作③:分批语义压缩 | 操作① / 操作②:工具要点化或工具裁剪 | 原始内容完整保留 |
| 场景定义 | 深度记忆归档 | 核心工具库 | 当前工作现场 |

每段内容遵循统一生命周期:

近区原始内容 │ 随新内容增长而老化 ▼ 工具压缩区 │ 工具结果形成要点或经过裁剪 │ 用户消息、助手回答和工具要点继续参与后续对话 │ 接受用户纠偏、模型判断和新工具证据验证 ▼ 遗忘区 │ 按最老优先的有限批次执行语义压缩 ▼ 遗忘摘要

2.2 Checkpoint 旁路链

独立任务状态服务读取主线程事件流,在后台持续更新同一份 Checkpoint。

主线程事件流 │ └─ 独立 Checkpoint 服务 ├─ 截取上次提交位置之后的新增事件 ├─ 与上一版稳定状态合并 └─ 校验并提交新的稳定版本

Checkpoint 使用独立模型请求、输入预算、输出预算、超时和重试策略。主智能体始终读取最近一次成功提交的稳定版本;后台更新和失败都不阻塞主任务。

相比 standard 的变化

contextual 保留 standard 的编码工具、规划、子代理和工作流能力,仅改变任务连续性与上下文管理方式。

| 能力 | standard | contextual |
| 编码智能体与工具 | 完整提供 | 完整保留 |
| 任务状态 | 依赖当前对话 | 自动提取并持久保存任务事实、决策、约束、风险和后续事项 |
| 服务重启后的任务恢复 | 无独立状态 | 从存储直接恢复,不需要重新调用模型重建 |
| 较早工具输出 | 由默认压缩统一处理 | 在压缩前优先缩减,降低上下文占用 |
| 长对话压缩 | DSH 默认实现 | 优先保留近期工作,再整理较早历史 |

在 Web 会话的 上下文优化 页面中,顶部显示任务进度记忆、请求上下文同步、工具结果整理和长对话整理四项运行状态,下方展示当前会话已经提交的任务摘要。点击摘要标题右侧的 编辑 可以修改目标、焦点、待办、下一步、事实、决策、约束和风险;保存会持久化为一个新的摘要修订,并实时刷新页面。依据和待办引用由会话事件生成,不在编辑器中修改。

安装

前置条件

- Node.js ^22.19.0 || >=24.0.0
- DeepSeek Harness 0.1.2-rc.1
- 已配置可用的 DSH 模型服务商
- Web 安装使用 dsh --profile web

从 GitHub Release 安装

安装固定 tag,避免后续提交改变当前部署:

dsh plugin --profile web add 'github:chuxindd/dsh-context-enhancement#v0.1.12'
dsh --profile web

打开 http://127.0.0.1:8080,新建会话并选择 上下文增强。插件会保留standard、minimal、ptc 和 cordis 等原有模式,同时将 contextual 注册为默认模式。

从本地源码安装

适合开发、调试或尚未创建 Release 时使用:

git clone https://github.com/chuxindd/dsh-context-enhancement.git
cd dsh-context-enhancement
pnpm install
pnpm run build
npm pack
dsh plugin --profile web add "file:$PWD/dsh-context-enhancement-0.1.12.tgz"
dsh --profile web

在 Windows PowerShell 中,如果 DSH CLI 不接受含 / 的相对路径,请传入 tarball 的绝对路径。

Desktop 兼容步骤

Desktop 启动器会重建 Agent preset 的发现目录,因此安装 Bundle 后还需要把 contextual preset 写入用户目录。在本仓库或解压后的源码目录执行:

pnpm run install:desktop-preset

默认写入 %DSH_HOME%\.agent-presets\contextual;未设置 DSH_HOME 时使用 %USERPROFILE%\.dsh\.agent-presets\contextual。如果已有同名 preset,脚本会拒绝覆盖;确认需要替换时执行:

pnpm run install:desktop-preset -- --force

使用与验证

1. 启动 Web profile,打开或新建会话。
2. 在 Agent 选择器中选择 上下文增强。
3. 正常执行任务;任务状态与上下文整理均自动运行,不需要手动维护。
4. 打开 上下文优化 页面,查看各能力状态、触发记录和当前任务摘要;需要纠偏时点击 编辑,保存后生成新的持久修订。
5. 打开“轨迹”查看压缩、裁剪等详细事件。

任务状态达到事件阈值后异步更新,因此刚创建的会话可能显示“本会话尚未触发”。这不代表能力未启用。

编辑采用修订号冲突保护。如果保存期间后台摘要已经提交了更新,页面会保留编辑内容并提示冲突;取消编辑后可读取最新修订再重新修改。

配置

Bundle 默认配置位于 cordis.patch.yml,可在 profile/home patch 层覆盖。覆盖 config时需要提供完整配置,而不是只写变化字段。

任务状态 provider

| 字段 | 默认值 | 作用 |
| provider / model | deepseek-official / deepseek-v4-flash | 会话尚无已记录请求路由时使用的兜底模型;任务状态更新通常复用该会话最近一次主对话路由 |
| minEvents | 20 | 已提交位置之后,自动启动一次更新所需的最少事件数 |
| maxEvents | 200 | 单次更新最多处理的事件数 |
| maxInputBytes | 60000 | 单次结构化输入的 UTF-8 字节预算 |
| maxOutputTokens | 4000 | 单次后台生成上限 |
| timeoutMs | 120000 | 单次请求超时 |
| maxInfraRetries | 2 | 瞬时基础设施错误的额外重试次数 |
| maxEntriesPerKind | 50 | 每类事实、决策、约束和风险的上限 |
| maxEntryBytes | 4000 | 单条状态记录的字节上限 |
| maxListItems | 40 | 单个列表字段的条目上限 |

task-state-prompt 的 maxBytes 默认是 8000,用于限制注入请求上下文的状态大小。

上下文压缩

contextual 继承 DSH 官方配置字段,包括 thresholdRatio、retainRatio、retainTokens、summarizationProvider、summarizationModel、maxTokens、compactionRetries、maxOverflowRetries、modelPolicies 和 auto。

工具输出缩减使用 thresholdChars、headChars 和 tailChars。修改阈值前建议先通过轨迹观察真实会话;阈值过低会增加处理频率,保留量过低会损失排查问题所需的原始输出。

数据、升级与卸载

任务状态保存在:

$DSH_HOME/storages/context_enhancement_task_state.json

普通 Session 继续保存在 $DSH_HOME/sessions。插件不会在卸载时删除这些数据。

升级:

dsh plugin --profile web add 'github:chuxindd/dsh-context-enhancement#v0.1.12'

回滚到上一版本:

dsh plugin --profile web add 'github:chuxindd/dsh-context-enhancement#v0.1.3'

卸载:

dsh plugin --profile web remove dsh-context-enhancement

每次安装、升级、回滚或卸载后都需要重启 profile。卸载会移除 contextual 默认覆盖并恢复官方压缩组合,但不会删除任务状态文件和 Session 日志。

本地开发

git clone https://github.com/chuxindd/dsh-context-enhancement.git
cd dsh-context-enhancement
pnpm install
pnpm run typecheck
pnpm test
pnpm run build

仓库提交 lib/ 构建产物,因为 GitHub tag 安装不会运行 prepare 或 postinstall。修改 src/ 后必须运行 pnpm run build,并把对应的 lib/ 变化一起提交。

常用命令:

| 命令 | 用途 |
| pnpm run typecheck | 严格检查源码与测试类型 |
| pnpm test | 运行 Vitest 测试 |
| pnpm run test:watch | 开发过程中持续运行测试 |
| pnpm run build | 生成 lib/types 和运行时入口 |
| pnpm run release:check | 检查依赖、exports、patch、preset 和打包内容 |
| pnpm run verify:install | 在隔离 DSH home 中安装 tarball 并验证 preset 挂载 |

扩展开发

主要修改入口:

| 目标 | 入口 |
| 调整任务状态 schema 或服务契约 | src/task-state.ts、src/internal/task-state/ |
| 调整任务状态采集、校验和提交 | src/task-state-basic.ts、src/internal/task-state/basic/ |
| 调整注入模型请求的状态格式 | src/task-state-prompt.ts |
| 调整压缩选择和执行策略 | src/compaction-basic.ts、src/internal/compaction/ |
| 调整工具输出缩减 | src/tool-result-pruner.ts |
| 调整 Web 状态面板 | src/client/、src/effect-projection.ts |
| 调整 Agent 组合 | presets/contextual/agent.cordis.yml |
| 调整 Profile 安装行为 | cordis.patch.yml |

开发约束:

- 不要为任务状态新增 DSH SessionEventMap 事件;审计数据放在独立 storage domain,保证卸载后旧 Session 日志仍可由官方代码读取。
- 修改持久 schema 时必须说明兼容和迁移策略,并增加重启、损坏数据和旧版本数据测试。
- 修改压缩策略时应覆盖工具调用配对、选择边界、空收益、溢出与确定性回退。
- 修改客户端后同时更新中英文 locale、projection 测试和 lib/client.js。
- src/internal/ 中源自 DSH 的代码必须保留 provenance 与 MIT 归属说明。

贡献

Issue:<https://github.com/chuxindd/dsh-context-enhancement/issues>

提交 Pull Request 前:

1. 从独立分支完成改动,避免混入无关格式化或生成文件。
2. 为行为变化增加或更新测试。
3. 运行 pnpm run typecheck、pnpm test、pnpm run build 和 pnpm run release:check。
4. 提交源码及对应的 lib/ 构建产物。
5. 在 PR 中说明问题、实现选择、兼容影响和人工验证方式。
6. 如果改变持久数据、Agent 组合或压缩语义,明确写出升级与回滚影响。

完整约定见 CONTRIBUTING.md。

发布维护

维护者发布新版本时:

pnpm run typecheck
pnpm test
pnpm run build
pnpm run release:check
npm pack
pnpm run verify:install -- .\dsh-context-enhancement-0.1.12.tgz

全部通过后提交版本变更,创建 v0.1.12 tag,并在 GitHub Release 上传同名 tarball。

兼容性说明

- 当前精确兼容 DSH 0.1.2-rc.1;升级 DSH 后需要重新验证并发布新版本。
- 运行时不导入 @deepseek-ai/dsh- 的未发布 src/ subpath。
- Headless 或未挂载 agent-presets roster 的 profile 只会启用主机侧任务状态 provider,不会修改默认 Agent preset。

许可证

MIT。
预览分享卡片长什么样 ↓chuxindd/dsh-context-enhancement
分享 · DeepSeek Harness Hub
chuxindd/dsh-context-enhancement

压缩长会话历史,保留关键要点与任务状态

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部