mirror of
https://github.com/Kilo-Org/kilocode.git
synced 2026-08-31 01:37:28 +08:00
docs(kilo-docs): sync recent opencode user docs (#9661)
Co-authored-by: kiloconnect[bot] <240665456+kiloconnect[bot]@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
365b85b100
commit
d1998e8f0d
@@ -66,6 +66,12 @@ Then set your default model:
|
||||
{% /tab %}
|
||||
{% /tabs %}
|
||||
|
||||
## Reasoning Variants
|
||||
|
||||
Mistral's adjustable reasoning support is exposed only for reasoning-capable Mistral Small 4 models: `mistral-small-2603` and `mistral-small-latest`. When one of these models is selected, Kilo offers a `high` variant that sends `reasoningEffort: "high"` to the Mistral provider.
|
||||
|
||||
Other Mistral models do not get automatic reasoning variants, even if they appear in the same provider. See Mistral's [adjustable reasoning documentation](https://docs.mistral.ai/capabilities/reasoning/adjustable) for provider-level details.
|
||||
|
||||
## Using Codestral
|
||||
|
||||
[Codestral](https://docs.mistral.ai/capabilities/code_generation/) is a model specifically designed for code generation and interaction.
|
||||
|
||||
@@ -24,7 +24,7 @@ Describe what you want to accomplish in natural language, and Kilo Code will:
|
||||
| Category | Purpose | Tool Names |
|
||||
|:---|:---|:---|
|
||||
| Read | Access file content and code structure | `read`, `glob`, `grep` |
|
||||
| Edit | Create or modify files and code | `edit`, `multiedit`, `write`, `apply_patch` |
|
||||
| Edit | Create or modify files and code | `edit`, `write`, `apply_patch` |
|
||||
| Execute | Run commands and perform system operations | `bash` |
|
||||
| Web | Fetch and search web content | `webfetch`, `websearch`, `codesearch` |
|
||||
| Workflow | Manage task flow and sub-agents | `question`, `task`, `todowrite`, `todoread`, `plan`, `skill` |
|
||||
@@ -103,8 +103,8 @@ Every tool use is subject to a permission check. The default action for any tool
|
||||
|
||||
| Tool(s) | Default |
|
||||
|:---|:---|
|
||||
| `read`, `glob`, `grep`, `list` | `ask` |
|
||||
| `edit`, `write`, `multiedit`, `apply_patch` | `ask` |
|
||||
| `read`, `glob`, `grep` | `ask` |
|
||||
| `edit`, `write`, `apply_patch` | `ask` |
|
||||
| `bash` | `ask` (per-command) |
|
||||
| `external_directory` | `ask` (when accessing paths outside the project) |
|
||||
| `task` | `ask` |
|
||||
@@ -160,7 +160,6 @@ This safety mechanism ensures you maintain control over which files are modified
|
||||
| `glob` | Finds files by glob pattern | Read |
|
||||
| `grep` | Searches file contents with regex | Read |
|
||||
| `edit` | Makes precise text replacements in a file | Edit |
|
||||
| `multiedit` | Multiple edits in a single call | Edit |
|
||||
| `write` | Creates new files or overwrites existing ones | Edit |
|
||||
| `apply_patch` | Applies unified diffs (used with certain models) | Edit |
|
||||
| `bash` | Runs shell commands | Execute |
|
||||
|
||||
@@ -19,7 +19,7 @@ Tools are organized into logical groups based on their functionality:
|
||||
| Category | Purpose | Tools | Common Use |
|
||||
|---|---|---|---|
|
||||
| **Read Group** | File system reading and searching | `read`, `glob`, `grep` | Code exploration and analysis |
|
||||
| **Edit Group** | File system modifications | `edit`, `multiedit`, `write`, `apply_patch` | Code changes and file manipulation |
|
||||
| **Edit Group** | File system modifications | `edit`, `write`, `apply_patch` | Code changes and file manipulation |
|
||||
| **Execute Group** | Shell command execution | `bash` | Running scripts, building projects |
|
||||
| **Web Group** | Fetch and search web content | `webfetch`, `websearch`, `codesearch` | Research, documentation lookup |
|
||||
| **Browser Group** | Web browser automation | `kilo-playwright_*` (via built-in Playwright MCP) | Browser testing and interaction |
|
||||
@@ -49,10 +49,11 @@ These tools help Kilo Code understand your code and project:
|
||||
These tools help Kilo Code make changes to your code:
|
||||
|
||||
- `edit` - Makes precise text replacements in a file
|
||||
- `multiedit` - Multiple edits in a single call
|
||||
- `write` - Creates new files or fully overwrites existing ones
|
||||
- `apply_patch` - Applies unified diffs (used with certain models)
|
||||
|
||||
For multiple replacements in one file, Kilo uses repeated `edit` calls or a patch-style edit when the model supports it.
|
||||
|
||||
### Execute Tools
|
||||
|
||||
These tools help Kilo Code run commands:
|
||||
|
||||
@@ -329,7 +329,7 @@ You can also set options that apply to all models from a provider:
|
||||
"options": {
|
||||
"apiKey": "{env:OPENAI_API_KEY}",
|
||||
"baseURL": "https://my-proxy.example.com/v1",
|
||||
"timeout": 120000,
|
||||
"timeout": 300000,
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -340,7 +340,7 @@ You can also set options that apply to all models from a provider:
|
||||
|---|---|---|
|
||||
| `apiKey` | `string` | API key (supports `{env:VAR}` syntax) |
|
||||
| `baseURL` | `string` | Override the provider's base API URL |
|
||||
| `timeout` | `number \| false` | Request timeout in milliseconds, or `false` to disable |
|
||||
| `timeout` | `number \| false` | Request timeout in milliseconds. Defaults to `300000` (5 minutes); set to `false` to disable |
|
||||
|
||||
## Filtering Available Models
|
||||
|
||||
|
||||
@@ -241,7 +241,7 @@ You can use `~` or `$HOME` at the start of a pattern to reference your home dire
|
||||
|
||||
### External Directories
|
||||
|
||||
Use `external_directory` to allow tool calls that touch paths outside the working directory where Kilo was started. This applies to any tool that takes a path as input (for example `read`, `edit`, `list`, `glob`, `grep`, and many bash commands).
|
||||
Use `external_directory` to allow tool calls that touch paths outside the working directory where Kilo was started. This applies to any tool that takes a path as input (for example `read`, `edit`, `glob`, `grep`, and many bash commands).
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -308,13 +308,56 @@ Common configuration options include:
|
||||
- **`mcp`** - MCP server configuration
|
||||
- **`permission`** - Tool permission settings (`allow` or `ask`)
|
||||
- **`instructions`** - Paths to instruction files (e.g., `["CONTRIBUTING.md", ".cursor/rules/*.md"]`)
|
||||
- **`formatter`** - Code formatter configuration
|
||||
- **`formatter`** - Code formatter configuration (`true`, `false`, or formatter-specific entries)
|
||||
- **`lsp`** - Language server configuration (`true`, `false`, or server-specific entries)
|
||||
- **`disabled_providers`** / **`enabled_providers`** - Control which providers are available
|
||||
|
||||
{% callout type="tip" %}
|
||||
**Using a model that's not in the built-in list?** You can register any model by adding it under `provider.<provider_id>.models` in your config file. See [Custom Models](/docs/code-with-ai/agents/custom-models) for full details and examples.
|
||||
{% /callout %}
|
||||
|
||||
### Formatter and LSP Toggles
|
||||
|
||||
Set `formatter` or `lsp` to `true` to use built-in defaults, or `false` to disable the feature completely:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"formatter": true,
|
||||
"lsp": false,
|
||||
}
|
||||
```
|
||||
|
||||
Both keys also accept object configuration for specific tools or language servers. Custom LSP server entries must include an `extensions` array unless the entry disables a built-in server:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"lsp": {
|
||||
"my-language-server": {
|
||||
"command": ["my-lsp", "--stdio"],
|
||||
"extensions": [".foo"],
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### TUI Keybindings on Windows
|
||||
|
||||
The TUI gives `Ctrl+Z` to input undo on Windows because native Windows terminals do not support POSIX terminal suspend. On Windows, `input_undo` defaults to `ctrl+z,ctrl+-,super+z` and `terminal_suspend` is disabled. On macOS and Linux, `terminal_suspend` defaults to `ctrl+z`.
|
||||
|
||||
### OpenTelemetry Export
|
||||
|
||||
Kilo telemetry is enabled by default and can be disabled with `experimental.openTelemetry = false`:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"experimental": {
|
||||
"openTelemetry": false,
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
If `OTEL_EXPORTER_OTLP_ENDPOINT` is set, the CLI exports OpenTelemetry traces and logs to that OTLP HTTP endpoint. You can also pass `OTEL_EXPORTER_OTLP_HEADERS` as comma-separated `key=value` pairs and `OTEL_RESOURCE_ATTRIBUTES` as comma-separated resource attributes. Request spans include `http.method`, `http.path`, route params such as `session.id` and `message.id`, and internal params under the `opencode.*` namespace.
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Use `{env:VARIABLE_NAME}` syntax in config files to reference environment variables:
|
||||
|
||||
@@ -22,15 +22,15 @@ Every AI model has a maximum context window — a limit on how much text it can
|
||||
|
||||
## The Solution: Auto-Compaction
|
||||
|
||||
Kilo Code uses a **Compaction** system to manage context automatically. When your conversation approaches the token limit, compaction kicks in and produces a structured summary that captures:
|
||||
Kilo Code uses a **Compaction** system to manage context automatically. When your conversation approaches the token limit, compaction kicks in and produces an anchored summary that captures:
|
||||
|
||||
- The overall goal of the session
|
||||
- Instructions given along the way
|
||||
- Key discoveries made
|
||||
- What has been accomplished so far
|
||||
- Constraints and preferences you gave along the way
|
||||
- Progress, key decisions, and next steps
|
||||
- Critical context needed to continue
|
||||
- Relevant files and directories
|
||||
|
||||
This summary replaces the earlier conversation history, freeing up context window space while maintaining continuity in your work.
|
||||
This summary replaces older conversation history while Kilo keeps the most recent turns verbatim when they fit. If a session has already been compacted, Kilo updates the previous summary instead of starting over, preserving still-relevant details and removing stale ones.
|
||||
|
||||
## How Compaction Triggers
|
||||
|
||||
@@ -60,6 +60,8 @@ You can trigger compaction at any time:
|
||||
|---|---|---|
|
||||
| `compaction.auto` | `true` | Automatically compact when the usable window is reached |
|
||||
| `compaction.prune` | `true` | Clear old tool outputs beyond the 40K recency window |
|
||||
| `compaction.tail_turns` | `2` | Keep the most recent user turns and their responses verbatim when possible |
|
||||
| `compaction.preserve_recent_tokens` | 25% of usable context, clamped between 2,000 and 8,000 tokens | Token budget for the verbatim recent tail |
|
||||
| `compaction.reserved` | `min(20,000, model_max_output_tokens)` | Token headroom kept free for the next turn — also defines the compaction trigger point |
|
||||
|
||||
## Configuration
|
||||
@@ -71,6 +73,8 @@ Compaction is configured in your `kilo.jsonc` file:
|
||||
"compaction": {
|
||||
"auto": true, // Enable or disable automatic compaction
|
||||
"prune": true, // Enable pruning of old tool outputs beyond the recency window
|
||||
"tail_turns": 2, // Recent user turns to keep verbatim during compaction
|
||||
"preserve_recent_tokens": 8000, // Maximum token budget for the recent tail
|
||||
"reserved": 20000, // Token buffer kept free; smaller = later trigger, larger = earlier trigger
|
||||
},
|
||||
}
|
||||
@@ -80,6 +84,8 @@ Compaction is configured in your `kilo.jsonc` file:
|
||||
|---|---|---|---|
|
||||
| `compaction.auto` | boolean | `true` | Enable or disable automatic compaction when the usable window is reached |
|
||||
| `compaction.prune` | boolean | `true` | Enable pruning of old tool outputs outside the 40K token recency window |
|
||||
| `compaction.tail_turns` | number | `2` | Number of recent user turns, including following assistant and tool responses, to keep verbatim during compaction |
|
||||
| `compaction.preserve_recent_tokens` | number | 25% of usable context, clamped between 2,000 and 8,000 tokens | Maximum token budget for recent turns kept verbatim after compaction |
|
||||
| `compaction.reserved` | number | `min(20000, model_max_output)` | Token headroom reserved for the next turn. Applies only to models that advertise a separate input limit; models with a single context window use their full output cap as the reserve instead. |
|
||||
|
||||
### Use a different model for compaction
|
||||
@@ -111,15 +117,15 @@ If no compaction agent is set, the current session's model is used.
|
||||
|
||||
## The Solution: Auto-Compaction
|
||||
|
||||
Kilo CLI uses a **Compaction** system to manage context automatically. When your conversation approaches the token limit, compaction kicks in and produces a structured summary that captures:
|
||||
Kilo CLI uses a **Compaction** system to manage context automatically. When your conversation approaches the token limit, compaction kicks in and produces an anchored summary that captures:
|
||||
|
||||
- The overall goal of the session
|
||||
- Instructions given along the way
|
||||
- Key discoveries made
|
||||
- What has been accomplished so far
|
||||
- Constraints and preferences you gave along the way
|
||||
- Progress, key decisions, and next steps
|
||||
- Critical context needed to continue
|
||||
- Relevant files and directories
|
||||
|
||||
This summary replaces the earlier conversation history, freeing up context window space while maintaining continuity in your work.
|
||||
This summary replaces older conversation history while Kilo keeps the most recent turns verbatim when they fit. If a session has already been compacted, Kilo updates the previous summary instead of starting over, preserving still-relevant details and removing stale ones.
|
||||
|
||||
## How Compaction Triggers
|
||||
|
||||
@@ -148,6 +154,8 @@ You can trigger compaction at any time:
|
||||
|---|---|---|
|
||||
| `compaction.auto` | `true` | Automatically compact when the usable window is reached |
|
||||
| `compaction.prune` | `true` | Clear old tool outputs beyond the 40K recency window |
|
||||
| `compaction.tail_turns` | `2` | Keep the most recent user turns and their responses verbatim when possible |
|
||||
| `compaction.preserve_recent_tokens` | 25% of usable context, clamped between 2,000 and 8,000 tokens | Token budget for the verbatim recent tail |
|
||||
| `compaction.reserved` | `min(20,000, model_max_output_tokens)` | Token headroom kept free for the next turn — also defines the compaction trigger point |
|
||||
|
||||
## Configuration
|
||||
@@ -159,6 +167,8 @@ Compaction is configured in your `kilo.jsonc` file:
|
||||
"compaction": {
|
||||
"auto": true, // Enable or disable automatic compaction
|
||||
"prune": true, // Enable pruning of old tool outputs beyond the recency window
|
||||
"tail_turns": 2, // Recent user turns to keep verbatim during compaction
|
||||
"preserve_recent_tokens": 8000, // Maximum token budget for the recent tail
|
||||
"reserved": 20000, // Token buffer kept free; smaller = later trigger, larger = earlier trigger
|
||||
},
|
||||
}
|
||||
@@ -168,6 +178,8 @@ Compaction is configured in your `kilo.jsonc` file:
|
||||
|---|---|---|---|
|
||||
| `compaction.auto` | boolean | `true` | Enable or disable automatic compaction when the usable window is reached |
|
||||
| `compaction.prune` | boolean | `true` | Enable pruning of old tool outputs outside the 40K token recency window |
|
||||
| `compaction.tail_turns` | number | `2` | Number of recent user turns, including following assistant and tool responses, to keep verbatim during compaction |
|
||||
| `compaction.preserve_recent_tokens` | number | 25% of usable context, clamped between 2,000 and 8,000 tokens | Maximum token budget for recent turns kept verbatim after compaction |
|
||||
| `compaction.reserved` | number | `min(20000, model_max_output)` | Token headroom reserved for the next turn. Applies only to models that advertise a separate input limit; models with a single context window use their full output cap as the reserve instead. |
|
||||
|
||||
### Use a different model for compaction
|
||||
|
||||
@@ -151,7 +151,7 @@ permission:
|
||||
read: allow
|
||||
```
|
||||
|
||||
Known permission types include: `read`, `edit`, `bash`, `glob`, `grep`, `list`, `task`, `webfetch`, `websearch`, `codesearch`, `todowrite`, `todoread`, and more.
|
||||
Known permission types include: `read`, `edit`, `bash`, `glob`, `grep`, `task`, `webfetch`, `websearch`, `codesearch`, `todowrite`, `todoread`, and more.
|
||||
|
||||
### `model`
|
||||
|
||||
@@ -387,7 +387,7 @@ permission:
|
||||
read: allow
|
||||
```
|
||||
|
||||
Known permission types include: `read`, `edit`, `bash`, `glob`, `grep`, `list`, `task`, `webfetch`, `websearch`, `codesearch`, `todowrite`, `todoread`, and more.
|
||||
Known permission types include: `read`, `edit`, `bash`, `glob`, `grep`, `task`, `webfetch`, `websearch`, `codesearch`, `todowrite`, `todoread`, and more.
|
||||
|
||||
### `model`
|
||||
|
||||
|
||||
@@ -44,7 +44,6 @@ The Auto Approve tab lists the following tool-specific permissions. Some tools a
|
||||
| `edit` | Editing existing files |
|
||||
| `glob` | File pattern matching / searching by name |
|
||||
| `grep` | Searching file contents by regex |
|
||||
| `list` | Listing directory contents |
|
||||
| `task` | Launching sub-agents |
|
||||
| `skill` | Loading specialized skills |
|
||||
| `lsp` | Language server protocol operations |
|
||||
@@ -109,7 +108,6 @@ Permissions are configured under the `permission` key in `kilo.jsonc`. The follo
|
||||
| `edit` | Editing existing files |
|
||||
| `glob` | File pattern matching / searching by name |
|
||||
| `grep` | Searching file contents by regex |
|
||||
| `list` | Listing directory contents |
|
||||
| `task` | Launching sub-agents |
|
||||
| `skill` | Loading specialized skills |
|
||||
| `lsp` | Language server protocol operations |
|
||||
|
||||
@@ -171,6 +171,7 @@ Available experimental toggles include:
|
||||
- **LSP integration** — expose language server diagnostics to the agent
|
||||
- **Paste summary** — summarize large clipboard pastes before including them
|
||||
- **Batch tool** — allow the agent to batch multiple tool calls in one step
|
||||
- **OpenTelemetry** — enable Kilo telemetry and optional OTLP export when configured
|
||||
|
||||
Advanced options not exposed in the UI can be configured via the `experimental` key in `kilo.jsonc`:
|
||||
|
||||
@@ -179,6 +180,7 @@ Advanced options not exposed in the UI can be configured via the `experimental`
|
||||
"experimental": {
|
||||
"codebase_search": true,
|
||||
"batch_tool": false,
|
||||
"openTelemetry": true,
|
||||
"disable_paste_summary": false,
|
||||
"mcp_timeout": 30000
|
||||
}
|
||||
@@ -190,7 +192,9 @@ Refer to the auto-generated `$schema` in your `kilo.jsonc` for the full list of
|
||||
{% /tab %}
|
||||
{% tab label="CLI" %}
|
||||
|
||||
The CLI does not currently expose the same experimental feature toggles as the **VSCode (Legacy)** version. Configuration of model behavior, file editing strategies, and other advanced options is handled directly in the JSONC config files. Refer to the auto-generated `$schema` in your `kilo.jsonc` for the full list of available options.
|
||||
The CLI does not currently expose the same experimental feature toggles as the **VSCode (Legacy)** version. Configuration of model behavior, file editing strategies, telemetry, and other advanced options is handled directly in the JSONC config files. Refer to the auto-generated `$schema` in your `kilo.jsonc` for the full list of available options.
|
||||
|
||||
Telemetry is enabled by default. Set `experimental.openTelemetry` to `false` in `kilo.jsonc` to opt out. If `OTEL_EXPORTER_OTLP_ENDPOINT` is set in the environment, the CLI also exports OpenTelemetry traces and logs to that OTLP HTTP endpoint.
|
||||
|
||||
{% /tab %}
|
||||
{% tab label="VSCode (Legacy)" %}
|
||||
|
||||
Reference in New Issue
Block a user