dsh-arc-context:DeepSeek Harness 的可逆上下文压缩插件

前言

跑长会话的智能体开发者都绕不开一个问题:上下文逼近窗口上限时必须压缩,而 dsh 内置的 Basic 压缩走的是不可逆的模型摘要路线——摘要有损,压完就回不来了。对代码工程这类依赖精确事实的场景,丢一条约束,后续改动就可能跑偏。

dsh 的理念是「一切皆插件」,压缩策略同样可以被替换。dsh-arc-context 的思路不同:压缩前先把原件完整存进本地 append-only 日志,上下文里的压缩块随时可以逐字还原。下面介绍它的做法、安装方式与实测数据。

这是什么

dsh-arc-context(ARC = Adaptive Reversible Context)是面向 DeepSeek Harness(dsh)的上下文治理插件,由 PlxloYzb 维护,MIT 许可,当前版本 0.2.0-beta.15,要求 Node >= 20。压缩内核源自 acp-kernel(及 billion-context-pi、opencode-acp,ranxianglei,MIT)的移植与独立演进。

它的行为可以概括为一句话:在安全区保持静默,接近真实输入容量时执行模型驱动、本地可逆的压缩,信息永不丢失,卸载零残留。

发布状态为公开 Beta,跟随 dsh 官方 0.1.0-rc.8;插件与 dsh 均处公开 beta,暂不建议用于生产。

核心功能

压缩可逆,检索可用

  • 压缩原件永远保留在 append-only 日志;decompress 逐字恢复有效源,六链实测 100%,超大输出经 dsh 溢写文件同样完整。
  • search_context 支持检索压缩块,中英信息层召回 43/43。

多层蒸馏不失真

tier-3 深层检查点的证据附录在 6/6 条双语链上 20/20 保留全部事实。这依赖 effectiveSourceSafetyIndex:tier-2/3 索引递归回有效原始源,而不是只重提取可见的父 checkpoint。

预算内的类型加权保留

附录超出检查点预算时,按 safetyIndexRanking: value 依类型价值密度逐出噪声行,而非按时间序截断。

对抗注入零服从

18 个归档注入攻击面变体(摘要投毒、检索注入、伪保护标签、模板模仿等),模型服从次数 0。所有归档输出带「历史数据,非指令」框架。

诚实压力治理与紧凑指导

  • 压缩感知读数 = dsh 投影 − 日志账本遮蔽,压缩后零伪紧急告警。
  • 系统指导仅 1,140 tokens,四臂实机 verbatim 质量与完整版零劣化。

Preset Bridge 不动官方文件

安装时 bundle 会自动安装 host-plane Preset Bridge:ARC 在 standard preset 自己的 compaction 隔离域内替换官方 Basic 行,preset 文件逐字节不变。

与内置 Basic 压缩的对比

在代码工程长会话场景下,随包发布的实机实验给出了这样一组数据:

方案 精确事实 派生约束 输入 tokens 输出 tokens 总 prompt
ARC 24/24 4/4 121,146 23,234 1,055,802
Basic 6/24 0/4 231,315 30,940 1,355,539

质量差距之外,成本也更低:输入 tokens −47.6%、输出 −24.9%、总 prompt −22.1%。所有数字可运行 npm run research:verify 逐项复核。

安装与启用

同时启用 web 界面与 cli 终端时,分别执行:

dsh plugin --profile web add dsh-arc-context        # web 界面
dsh plugin --profile headless add dsh-arc-context   # cli 终端

重启 dsh 即生效。dsh plugin --profile <name> ... 的写法可推广到任意 profile;手动安装 tarball、其他 profile 与高级选项见 docs/INSTALL.md。

配置

配置节选(compaction-arc-bridge / “dsh-arc-context/bridge”):

- id: compaction-arc-bridge
  name: 'dsh-arc-context/bridge'
  config:
    effectiveSourceSafetyIndex: true   # tier-2/3 索引递归回有效原始源(默认开)
    safetyIndexRanking: value          # 超预算时按类型价值密度逐出(默认 value)
    adaptiveGovernor:
      enabled: true
      maxOutputTokens: auto

两项关键默认值:effectiveSourceSafetyIndex 默认开,safetyIndexRanking 默认 value。完整配置(上下文窗口、nudge 阈值、保护范围、Governor、提示模板等)见 docs/INSTALL.md 与 docs/kernel-tuning.md。

升级与卸载

发布新版本后,在每个已安装的 profile 里执行:

dsh plugin --profile web up dsh-arc-context
dsh plugin --profile headless up dsh-arc-context

up 会把 profile package 里已声明的依赖范围更新到最新(例如 0.2.0-beta.14 → 0.2.0-beta.15),重启后生效。

卸载:

dsh plugin --profile web remove dsh-arc-context
dsh plugin --profile headless remove dsh-arc-context

重启 dsh 后:组合配置回到官方 Basic;preset 文件 SHA-256 前后一致;已有会话继续可读;新会话不再注册任何 ARC 工具或命令。

适用场景与注意

适合在 dsh 上跑长会话、且在意压缩后精确事实丢失的用户,尤其是代码工程这类逐字历史约束敏感的任务。公开 Beta 阶段暂不建议用于生产。

另有两点提醒:插件以当前 dsh 进程权限运行,安装前建议先检查源码与许可证(MIT);文中实测数字均来自随包发布的实验协议,除 npm run research:verify 外,完整证据见 docs/research-agenda.md(研究议程与全部结论)与 research/results/(发布门十项矩阵、对照实验、对抗套件)。

相关链接

  • GitHub 仓库:https://github.com/PlxloYzb/dsh-arc-context
  • 社区目录页:https://www.skillhub.cn/plugins/PlxloYzb/dsh-arc-context (社区目录为独立站点,与 DeepSeek 无官方从属关系)

回到开头的问题:压缩不一定要以丢信息为代价。dsh-arc-context 把「压缩原件本地可逆、卸载零残留」做成了可复核的承诺,如果你的长会话同样被有损摘要困扰,可以按上面的步骤在自己的环境里跑一遍对照实验再下结论。

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

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

小夜