You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,13 +32,13 @@ DCP uses two complementary techniques:
32
32
33
33
**Automatic Deduplication** — Silently identifies repeated tool calls (e.g., reading the same file multiple times) and keeps only the most recent output. Runs on every request with zero LLM cost.
34
34
35
-
**AI Analysis** — Uses a language model to semantically analyze conversation context and identify tool outputs that are no longer relevant to the current task. More thorough but incurs LLM cost. Configurable via `strategies`.
35
+
**AI Analysis** — Uses a language model to semantically analyze conversation context and identify tool outputs that are no longer relevant to the current task.
36
36
37
37
## Context Pruning Tool
38
38
39
39
When `strategies.onTool` is enabled, DCP exposes a `prune` tool to Opencode that the AI can call to trigger pruning on demand.
40
40
41
-
When`nudge_freq`is enabled, injects reminders (every `nudge_freq` tool results) prompting the AI to consider pruning when appropriate.
41
+
Adjust`nudge_freq`to control how aggressively the AI is prompted to prune — lower values trigger reminders sooner and more often.
42
42
43
43
## How It Works
44
44
@@ -66,11 +66,11 @@ DCP uses its own config file (`~/.config/opencode/dcp.jsonc` or `.opencode/dcp.j
66
66
|`strictModelSelection`|`false`| Only run AI analysis with session or configured model (disables fallback models) |
67
67
|`pruning_summary`|`"detailed"`|`"off"`, `"minimal"`, or `"detailed"`|
68
68
|`nudge_freq`|`10`| How often to remind AI to prune (lower = more frequent) |
69
-
|`protectedTools`|`["task", "todowrite", "todoread", "prune"]`| Tools that are never pruned |
69
+
|`protectedTools`|`["task", "todowrite", "todoread", "prune", "batch", "edit", "write"]`| Tools that are never pruned |
70
70
|`strategies.onIdle`|`["ai-analysis"]`| Strategies for automatic pruning |
71
71
|`strategies.onTool`|`["ai-analysis"]`| Strategies when AI calls `prune`|
72
72
73
-
**Strategies:**`"ai-analysis"` uses LLM to identify prunable outputs. Empty array disables that trigger. Deduplication runs automatically on every request.
73
+
**Strategies:**`"ai-analysis"` uses LLM to identify prunable outputs. Empty array disables that trigger. Deduplication always runs automatically. More strategies coming soon.
74
74
75
75
```jsonc
76
76
{
@@ -79,7 +79,7 @@ DCP uses its own config file (`~/.config/opencode/dcp.jsonc` or `.opencode/dcp.j
0 commit comments