Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/compaction-model-models-tab.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"kilo-code": patch
---

Move the compaction model setting to the Models settings tab and link to it from the Compaction section.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@ import { IconButton } from "@kilocode/kilo-ui/icon-button"
import { useConfig } from "../../context/config"
import { useLanguage } from "../../context/language"
import { useMemory } from "../../context/memory"
import { parseModelString } from "../../../../src/shared/provider-model"
import { ModelSelectorBase } from "../shared/ModelSelector"
import SettingsRow from "./SettingsRow"

const ContextTab: Component = () => {
const ContextTab: Component<{ onNavigateToModels?: () => void }> = (props) => {
const { config, updateConfig } = useConfig()
const memory = useMemory()
const language = useLanguage()
Expand Down Expand Up @@ -141,24 +139,6 @@ const ContextTab: Component = () => {
{language.t("settings.context.autoCompaction.title")}
</Switch>
</SettingsRow>
<SettingsRow
title={language.t("settings.context.compactionModel.title")}
description={language.t("settings.context.compactionModel.description")}
>
<ModelSelectorBase
value={parseModelString(config().agent?.compaction?.model ?? undefined)}
onSelect={(providerID, modelID) =>
updateConfig({
agent: { compaction: { model: providerID && modelID ? `${providerID}/${modelID}` : null } },
})
}
placement="bottom-start"
allowClear
clearLabel={language.t("settings.context.compactionModel.useChatModel")}
label={language.t("settings.context.compactionModel.title")}
description={language.t("settings.context.compactionModel.description")}
/>
</SettingsRow>
<SettingsRow
title={language.t("settings.context.compactionLimit.title")}
description={language.t("settings.context.compactionLimit.description")}
Expand Down Expand Up @@ -192,6 +172,30 @@ const ContextTab: Component = () => {
</Switch>
</SettingsRow>
</Card>
<p
data-slot="context-models-hint"
style={{
"margin-top": "8px",
"font-size": "var(--kilo-font-size-12)",
"text-align": "right",
color: "var(--text-weak-base, var(--vscode-descriptionForeground))",
}}
>
<a
href="#"
style={{
color: "var(--vscode-textLink-foreground)",
"text-decoration": "none",
cursor: "pointer",
}}
onClick={(e) => {
e.preventDefault()
props.onNavigateToModels?.()
}}
>
{language.t("settings.context.compactionModel.hint")}
</a>
</p>

<h4 style={{ "margin-top": "16px", "margin-bottom": "8px" }}>{language.t("settings.context.watcherPatterns")}</h4>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,24 @@ const ModelsTab: Component = () => {
</Show>
</div>
</SettingsRow>
<SettingsRow
title={language.t("settings.context.compactionModel.title")}
description={language.t("settings.context.compactionModel.description")}
>
<ModelSelectorBase
value={parseModelString(config().agent?.compaction?.model ?? undefined)}
onSelect={(providerID, modelID) =>
updateConfig({
agent: { compaction: { model: providerID && modelID ? `${providerID}/${modelID}` : null } },
})
}
placement="bottom-start"
allowClear
clearLabel={language.t("settings.context.compactionModel.useChatModel")}
label={language.t("settings.context.compactionModel.title")}
description={language.t("settings.context.compactionModel.description")}
/>
</SettingsRow>
<SettingsRow
title={language.t("settings.autocomplete.model.title")}
description={language.t("settings.autocomplete.model.description")}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -463,7 +463,7 @@ const Settings: Component<SettingsProps> = (props) => {
</Tabs.Content>
<Tabs.Content value="context">
<h3>{language.t("settings.context.title")}</h3>
<ContextTab />
<ContextTab onNavigateToModels={() => onTabChange("models")} />
</Tabs.Content>

<Tabs.Content value="commitMessage">
Expand Down
1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/ar.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/br.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/bs.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/da.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/de.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1139,6 +1139,8 @@ export const dict = {
"settings.context.compactionModel.description":
"Modell für die automatische und manuelle Komprimierung. Leer lassen, um das Chatmodell zu verwenden. Kosten, Geschwindigkeit und Zusammenfassungsqualität hängen vom Modell ab.",
"settings.context.compactionModel.useChatModel": "Chatmodell verwenden",
"settings.context.compactionModel.hint":
"Um zu wählen, welches Modell für die Komprimierung verwendet wird, siehe Modelleinstellungen.",
"settings.context.compactionLimit.title": "Limit für automatische Komprimierung",
"settings.context.compactionLimit.description":
"Komprimieren, wenn der Kontext diesen Prozentsatz des Modellfensters erreicht. Leer lassen, um nur den Sicherheitspuffer zu verwenden.",
Expand Down
1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1092,6 +1092,7 @@ export const dict = {
"settings.context.compactionModel.description":
"Model used for automatic and manual compaction. Leave unset to use the chat model. Cost, speed, and summary quality depend on the model.",
"settings.context.compactionModel.useChatModel": "Use chat model",
"settings.context.compactionModel.hint": "To choose which model is used for compaction, see the Models settings.",
"settings.context.compactionLimit.title": "Auto Compaction Limit",
"settings.context.compactionLimit.description":
"Compact when context reaches this percentage of the model window. Leave blank to use the safety buffer only.",
Expand Down
2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/es.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/fa.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/fr.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/it.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/ja.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/ko.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/nl.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/no.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/pl.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/ru.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/th.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions packages/kilo-vscode/webview-ui/src/i18n/tr.ts

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading