前言¶
跑长会话的智能体开发者都绕不开一个问题:上下文逼近窗口上限时必须压缩,而 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 把「压缩原件本地可逆、卸载零残留」做成了可复核的承诺,如果你的长会话同样被有损摘要困扰,可以按上面的步骤在自己的环境里跑一遍对照实验再下结论。