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
+37-38Lines changed: 37 additions & 38 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -60,9 +60,35 @@ DCP uses its own config file:
60
60
"enabled":true,
61
61
// Enable debug logging to ~/.config/opencode/logs/dcp/
62
62
"debug":false,
63
-
// Summary display: "off", "minimal", or "detailed"
64
-
"pruningSummary":"detailed",
65
-
// Strategies for pruning tokens from chat history
63
+
// Notification display: "off", "minimal", or "detailed"
64
+
"pruneNotification":"detailed",
65
+
// Protect from pruning for <turns> message turns
66
+
"turnProtection": {
67
+
"enabled":false,
68
+
"turns":4
69
+
},
70
+
// LLM-driven context pruning tools
71
+
"tools": {
72
+
// Shared settings for all prune tools
73
+
"settings": {
74
+
// Nudge the LLM to use prune tools (every <nudgeFrequency> tool results)
75
+
"nudgeEnabled":true,
76
+
"nudgeFrequency":10,
77
+
// Additional tools to protect from pruning
78
+
"protectedTools": []
79
+
},
80
+
// Removes tool content from context without preservation (for completed tasks or noise)
81
+
"discard": {
82
+
"enabled":true
83
+
},
84
+
// Distills key findings into preserved knowledge before removing raw content
85
+
"extract": {
86
+
"enabled":true,
87
+
// Show distillation content as an ignored message notification
88
+
"showDistillation":false
89
+
}
90
+
},
91
+
// Automatic pruning strategies
66
92
"strategies": {
67
93
// Remove duplicate tool calls (same tool with same arguments)
68
94
"deduplication": {
@@ -74,40 +100,6 @@ DCP uses its own config file:
74
100
"supersedeWrites": {
75
101
"enabled":true
76
102
},
77
-
// Removes tool content from context without preservation (for completed tasks or noise)
78
-
"discardTool": {
79
-
"enabled":true,
80
-
// Additional tools to protect from pruning
81
-
"protectedTools": [],
82
-
// Protect from pruning for <turn protection> message turns
83
-
"turnProtection": {
84
-
"enabled":false,
85
-
"turns":4
86
-
},
87
-
// Nudge the LLM to use the discard tool (every <frequency> tool results)
88
-
"nudge": {
89
-
"enabled":true,
90
-
"frequency":10
91
-
}
92
-
},
93
-
// Distills key findings into preserved knowledge before removing raw content
94
-
"extractTool": {
95
-
"enabled":true,
96
-
// Additional tools to protect from pruning
97
-
"protectedTools": [],
98
-
// Protect from pruning for <turn protection> message turns
99
-
"turnProtection": {
100
-
"enabled":false,
101
-
"turns":4
102
-
},
103
-
// Nudge the LLM to use the extract tool (every <frequency> tool results)
104
-
"nudge": {
105
-
"enabled":true,
106
-
"frequency":10
107
-
},
108
-
// Show distillation content as an ignored message notification
109
-
"showDistillation":false
110
-
},
111
103
// (Legacy) Run an LLM to analyze what tool calls are no longer relevant on idle
112
104
"onIdle": {
113
105
"enabled":false,
@@ -126,12 +118,19 @@ DCP uses its own config file:
126
118
127
119
</details>
128
120
121
+
### Turn Protection
122
+
123
+
When enabled, turn protection prevents tool outputs from being pruned for a configurable number of message turns. This gives the AI time to reference recent tool outputs before they become prunable. Applies to both `discard` and `extract` tools, as well as automatic strategies.
124
+
129
125
### Protected Tools
130
126
131
127
By default, these tools are always protected from pruning across all strategies:
0 commit comments