Skip to content

Commit 85797a7

Browse files
feat: Add Intelligent Context Condensing feature and enable by default (#215)
- Introduced Intelligent Context Condensing documentation with setup instructions and configuration options. - Updated experimental features list to reflect the new feature. - Enhanced context condensing functionality with improved UI and metrics. - Streamlined navigation by reorganizing modes and settings. - Added new release notes for versions 3.19.0 and 3.19, highlighting key updates and bug fixes. - Improved sidebar configuration to include new context condensing feature. - Added images for context condensing UI.
1 parent 69882d7 commit 85797a7

17 files changed

+498
-112
lines changed

.roomodes

Lines changed: 275 additions & 35 deletions
Large diffs are not rendered by default.

docs/features/experimental/codebase-indexing.mdx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,35 @@ Choose one of these options for generating embeddings:
4444
- Supports any Ollama-compatible embedding model
4545
- Requires Ollama base URL configuration
4646

47+
### Setting Up Ollama for Embeddings
48+
49+
1. **Install Ollama**
50+
- **macOS**: `brew install ollama` or download from [ollama.com](https://ollama.com)
51+
- **Linux**: `curl -fsSL https://ollama.com/install.sh | sh`
52+
- **Windows**: Download installer from [ollama.com](https://ollama.com)
53+
54+
2. **Start Ollama Service**
55+
```bash
56+
ollama serve
57+
```
58+
This starts Ollama on `http://localhost:11434` (default port)
59+
60+
3. **Install Embedding Model**
61+
```bash
62+
ollama pull nomic-embed-text
63+
```
64+
This downloads the recommended embedding model (~274MB)
65+
66+
4. **Verify Installation**
67+
```bash
68+
ollama list
69+
```
70+
You should see `nomic-embed-text` in the list
71+
72+
5. **Configure in Roo Code**
73+
- Set Ollama Base URL: `http://localhost:11434`
74+
- Select Model: `nomic-embed-text`
75+
4776
### Vector Database
4877

4978
**Qdrant** is required for storing and searching embeddings:

docs/features/experimental/experimental-features.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ To enable or disable experimental features:
1717
The following experimental features are currently available:
1818

1919
- [Codebase Indexing](/features/experimental/codebase-indexing) - Semantic search through AI-powered codebase indexing
20-
- [Intelligently Condense the Context Window](/features/experimental/intelligent-context-condensing)
2120
- [Power Steering](/features/experimental/power-steering)
2221

2322
## Providing Feedback

docs/features/experimental/intelligent-context-condensing.mdx renamed to docs/features/intelligent-context-condensing.mdx

Lines changed: 38 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,27 @@ sidebar_label: 'Intelligent Context Condensing'
33
---
44
import Codicon from '@site/src/components/Codicon';
55

6-
# Intelligent Context Condensing (Experimental)
7-
8-
The Intelligent Context Condensing feature helps manage long conversations by summarizing earlier parts of the dialogue. This prevents important information from being lost when the context window nears its limit. This is an **experimental feature** and is **disabled by default**.
9-
10-
<div style={{width: '50%', margin: 'auto'}}>
11-
<div style={{position: 'relative', paddingBottom: '177.77%', height: 0, overflow: 'hidden'}}>
12-
<iframe
13-
src="https://www.youtube.com/embed/o5xgO9N8vVU"
14-
title="YouTube Short"
15-
frameBorder="0"
16-
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
17-
allowFullScreen
18-
style={{position: 'absolute', top: 0, left: 0, width: '100%', height: '100%'}}
19-
></iframe>
20-
</div>
6+
# Intelligent Context Condensing
7+
8+
The Intelligent Context Condensing feature helps manage long conversations by summarizing earlier parts of the dialogue. This prevents important information from being lost when the context window nears its limit. This feature is **enabled by default**.
9+
10+
<div style={{ position: 'relative', paddingBottom: '56.25%', height: 0, overflow: 'hidden' }}>
11+
<iframe
12+
src="https://www.youtube.com/embed/9k8OAXlszak"
13+
style={{
14+
position: 'absolute',
15+
top: 0,
16+
left: 0,
17+
width: '100%',
18+
height: '100%',
19+
}}
20+
frameBorder="0"
21+
allow="autoplay; encrypted-media"
22+
allowFullScreen
23+
></iframe>
2124
</div>
25+
26+
<br />
2227
## How It Works
2328

2429
As your conversation with Roo Code grows, it might approach the context window limit of the underlying AI model. When this happens, older messages would typically be removed to make space. Intelligent Context Condensing aims to prevent this abrupt loss by:
@@ -31,29 +36,32 @@ As your conversation with Roo Code grows, it might approach the context window l
3136
* **Summarization Impact:** While original messages are preserved if you use [Checkpoints](/features/checkpoints) to rewind, the summarized version is what's used in ongoing LLM calls to keep the context manageable.
3237
* **Cost:** The AI call to perform the summarization incurs a cost. This cost is included in the context condensing metrics displayed in the UI.
3338

34-
## Enabling This Feature
39+
## Configuration
3540

36-
As an experimental feature, Intelligent Context Condensing is **disabled by default**.
41+
Intelligent Context Condensing is **enabled by default** and offers several configuration options:
3742

3843
1. Open Roo Code settings (<Codicon name="gear" /> icon in the top right corner of the Roo Code panel).
39-
2. Navigate to the "Experimental" section.
40-
3. Toggle the "Automatically trigger intelligent context condensing" (`autoCondenseContext`) option to enable it.
41-
4. Optionally, adjust the "Threshold to trigger intelligent context condensing" (`autoCondenseContextPercent`) slider to control the trigger point for automatic context condensing.
42-
5. Save your changes.
43-
44-
<img src="/img/intelligent-context-condensation/intelligent-context-condensation-1.png" alt="Settings for Intelligent Context Condensing" width="600" />
45-
*The image above shows settings for Intelligent Context Condensing: the toggle to "Automatically trigger intelligent context condensing" and the "Threshold to trigger intelligent context condensing" slider.*
46-
44+
2. Navigate to the "Context" settings section.
45+
3. Configure the available options:
46+
- **Automatically trigger intelligent context condensing**: Enabled by default, this controls whether condensing happens automatically
47+
- **Threshold to trigger intelligent context condensing**: A percentage slider (default 100%) that determines when condensing activates based on context window usage
48+
- **API Configuration for Context Condensing**: Choose which API configuration to use for condensing operations (defaults to your current active configuration)
49+
- **Custom Context Condensing Prompt**: Customize the system prompt used for context condensing operations
50+
51+
<img src="/img/intelligent-context-condensing/intelligent-context-condensing.png" alt="Settings for Intelligent Context Condensing" width="600" />
52+
*Intelligent Context Condensing configuration options: automatic triggering toggle, threshold slider, API configuration selection, and custom prompt customization.*
4753
## Controlling and Understanding Context Condensing
4854

4955
Roo Code provides several ways to control and understand the Intelligent Context Condensing feature:
5056

5157
### Controlling Context Condensing
52-
* **Automatic Threshold:** In Roo Code Settings (<Codicon name="gear" />) > "Experimental," the `autoCondenseContextPercent` setting allows you to define a percentage (e.g., 80%). Roo Code will attempt to condense the context automatically when the conversation reaches this level of the context window's capacity.
53-
* **Manual Trigger:** A **Condense Context** button (<Codicon name="fold" /> icon) is available when a task is expanded, typically located at the bottom of the task view, next to other task action icons like the trash can. This allows you to initiate the context condensing process at any time.
58+
* **Automatic Threshold:** The threshold slider in "Context" settings allows you to define a percentage (e.g., 80%) of context window usage. Roo Code will attempt to condense the context automatically when the conversation reaches this level of capacity.
59+
* **API Configuration:** Select which API configuration to use for context condensing operations. This allows you to use a different provider or model specifically for condensing if desired.
60+
* **Custom Prompts:** Modify the system prompt used for condensing to better suit your workflow or to emphasize certain aspects of conversation summarization.
61+
* **Manual Trigger:** A **Condense Context** button is available at the top of the task, positioned to the right of the context bar. This allows you to initiate the context condensing process at any time.
5462

55-
<img src="/img/intelligent-context-condensation/intelligent-context-condensation-2.png" alt="Manual Condense Context button in expanded task view" width="600" />
56-
*The Manual Condense Context button (highlighted with a yellow arrow) appears in the expanded task view.*
63+
<img src="/img/intelligent-context-condensing/intelligent-context-condensing-1.png" alt="Manual Condense Context button in expanded task view" width="600" />
64+
*The Manual Condense Context button (highlighted with a yellow arrow) is easily accessible for manual control.*
5765

5866
### Understanding Context Condensing Activity
5967
* **Context Condensing Metrics:** When context condensing occurs, Roo Code displays:
@@ -72,13 +80,7 @@ Roo Code provides several ways to control and understand the Intelligent Context
7280

7381
* The task header also displays the current context condensing status.
7482
* The `ContextWindowProgress` bar offers a visual representation of token distribution, including current usage, space reserved for the AI's output, available space, and raw token numbers.
75-
* **Interface Clarity:** The "Condense Context" button includes a tooltip explaining its function, available in all supported languages. The icon for context condensing-related actions is `codicon-compress`.
76-
77-
### Accurate Token Information
78-
* Roo Code employs accurate token counting methods, with some AI providers utilizing their native token counting endpoints. This ensures that context size and associated costs are calculated reliably.
79-
80-
### Internationalization
81-
* All user interface elements for this feature, such as button labels, tooltips, status messages, and settings descriptions, are available in multiple supported languages.
83+
* **Interface Clarity:** The "Condense Context" button includes a tooltip explaining its function, available in all supported languages.
8284

8385
## Technical Implementation
8486

@@ -96,24 +98,3 @@ Roo Code uses a sophisticated token counting system that:
9698
- This reservation can be overridden by model-specific settings
9799
- The system automatically calculates available space while maintaining this reservation
98100

99-
## Performance Considerations
100-
101-
### Optimization
102-
- The system optimizes token counting to minimize performance impact
103-
- Token calculations are cached where possible
104-
- Background processing prevents UI blocking during context condensing
105-
106-
### Resource Usage
107-
- Context condensing operations are performed asynchronously
108-
- The UI remains responsive during the process
109-
- System resources are managed to prevent excessive memory usage
110-
111-
## Feedback
112-
113-
Your experience with experimental features is valuable. When reporting issues, please include:
114-
- The current threshold setting
115-
- The token counts before and after context condensing
116-
- Any error messages displayed
117-
- Steps to reproduce the issue
118-
119-
Please report any issues or suggestions regarding Intelligent Context Condensing on the [Roo Code GitHub Issues page](https://github.com/RooCodeInc/Roo-Code/issues).

docs/update-notes/index.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@
22

33
This section contains notes about recent updates to Roo Code, listed by version number.
44

5+
## Version 3.19
6+
7+
* [3.19.0](/update-notes/v3.19.0) (2025-05-30)
8+
* [3.19](/update-notes/v3.19) (2025-05-30)
9+
510
## Version 3.18
611

12+
* [3.18.5](/update-notes/v3.18.5) (2025-05-27)
713
* [3.18.4](/update-notes/v3.18.4) (2025-05-25)
814
* [3.18.3](/update-notes/v3.18.3) (2025-05-24)
915
* [3.18.2](/update-notes/v3.18.2) (2025-05-23)

docs/update-notes/v3.17.0.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Here's how it works:
3535

3636
<img src="/img/intelligent-context-condensation/intelligent-context-condensation.png" alt="Settings for Intelligent Context Condensation" width="600" />
3737

38-
For more details on this experimental feature, including how to enable it, please see the [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing).
38+
For more details on this feature, please see the [Intelligent Context Condensing documentation](/features/intelligent-context-condensing).
3939

4040
## Smoother Chat and Fewer Interruptions! (thanks Cline!)
4141

docs/update-notes/v3.17.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Here's how it works:
3535

3636
<img src="/img/intelligent-context-condensation/intelligent-context-condensation.png" alt="Settings for Intelligent Context Condensation" width="600" />
3737

38-
For more details on this experimental feature, including how to enable it, please see the [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing).
38+
For more details on this feature, please see the [Intelligent Context Condensing documentation](/features/intelligent-context-condensing).
3939

4040
## Smoother Chat and Fewer Interruptions! (thanks Cline!)
4141

docs/update-notes/v3.18.0.mdx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
This release introduces comprehensive context condensing improvements, YAML support for custom modes, new AI model integrations, and numerous quality-of-life improvements and bug fixes.
44

5-
## Context Condensing Upgrades (Experimental)
6-
Our **experimental** Intelligent Context Condensing feature sees significant enhancements for better control and clarity. Remember, these are **disabled by default** (enable in Settings (⚙️) > "Experimental").
5+
## Context Condensing Upgrades
6+
Our Intelligent Context Condensing feature sees significant enhancements for better control and clarity. **Note**: As of version 3.19.0, this feature is enabled by default.
77

88
Watch a quick overview:
99
<div style={{width: '50%', margin: 'auto'}}>
@@ -19,11 +19,11 @@ Watch a quick overview:
1919
</div>
2020
</div>
2121
Key updates:
22-
* **Adjustable Condensing Threshold & Manual Control**: Fine-tune automatic condensing or trigger it manually. [Learn more](/features/experimental/intelligent-context-condensing#controlling-context-condensing).
23-
* **Clear UI Indicators**: Better visual feedback during condensing. [Details](/features/experimental/intelligent-context-condensing#understanding-context-condensing-activity).
24-
* **Accurate Token Counting**: Improved accuracy for context and cost calculations. [More info](/features/experimental/intelligent-context-condensing#accurate-token-information).
22+
* **Adjustable Condensing Threshold & Manual Control**: Fine-tune automatic condensing or trigger it manually. [Learn more](/features/intelligent-context-condensing#controlling-context-condensing).
23+
* **Clear UI Indicators**: Better visual feedback during condensing. [Details](/features/intelligent-context-condensing#understanding-context-condensing-activity).
24+
* **Accurate Token Counting**: Improved accuracy for context and cost calculations. [More info](/features/intelligent-context-condensing#accurate-token-information).
2525

26-
For full details, see the main [Intelligent Context Condensing documentation](/features/experimental/intelligent-context-condensing).
26+
For full details, see the main [Intelligent Context Condensing documentation](/features/intelligent-context-condensing).
2727

2828

2929
## Custom Modes: YAML Support

docs/update-notes/v3.18.2.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This release introduces context condensing enhancements and several important bu
44

55
## Context Condensing Enhancements
66

7-
Enhanced the experimental context condensing feature with new settings and improved functionality:
7+
Enhanced the context condensing feature with new settings and improved functionality:
88

99
* **Advanced Controls**: New experimental settings for fine-tuning conversation compression behavior
1010
* **Improved Compression**: Better conversation summarization while preserving important context

docs/update-notes/v3.18.5.mdx

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Roo Code 3.18.5 Release Notes (2025-05-27)
2+
3+
This release brings enhanced provider support, improved localization, and telemetry re-enablement.
4+
5+
## Provider Updates
6+
7+
* **Requesty Thinking Controls**: Add thinking controls for [Requesty provider](/providers/requesty) (thanks dtrugman!)
8+
* **LiteLLM Metadata**: Improve model metadata for [LiteLLM provider](/providers/litellm)
9+
10+
## QOL Improvements
11+
12+
* **Traditional Chinese Locale**: Improve zh-TW Traditional Chinese locale (thanks PeterDaveHello and chrarnoldus!)
13+
14+
## Misc Improvements
15+
16+
* **Telemetry**: Re-enable telemetry
17+
18+
Thank you to all our contributors for making Roo Code better with each release!

0 commit comments

Comments
 (0)