dsh-fold-context
Predictable context compression and recoverable evidence for DSH
Other repositories with this package name
Install
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:HumXC/dsh-fold-contextREADME
Read the full README ↗日常使用
启用后,模型会收到使用规则和编号声明。通常无需人工管理编号;你可以要求模型在阶段结束后标记已用完的证据,查看待处理内容,或恢复之前的结果。
| 工具 | 用途 |
|---|---|
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.images | auto 仅向明确支持图片的摘要模型传原图;references 固定只传引用。 |
release.catalogLimit | 按需目录大小,范围 1–128;日常通知最多附带 8 条变化。 |
压力阈值为 floor(min(C × thresholdRatio, C − R − headroomTokens)),其中 C 是当前模型容量,R 是输出预留。模型专属参数可以通过官方 compaction.modelPolicies 配置。
成本字段是 HEURISTIC 估算权重,不是供应商价格。未知缓存按已缓存前缀保守估算。真正提交摘要仍会改变历史前缀,因此不能保证缓存命中或实际节费。