返回目录

dsh-argp

精选清单收录维护状态: 活跃

yoza10635/dsh-argp

Guarded context compaction for DeepSeek Harness (dsh): the LLM proposes, deterministic guards dispose — eager per-atom shrink (extract/summary/false under verbatim guards) + lazy reference-graph eviction (0-LLM) + byte-exact recall from an append-only log. 守卫式上下文压缩:LLM 只提议、确定性守卫裁决——逐原子缩放 + 惰性引用图剪枝(0-LLM)+ 追加式日志逐字节召回;压缩率精确兑现,历史永不销毁。

前往 GitHub
$ dsh plugin --profile <name> add dsh-argp

15

星标

2

Fork

TypeScript

语言

MIT

许可证

2026-08-17

创建于

2026-11-09

最近推送

MIT 许可的 dsh 插件:LLM 在环内但戴着镣铐的逐原子压缩,加 0-LLM 图剪枝;append-only 日志是唯一事实源,两级召回、三级触发阶梯,以及只读的 `/argp` 状态命令。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-11-10

许可证

MIT

01它能帮你完成什么?

  • 让长时间运行的 DeepSeek Harness 会话继续活下去,又不因摘要式压缩丢掉精确 token

    两阶段压缩:逐原子压缩由模型只提方案、确定性守卫裁定,加上 0-LLM 引用图剪枝,按字符预算收敛

    在 DeepSeek Harness 里跑长时间多轮编码任务、不断撞上下文窗口的人

  • 模型需要时,把被压缩 / 被剪枝的内容按原文取回来

    两级召回——`recall_summary(seq)` 读压缩态,`recall_detail(seq, from?, limit?)` 读 append-only 日志原文,大节点可分页续读

    压缩后的历史仍需可逐字引用的人,例如要取回精确路径、错误码或配置值

02如何接入 DeepSeek Harness?

前置条件

  • 一个 dsh profile 名——README 用 `dsh plugin --profile <name> add dsh-argp` 安装
  • 指令遵循能力尚可的模型:README 说守卫保证任何模型上都“不会压坏”,但收益随服从率缩放

安装步骤

  1. 01

    从 npm 安装:`dsh plugin --profile <name> add dsh-argp`——bundle patch 会挂载两个阶段,无需手工配置

    $ dsh plugin --profile <name> add dsh-argp

  2. 02

    如果在新版发布 24 小时内安装,请显式钉版本(`dsh-argp@<最新版本>`),因为 pnpm 11 默认 `minimumReleaseAge` 为 1440 分钟,会静默回落到旧版本

  3. 03

    想退回纯 0-LLM 图剪枝,在 profile 层设 `config: { peratom: false }`

验证接入成功

  • 在会话里输入 `/argp` 打印实时状态(engine、preset、budget、prunes、recall、cites)——只读,不触发压缩
  • 手动压缩仍走宿主原生的 `/compact`,最终落到本引擎的 `compactNow`

03DSH 适配与能力边界

DSH 适配原生运行时

原生主机端 dsh 插件:`dsh plugin --profile <name> add dsh-argp` 通过包内自带的 bundle patch 挂载(`cordis.patch.yml` 用 `insert` 创建条目),该 patch 同时以 `- id: compaction-basic / disabled: true` 关掉 stock 摘要器。profile 层只做配置覆盖——再 insert 会报 `duplicate loader entry id`。

  • Stage-1 逐原子压缩(eager)

    单次 LLM 调用返回逐原子的 `{seq, level, text}` 决策→`extract`(逐字摘录,缺任一高信号 token 即被守卫硬拒)、`summary`(丢弃项入账 `summaryDropped` 供审核)或 `false`(保留原文)

    只允许替换当轮区间的原子收益 ≤5% 的副本视同 `false`,不 emit replace
  • Stage-2 引用图剪枝(0-LLM)

    确定性 A→R 边加上模型声明的语义 `cites` 边构成的原子图→按反向拓扑序整原子摘除,直到满足字符预算

    闭包生命周期 ACTIVE→COMPLETED→PRUNABLE→PRUNED 让已完成任务整闭包退休触发线默认 `contextWindow×0.8`,保留目标为可压缩内容的 20%
  • 三级触发阶梯

    轮初压力判定(L1)、轮中压力(L1′)或输出被外部钳制(L3)→L1 跑逐原子 LLM pass + 图剪;L1′ 只做 0-LLM 图剪;L3 强制剪并用 `steer` 发一条续写消息,让同一个 turn 继续推进

    `midTurnPrune` 默认 true、`midTurnTurnGuard` 默认 0`reactiveRetries` 每个"连续被钳" episode 默认 2 次
  • `/argp` 状态命令

    在会话里输入 `/argp`→engine(`graph` 或 `graph+peratom`)、preset、带估算来源的预算行、剪枝次数、召回命中率与 cites 声明数

    只读,不触发压缩

