@deepseek-ai/dsh-compaction-basic 0.1.0-rc.8 → 0.1.1-rc.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.i18n.yaml +1 -1
- package/README.zh.md +4 -4
- package/package.json +22 -22
package/README.i18n.yaml
CHANGED
|
@@ -3,4 +3,4 @@
|
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/compaction/compaction-basic/README.md
|
|
5
5
|
README.md: 82df7b7e399cef80d92611819e9e58f13babf175
|
|
6
|
-
README.zh.md:
|
|
6
|
+
README.zh.md: d79ea39ad8db7e2ab7f0a5b2ef52b61ab054d01b
|
package/README.zh.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
**基础压缩(compaction)后端**:`BasicCompactionEngine` 实现 `@deepseek-ai/dsh-compaction` Service Definition,使用可复用的 `ctx.tokenMeter` 压力、token 预算保留与摘要。摘要是直接的一次性 `ctx.llm.stream()` 调用,它会回放会话前缀以复用提供方的 KV Cache(可在 `llm/stream` 处拦截)。
|
|
6
6
|
|
|
7
|
-
本包承担压缩能力的 Service Provider 角色;其约定见 [Service Definition 包](../compaction/README.md),设计见 [能力 seam Agent Note](../../../.agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.md)。
|
|
7
|
+
本包承担压缩能力的 Service Provider 角色;其约定见 [Service Definition 包](../compaction/README.zh.md),设计见 [能力 seam Agent Note](../../../.agents/notes/implemented/feature/2026-06-18-compaction-capability-seam.zh.md)。
|
|
8
8
|
|
|
9
9
|
## 拥有的职责
|
|
10
10
|
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
|
|
13
13
|
- **测量**:单例 `ctx.tokenMeter` 会在同一个已消费日志 revision 上,计量最新一份规范化已记录 envelope 与当前表层的 token 用量。因此,步骤边界的压力计量会包含实际系统提示词、工具、路由、assistant 完成、工具结果、缓冲上下文与 steering(中途引导)。
|
|
14
14
|
- **路由策略**:主动压力从拥有最新持久提供方/模型路由的适配器解析容量,再将默认策略与可选的精确目标覆盖缩放为具体 token 预算。模型发现仍仅供参考,不参与此处的策略解析。
|
|
15
|
-
- **不依赖模型的剪枝**:在压力或规范溢出符合条件后,可选的 [`ctx.toolResultPruner`](../compaction-tool-result-pruner/README.md) 服务会在选择范围之前改写超大工具结果。Compact-basic 通过 `ctx.tokenMeter` 重新测量;如果压力已回到安全范围,就跳过摘要,否则对已剪枝的表层进行摘要。低于压力的步骤检查绝不剪枝。
|
|
16
|
-
- **保留**:压缩最旧的完整表层单元,同时保留近期尾部,并通过 [`dsh-compaction` 边界 helper](../compaction/README.md#tool-pairing-boundaries) 将切分点调整到工具调用/结果配对平衡的位置。轮次边界不会保护失控轮次内的旧步骤。尚未闭合且不可分的尾部会在闭合前拒绝压缩。当闭合的超大工具单元以文本型结果为可移除主体时,可选 pruner 可以修复它;不可分的非工具单元与不可剪枝的工具剩余部分不在范围内。
|
|
15
|
+
- **不依赖模型的剪枝**:在压力或规范溢出符合条件后,可选的 [`ctx.toolResultPruner`](../compaction-tool-result-pruner/README.zh.md) 服务会在选择范围之前改写超大工具结果。Compact-basic 通过 `ctx.tokenMeter` 重新测量;如果压力已回到安全范围,就跳过摘要,否则对已剪枝的表层进行摘要。低于压力的步骤检查绝不剪枝。
|
|
16
|
+
- **保留**:压缩最旧的完整表层单元,同时保留近期尾部,并通过 [`dsh-compaction` 边界 helper](../compaction/README.zh.md#tool-pairing-boundaries) 将切分点调整到工具调用/结果配对平衡的位置。轮次边界不会保护失控轮次内的旧步骤。尚未闭合且不可分的尾部会在闭合前拒绝压缩。当闭合的超大工具单元以文本型结果为可移除主体时,可选 pruner 可以修复它;不可分的非工具单元与不可剪枝的工具剩余部分不在范围内。
|
|
17
17
|
- **收敛**:最多按 `compactionRetries` 重试头部检查点压缩;拒绝不能缩小源内容的摘要,如果重试仍无法回到阈值以下,则抛出异常。
|
|
18
18
|
- **摘要**:直接 `llm/stream` 调用使用已配置的提供方/模型对与上限,回退到最新已记录请求目标,然后再回退到 agent(智能体)目标,而不运行仅用于 agent loop 的 `agent/request` 扩展点。该调用会逐字回放会话自身的系统提示词、工具与已遮蔽区域消息(包括图片引用),并将压缩指令作为最后一条 user 消息追加,从而复用提供方的热前缀 cache,而非使它失效。所选适配器必须解析或明确拒绝这些图片。它将 `GenerateOptions.purpose` 设为 `compaction`,适配器可将其作为请求归因转发(DeepSeek 适配器发送 `x-deepseek-harness-compact: 1`),但不会触碰模型可见的请求体。只有返回的文本会进入检查点;推理(reasoning)和工具调用都会被排除,以免泄露私有推理或产生遗留调用;图片输出会以 `UNSUPPORTED_CONTENT` 失败,而不是消失。
|
|
19
19
|
- **框定**:替换 user 消息使用 `<compacted-summary>` 标签标记已建立的检查点上下文。原始摘要保留在 `compaction/summary` 事件上,后续自动周期会合并之前的检查点。
|
|
@@ -64,7 +64,7 @@ export function apply(ctx: Context): void {
|
|
|
64
64
|
}
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
加载插件会注册 `ctx.compaction`。在该插件之前添加同级 [`dsh-compaction-tool-result-pruner`](../compaction-tool-result-pruner/README.md) 以启用可选的不依赖模型的处理阶段。当 `auto: true`(默认)时,它会在 token 压力下自动压缩。同级 [`dsh-command-compact`](../command-compact/README.md) 调用 `ctx.compaction.compactNow(...)`;编程调用方也可以直接使用任一 seam 操作。
|
|
67
|
+
加载插件会注册 `ctx.compaction`。在该插件之前添加同级 [`dsh-compaction-tool-result-pruner`](../compaction-tool-result-pruner/README.zh.md) 以启用可选的不依赖模型的处理阶段。当 `auto: true`(默认)时,它会在 token 压力下自动压缩。同级 [`dsh-command-compact`](../command-compact/README.zh.md) 调用 `ctx.compaction.compactNow(...)`;编程调用方也可以直接使用任一 seam 操作。
|
|
68
68
|
|
|
69
69
|
例如,同一个压缩插件可以安全服务于容量不同的模型,并应用一项目标特定策略:
|
|
70
70
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-compaction-basic",
|
|
3
3
|
"description": "Token-meter-driven compaction policy and LLM summarization backend for the DeepSeek Harness",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.1-rc.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -32,14 +32,14 @@
|
|
|
32
32
|
],
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"peerDependencies": {
|
|
35
|
-
"@deepseek-ai/dsh-
|
|
36
|
-
"@deepseek-ai/dsh-
|
|
37
|
-
"@deepseek-ai/dsh-
|
|
38
|
-
"@deepseek-ai/dsh-
|
|
39
|
-
"@deepseek-ai/dsh-
|
|
40
|
-
"@deepseek-ai/dsh-
|
|
41
|
-
"@deepseek-ai/dsh-
|
|
42
|
-
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.
|
|
35
|
+
"@deepseek-ai/dsh-compaction": "^0.1.1-rc.2",
|
|
36
|
+
"@deepseek-ai/dsh-commands": "^0.1.1-rc.2",
|
|
37
|
+
"@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
|
|
38
|
+
"@deepseek-ai/dsh-llm": "^0.1.1-rc.2",
|
|
39
|
+
"@deepseek-ai/dsh-session": "^0.1.1-rc.2",
|
|
40
|
+
"@deepseek-ai/dsh-token-meter": "^0.1.1-rc.2",
|
|
41
|
+
"@deepseek-ai/dsh-agent": "^0.1.1-rc.2",
|
|
42
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.1-rc.2",
|
|
43
43
|
"@deepseek-ai/cordis": "^4.0.1"
|
|
44
44
|
},
|
|
45
45
|
"peerDependenciesMeta": {
|
|
@@ -52,19 +52,19 @@
|
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@deepseek-ai/cordis-plugin-include": "^1.0.6",
|
|
55
|
-
"@deepseek-ai/dsh-agent": "^0.1.0-rc.8",
|
|
56
55
|
"@deepseek-ai/cordis-plugin-loader": "^1.0.2",
|
|
57
|
-
"@deepseek-ai/dsh-agent-loop": "^0.1.
|
|
58
|
-
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.
|
|
59
|
-
"@deepseek-ai/dsh-compaction": "^0.1.
|
|
60
|
-
"@deepseek-ai/dsh-
|
|
61
|
-
"@deepseek-ai/dsh-
|
|
62
|
-
"@deepseek-ai/dsh-
|
|
63
|
-
"@deepseek-ai/dsh-llm-retry": "^0.1.
|
|
64
|
-
"@deepseek-ai/dsh-
|
|
65
|
-
"@deepseek-ai/dsh-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-
|
|
68
|
-
"@deepseek-ai/cordis": "^4.0.1"
|
|
56
|
+
"@deepseek-ai/dsh-agent-loop": "^0.1.1-rc.2",
|
|
57
|
+
"@deepseek-ai/dsh-agent-loop-testkit": "^0.1.1-rc.2",
|
|
58
|
+
"@deepseek-ai/dsh-compaction": "^0.1.1-rc.2",
|
|
59
|
+
"@deepseek-ai/dsh-agent": "^0.1.1-rc.2",
|
|
60
|
+
"@deepseek-ai/dsh-commands": "^0.1.1-rc.2",
|
|
61
|
+
"@deepseek-ai/dsh-invariants": "^0.1.1-rc.2",
|
|
62
|
+
"@deepseek-ai/dsh-llm-retry": "^0.1.1-rc.2",
|
|
63
|
+
"@deepseek-ai/dsh-token-meter": "^0.1.1-rc.2",
|
|
64
|
+
"@deepseek-ai/dsh-session": "^0.1.1-rc.2",
|
|
65
|
+
"@deepseek-ai/dsh-tools": "^0.1.1-rc.2",
|
|
66
|
+
"@deepseek-ai/dsh-compaction-tool-result-pruner": "^0.1.1-rc.2",
|
|
67
|
+
"@deepseek-ai/cordis": "^4.0.1",
|
|
68
|
+
"@deepseek-ai/dsh-llm": "^0.1.1-rc.2"
|
|
69
69
|
}
|
|
70
70
|
}
|