dsh-codex-context:DeepSeek Harness 的无损检索上下文管理器

前言

在 DeepSeek Harness (DSH) 的长会话中,默认的 LLM 总结后端会导致窗口耗尽、注意力稀释,并且有损总结会永久丢失精确的错误字符串、命令输出和代码签名。dsh-codex-context 是一个针对这一问题的解决方案,它将默认的后端替换为一个基于 token 预算的滑动窗口,同时保留持久化工作笔记和冷历史搜索能力。

核心功能

dsh-codex-context 提供以下能力:

  • 分词预算滑动窗口:当活动窗口超过配置的 targetActiveTokens 时,引擎向后回溯并遮挡旧节点,直到尾部符合预算。切割会尽量对齐到安全边界。
  • 零孤儿边界:利用 Codex 的 normalize 不变量,确保工具调用与其结果不被分离。
  • 模型无关检查点:在常规窗口操作中写入模板检查点而非调用 LLM,节省成本。
  • 紧急降落伞:当压力超过阈值(默认 0.85)时,通过 LLM 生成结构化摘要;若失败则降级为模板检查点。
  • 工具:
    • update_notes:更新持久化工作笔记,固定在模型请求顶部,不受窗口滑动影响。
    • search_history:在完整会话日志上进行正则/关键词搜索,支持冷历史检索。

安装与启用

该插件是一个 dsh bundle,通过 cordis.patch.yml 禁用默认的 compaction-basic 行,并挂载 codex-context 行。

本地安装:

dsh plugin --profile demo add /path/to/dsh-codex-context
dsh --profile demo --dump-config   # 检查 base compaction-basic 行是否被禁用,codex-context 行是否已挂载
dsh --profile demo

Git 安装(推荐):

dsh plugin --profile demo add github:dvaJi/dsh-codex-context#<sha>

需在 pnpm-workspace.yaml 中添加 allowBuilds: dsh-codex-context: true。

打包安装:

pnpm pack
dsh plugin --profile demo add ./dsh-codex-context-0.1.2.tgz

仅添加工具层:
若需保留原有总结后端并仅添加笔记和搜索工具:

- insert:
    - id: codex-context-tools
      name: dsh-codex-context/tools

注意事项

  1. 工具名称冲突:不要在同一个上下文中挂载完整的 bundle 条目和 codex-context-tools,两者的工具名称会冲突。
  2. 查询限制:search_history 拒绝空或仅包含空白字符的查询;拒绝包含嵌套无界量词(如 (a+)+)的正则模式,以防止灾难性回溯。
  3. 权限与来源:插件以当前 DSH 进程权限运行。安装前应检查源码与许可证(MIT)。
  4. 持久化机制:笔记持久化不需要自定义会话事件类型,它依赖于现有的 user/message 源快照和折叠逻辑。

总结

dsh-codex-context 通过引入 Codex 风格的无损检索架构,解决了 DSH 在长会话中信息丢失和窗口管理困难的问题。它提供了可靠的冷历史搜索和固定工作笔记,适合需要处理大量上下文和保留精确历史记录的开发场景。

资源:
* GitHub 仓库:https://github.com/dvaJi/dsh-codex-context
* 生态目录:https://www.skillhub.cn/plugins/dvaJi/dsh-codex-context

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

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

小夜