04适合谁?何时不该用?

适合

  • 在 DeepSeek Harness 里跑长时间多轮编码任务、不断撞上下文窗口的人
  • 压缩后的历史仍需可逐字引用的人,例如要取回精确路径、错误码或配置值

不适合

  • 新版发布 24 小时内安装可能静默装上旧版本:pnpm 11 的 `minimumReleaseAge` 默认 1440 分钟,会不报错地回落,随后撞上宿主的 peer 检查。请显式钉版本,或把 `dsh-argp` 加入 `minimumReleaseAgeExclude`。
  • 自 1.9.0 起 ARGP 在 `skipPresets` 列出的 preset 下退场(默认 `['minimal']`):极简 preset 的会话不剪枝、不压缩。要让它在 minimal 下也生效,在 profile 层加 `config: { skipPresets: [] }`。
  • dsh 各层 patch 的 `config` 是整块替换而非深合并,因此在 profile / home / CLI 层为 `dsh-argp` 写 `config` 会整块冲掉上一层。不写 `peratom` 没关系(默认即挂),只有确实要关停 Stage-1 时才写 `peratom: false`。
  • 预算按字符口径(字符 × charsPerToken 估算),不构成逐 token 的精确承诺;真实 token 以 provider 回报的 usage 为锚点。

05兼容性、维护与安全提示

  • 新版发布 24 小时内安装可能静默装上旧版本:pnpm 11 的 `minimumReleaseAge` 默认 1440 分钟,会不报错地回落,随后撞上宿主的 peer 检查。请显式钉版本,或把 `dsh-argp` 加入 `minimumReleaseAgeExclude`。
  • 自 1.9.0 起 ARGP 在 `skipPresets` 列出的 preset 下退场(默认 `['minimal']`):极简 preset 的会话不剪枝、不压缩。要让它在 minimal 下也生效,在 profile 层加 `config: { skipPresets: [] }`。
  • dsh 各层 patch 的 `config` 是整块替换而非深合并,因此在 profile / home / CLI 层为 `dsh-argp` 写 `config` 会整块冲掉上一层。不写 `peratom` 没关系(默认即挂),只有确实要关停 Stage-1 时才写 `peratom: false`。
  • 预算按字符口径(字符 × charsPerToken 估算),不构成逐 token 的精确承诺;真实 token 以 provider 回报的 usage 为锚点。
  • 未被 ARGP 替换的 live 节点在逼近 contextWindow 时仍可能被请求组装层截掉且不留痕迹,`recall_pruned` 取不回它们。缓解办法是用比例预算把触发点前移;根治在 dsh 侧(B-6 立案中)。
2026-08-172026-11-08v1.11.2

MIT · 持续维护(最新 release v1.11.2,2026-11-09)· README 说明 dsh.so 的 L4 通过、L5.2(web 启动层)检测失败,本地无法复现

06常见问题

它和普通的摘要式压缩有什么不同?

摘要式压缩让模型改写历史,会先丢掉精确 token(路径、错误码、配置值),还会让前缀缓存全断。dsh-argp 只把 LLM 当成不可信的提案方,由确定性守卫裁定,并用 0-LLM 图规则让“遗忘”变得确定,预算才能真正收敛。

压缩之后还能拿回原文吗?

可以。被压缩 / 被剪枝的内容都留在 append-only 日志里:`recall_summary(seq)` 返回压缩态,`recall_detail(seq, from?, limit?)` 返回原文——文本块逐字,工具调用参数按 JSON 语义等价重建并标注,大节点可分页续读。

装完还需要手工配置吗?

不需要。`peratom` 在引擎构造期缺省即挂,安装后即为双引擎;包的 bundle patch 还会关掉 `compaction-basic`。想退回纯 0-LLM 图剪枝,在 profile 层设 `config: { peratom: false }`。

为什么装新版本却装到了旧版本?

pnpm 11 的 `minimumReleaseAge` 默认 1440 分钟,24 小时内发布的版本会被跳过并静默回落,随后撞上宿主的 peer 检查。请显式钉版本(`dsh-argp@<版本>`),或把 `dsh-argp` 加入 `minimumReleaseAgeExclude`。

怎么看到它在做什么?

在会话里输入 `/argp`:会打印引擎模式(`graph` 或 `graph+peratom`)、preset、带估算来源的预算行、剪枝次数、召回命中率与 cites 声明数——只读,不会触发压缩。

08数据与来源

  • 作者声明github.com5d81fd5d9980…

    **dsh-argp 是 [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)(dsh)的第三方上下文压缩引擎**

  • 作者声明github.com5d81fd5d9980…

    挂载同样由包的 bundle patch(`cordis.patch.yml`)负责(`insert` 创建 entry)

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-11-10。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件目录,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。