HumXC/dsh-fold-context ↗★ 0

dsh-fold-context

Predictable context compression and recoverable evidence for DSH

Package
dsh-fold-context
Compatibility
Unverified
Harness peer range
0.2.0-rc.2
Cordis peer range
^4.0.2
Version
0.2.3
License
MIT
Last updated
Oct 17, 2026

Other repositories with this package name

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:HumXC/dsh-fold-context

日常使用

启用后,模型会收到使用规则和编号声明。通常无需人工管理编号;你可以要求模型在阶段结束后标记已用完的证据,查看待处理内容,或恢复之前的结果。

工具用途
context_release批量释放已用完的工具结果正文或单个附件;返回排队或已结算状态。
context_compact请求在后续步骤边界生成摘要;低压力下可能等待调度条件。
context_status查看编号、状态、等待原因、提醒状态及独立摘要调度计划。
context_search按原文片段、角色或工具名查找当前会话历史。
context_expand根据编号分页恢复原文,或恢复已校验的图片、文件句柄。

例如,模型可以调用:

{ "ids": ["§T19§", "§I20§"], "reason": "调查已完成,结论已经保留" }

这是 context_release 的参数。编号必须来自当前会话,不能照搬示例编号。要找回证据,可以先用 context_search 搜索关键片段,再调用:

{ "id": "§T19§" }

这是 context_expand 的参数。恢复结果进入新的上下文,不撤销之前的压缩。文本结果较长时,根据返回的 nextOffset 继续读取。

如果你希望立即整理历史,可以使用官方 /compact。模型调用 context_compact 则会进入代码调度,不保证下一步就执行。

编号与状态

编号对应内容
§U17§一条用户消息的普通文字
§A18§一条助手消息的普通文字
§T19§一次工具调用及其完整结果
§I20§一次图片出现
§F21§一次文件出现

所有类型共享递增序号。同一图片或文件重复出现,也有各自的编号。U/A 是可检索的对话身份,新释放请求不接受它们;T 释放仅替换结果正文,保留工具调用及助手原记录;I/F 仅替换对应附件。

条目的状态按以下含义解释:

  • available:尚未标记,且未被摘要覆盖。
  • queued:意图已接收;普通工具结果和附件等待安全步骤边界,受保护的助手附件等待覆盖摘要。
  • released:正文已实际释放;原位释放的当前占位显示为 §T19R§、§I20R§ 等。原编号和 R 别名均可用于工具查询及恢复。
  • summarized:当前正文或释放占位已被摘要覆盖,选区内不再保留逐条占位。

R 只是可见状态,不生成新身份,也不会恢复原正文。查看 context_status 可区分步骤边界等待、协议保护、摘要范围外和摘要失败冷却。

配置

通常可以先使用默认值,只在实际观察后调整。下面列出主要选项及其默认值:

compaction:
    auto: true
    thresholdRatio: 0.8
    retainRatio: 0.16
    headroomTokens: 65536
scheduling:
    enabled: true
    proactive: true
    minIntervalSteps: 8
    minSavingsTokens: 2048
    minSavingsRatio: 0.2
    expectedSummaryRatio: 0.2
    paybackTurns: 8
    cacheReadRatio: 0.1
    summaryInputRatio: 1
    summaryOutputRatio: 1
reminders:
    enabled: true
    minAgeSteps: 2
    largeOutputTokens: 8000
    backlogTokens: 16000
    staleTokens: 4000
    staleSteps: 8
    pressureRatio: 0.8
    minIntervalSteps: 6
    pressureIntervalSteps: 4
    ignoredBackoffSteps: [12, 24]
    rearmGrowthTokens: 8000
    maxCandidates: 5
summary:
    reasoning: omit-from-summary
    images: auto
release:
    catalogLimit: 32

关键选项:

选项含义
compaction.auto关闭普通压力和 backlog 自动摘要;独立释放仍运行,实际溢出恢复、模型显式请求和用户 /compact 仍可执行。
thresholdRatio压力比例上限;输出预留与 headroom 可能让触发早于该比例。
retainRatio保留近期原文尾部的预算比例,不是压缩后的目标大小。
scheduling.enabled开启经济调度;关闭后,模型显式请求沿用旧的强制摘要行为。
scheduling.proactive允许排队标记自动触发低压力摘要;关闭后仍可通过模型显式请求触发。
minIntervalSteps距离上次摘要至少经过多少个已提交的 assistant 步骤。
minSavingsTokens / minSavingsRatio最低预计净缩短量,以及相对当前总输入的最低比例。
paybackTurns允许的估算回本周期。
summary.reasoning默认只从摘要输入省略 reasoning;preserve 将其作为历史文字保留。
summary.imagesauto 仅向明确支持图片的摘要模型传原图;references 固定只传引用。
release.catalogLimit按需目录大小,范围 1–128;日常通知最多附带 8 条变化。

压力阈值为 floor(min(C × thresholdRatio, C − R − headroomTokens)),其中 C 是当前模型容量,R 是输出预留。模型专属参数可以通过官方 compaction.modelPolicies 配置。

成本字段是 HEURISTIC 估算权重,不是供应商价格。未知缓存按已缓存前缀保守估算。真正提交摘要仍会改变历史前缀,因此不能保证缓存命中或实际节费。