From 97aec2e6b74f01577aa95fe937f7b4a037fa7530 Mon Sep 17 00:00:00 2001 From: Roo Code Date: Sat, 26 Jul 2025 22:58:44 +0000 Subject: [PATCH] feat: make spell check a standard feature instead of experimental - Remove spell check from experimental features list - Enable spell check by default in ChatTextArea - Remove spell check references from all locale files - Update tests to reflect the changes --- packages/types/src/experiment.ts | 3 +-- src/shared/__tests__/experiments.spec.ts | 12 ------------ src/shared/experiments.ts | 2 -- webview-ui/src/components/chat/ChatTextArea.tsx | 9 +-------- .../context/__tests__/ExtensionStateContext.spec.tsx | 2 -- webview-ui/src/i18n/locales/ca/settings.json | 4 ---- webview-ui/src/i18n/locales/de/settings.json | 4 ---- webview-ui/src/i18n/locales/en/settings.json | 4 ---- webview-ui/src/i18n/locales/es/settings.json | 4 ---- webview-ui/src/i18n/locales/fr/settings.json | 4 ---- webview-ui/src/i18n/locales/hi/settings.json | 4 ---- webview-ui/src/i18n/locales/id/settings.json | 4 ---- webview-ui/src/i18n/locales/it/settings.json | 4 ---- webview-ui/src/i18n/locales/ja/settings.json | 4 ---- webview-ui/src/i18n/locales/ko/settings.json | 4 ---- webview-ui/src/i18n/locales/nl/settings.json | 4 ---- webview-ui/src/i18n/locales/pl/settings.json | 4 ---- webview-ui/src/i18n/locales/pt-BR/settings.json | 4 ---- webview-ui/src/i18n/locales/ru/settings.json | 4 ---- webview-ui/src/i18n/locales/tr/settings.json | 4 ---- webview-ui/src/i18n/locales/vi/settings.json | 4 ---- webview-ui/src/i18n/locales/zh-CN/settings.json | 4 ---- webview-ui/src/i18n/locales/zh-TW/settings.json | 4 ---- 23 files changed, 2 insertions(+), 98 deletions(-) diff --git a/packages/types/src/experiment.ts b/packages/types/src/experiment.ts index eedd4e7cb9..10384db8ed 100644 --- a/packages/types/src/experiment.ts +++ b/packages/types/src/experiment.ts @@ -6,7 +6,7 @@ import type { Keys, Equals, AssertEqual } from "./type-fu.js" * ExperimentId */ -export const experimentIds = ["powerSteering", "multiFileApplyDiff", "spellCheck"] as const +export const experimentIds = ["powerSteering", "multiFileApplyDiff"] as const export const experimentIdsSchema = z.enum(experimentIds) @@ -19,7 +19,6 @@ export type ExperimentId = z.infer export const experimentsSchema = z.object({ powerSteering: z.boolean().optional(), multiFileApplyDiff: z.boolean().optional(), - spellCheck: z.boolean().optional(), }) export type Experiments = z.infer diff --git a/src/shared/__tests__/experiments.spec.ts b/src/shared/__tests__/experiments.spec.ts index 5761ad9bd0..4a8f06d62a 100644 --- a/src/shared/__tests__/experiments.spec.ts +++ b/src/shared/__tests__/experiments.spec.ts @@ -23,21 +23,11 @@ describe("experiments", () => { }) }) - describe("SPELL_CHECK", () => { - it("is configured correctly", () => { - expect(EXPERIMENT_IDS.SPELL_CHECK).toBe("spellCheck") - expect(experimentConfigsMap.SPELL_CHECK).toMatchObject({ - enabled: false, - }) - }) - }) - describe("isEnabled", () => { it("returns false when POWER_STEERING experiment is not enabled", () => { const experiments: Record = { powerSteering: false, multiFileApplyDiff: false, - spellCheck: false, } expect(Experiments.isEnabled(experiments, EXPERIMENT_IDS.POWER_STEERING)).toBe(false) }) @@ -46,7 +36,6 @@ describe("experiments", () => { const experiments: Record = { powerSteering: true, multiFileApplyDiff: false, - spellCheck: false, } expect(Experiments.isEnabled(experiments, EXPERIMENT_IDS.POWER_STEERING)).toBe(true) }) @@ -55,7 +44,6 @@ describe("experiments", () => { const experiments: Record = { powerSteering: false, multiFileApplyDiff: false, - spellCheck: false, } expect(Experiments.isEnabled(experiments, EXPERIMENT_IDS.POWER_STEERING)).toBe(false) }) diff --git a/src/shared/experiments.ts b/src/shared/experiments.ts index d2bf930cfc..1edadf654f 100644 --- a/src/shared/experiments.ts +++ b/src/shared/experiments.ts @@ -3,7 +3,6 @@ import type { AssertEqual, Equals, Keys, Values, ExperimentId, Experiments } fro export const EXPERIMENT_IDS = { MULTI_FILE_APPLY_DIFF: "multiFileApplyDiff", POWER_STEERING: "powerSteering", - SPELL_CHECK: "spellCheck", } as const satisfies Record type _AssertExperimentIds = AssertEqual>> @@ -17,7 +16,6 @@ interface ExperimentConfig { export const experimentConfigsMap: Record = { MULTI_FILE_APPLY_DIFF: { enabled: false }, POWER_STEERING: { enabled: false }, - SPELL_CHECK: { enabled: false }, } export const experimentDefault = Object.fromEntries( diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index c675065808..c6cdfd9eec 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -6,7 +6,6 @@ import { mentionRegex, mentionRegexGlobal, unescapeSpaces } from "@roo/context-m import { WebviewMessage } from "@roo/WebviewMessage" import { Mode, getAllModes } from "@roo/modes" import { ExtensionMessage } from "@roo/ExtensionMessage" -import { EXPERIMENT_IDS, experiments as experimentsLib } from "@roo/experiments" import { vscode } from "@/utils/vscode" import { useExtensionState } from "@/context/ExtensionStateContext" @@ -87,7 +86,6 @@ const ChatTextArea = forwardRef( togglePinnedApiConfig, taskHistory, clineMessages, - experiments, } = useExtensionState() // Find the ID and display text for the currently selected API configuration @@ -218,11 +216,6 @@ const ChatTextArea = forwardRef( } }, [inputValue, sendingDisabled, setInputValue, t]) - // Check if spell check is enabled - const isSpellCheckEnabled = useMemo(() => { - return experiments && experimentsLib.isEnabled(experiments, EXPERIMENT_IDS.SPELL_CHECK) - }, [experiments]) - const allModes = useMemo(() => getAllModes(customModes), [customModes]) const queryItems = useMemo(() => { @@ -1083,7 +1076,7 @@ const ChatTextArea = forwardRef( minRows={3} maxRows={15} autoFocus={true} - spellCheck={isSpellCheckEnabled} + spellCheck={true} className={cn( "w-full", "text-vscode-input-foreground", diff --git a/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx b/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx index ba0d9c9e69..3639abd1d0 100644 --- a/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx +++ b/webview-ui/src/context/__tests__/ExtensionStateContext.spec.tsx @@ -223,7 +223,6 @@ describe("mergeExtensionState", () => { experiments: { powerSteering: true, multiFileApplyDiff: true, - spellCheck: false, } as Record, } @@ -237,7 +236,6 @@ describe("mergeExtensionState", () => { expect(result.experiments).toEqual({ powerSteering: true, multiFileApplyDiff: true, - spellCheck: false, }) }) }) diff --git a/webview-ui/src/i18n/locales/ca/settings.json b/webview-ui/src/i18n/locales/ca/settings.json index d246d0d762..828790cbb4 100644 --- a/webview-ui/src/i18n/locales/ca/settings.json +++ b/webview-ui/src/i18n/locales/ca/settings.json @@ -648,10 +648,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Habilita edicions de fitxers concurrents", "description": "Quan està activat, Roo pot editar múltiples fitxers en una sola petició. Quan està desactivat, Roo ha d'editar fitxers d'un en un. Desactivar això pot ajudar quan es treballa amb models menys capaços o quan vols més control sobre les modificacions de fitxers." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/de/settings.json b/webview-ui/src/i18n/locales/de/settings.json index 65172c95be..83662adb48 100644 --- a/webview-ui/src/i18n/locales/de/settings.json +++ b/webview-ui/src/i18n/locales/de/settings.json @@ -648,10 +648,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Gleichzeitige Dateibearbeitungen aktivieren", "description": "Wenn aktiviert, kann Roo mehrere Dateien in einer einzigen Anfrage bearbeiten. Wenn deaktiviert, muss Roo Dateien einzeln bearbeiten. Das Deaktivieren kann hilfreich sein, wenn mit weniger fähigen Modellen gearbeitet wird oder wenn du mehr Kontrolle über Dateiänderungen haben möchtest." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/en/settings.json b/webview-ui/src/i18n/locales/en/settings.json index b6f812feff..2b4d3b8fe0 100644 --- a/webview-ui/src/i18n/locales/en/settings.json +++ b/webview-ui/src/i18n/locales/en/settings.json @@ -648,10 +648,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Enable concurrent file edits", "description": "When enabled, Roo can edit multiple files in a single request. When disabled, Roo must edit files one at a time. Disabling this can help when working with less capable models or when you want more control over file modifications." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/es/settings.json b/webview-ui/src/i18n/locales/es/settings.json index 68dbf89e6d..45b7209797 100644 --- a/webview-ui/src/i18n/locales/es/settings.json +++ b/webview-ui/src/i18n/locales/es/settings.json @@ -648,10 +648,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Habilitar ediciones de archivos concurrentes", "description": "Cuando está habilitado, Roo puede editar múltiples archivos en una sola solicitud. Cuando está deshabilitado, Roo debe editar archivos de uno en uno. Deshabilitar esto puede ayudar cuando trabajas con modelos menos capaces o cuando quieres más control sobre las modificaciones de archivos." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/fr/settings.json b/webview-ui/src/i18n/locales/fr/settings.json index 0447e5c277..1f846f1e68 100644 --- a/webview-ui/src/i18n/locales/fr/settings.json +++ b/webview-ui/src/i18n/locales/fr/settings.json @@ -648,10 +648,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Activer les éditions de fichiers concurrentes", "description": "Lorsque cette option est activée, Roo peut éditer plusieurs fichiers en une seule requête. Lorsqu'elle est désactivée, Roo doit éditer les fichiers un par un. Désactiver cette option peut aider lorsque tu travailles avec des modèles moins capables ou lorsque tu veux plus de contrôle sur les modifications de fichiers." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/hi/settings.json b/webview-ui/src/i18n/locales/hi/settings.json index 2bbc7fe2fa..ebe8524aa5 100644 --- a/webview-ui/src/i18n/locales/hi/settings.json +++ b/webview-ui/src/i18n/locales/hi/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "समानांतर फ़ाइल संपादन सक्षम करें", "description": "जब सक्षम किया जाता है, तो Roo एक ही अनुरोध में कई फ़ाइलों को संपादित कर सकता है। जब अक्षम किया जाता है, तो Roo को एक समय में एक फ़ाइल संपादित करनी होगी। इसे अक्षम करना तब मदद कर सकता है जब आप कम सक्षम मॉडल के साथ काम कर रहे हों या जब आप फ़ाइल संशोधनों पर अधिक नियंत्रण चाहते हों।" - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/id/settings.json b/webview-ui/src/i18n/locales/id/settings.json index 5d3621904f..bddc9a98c1 100644 --- a/webview-ui/src/i18n/locales/id/settings.json +++ b/webview-ui/src/i18n/locales/id/settings.json @@ -678,10 +678,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Aktifkan edit file bersamaan", "description": "Ketika diaktifkan, Roo dapat mengedit beberapa file dalam satu permintaan. Ketika dinonaktifkan, Roo harus mengedit file satu per satu. Menonaktifkan ini dapat membantu saat bekerja dengan model yang kurang mampu atau ketika kamu ingin kontrol lebih terhadap modifikasi file." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/it/settings.json b/webview-ui/src/i18n/locales/it/settings.json index d32509ae35..4e3038c242 100644 --- a/webview-ui/src/i18n/locales/it/settings.json +++ b/webview-ui/src/i18n/locales/it/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Abilita modifiche di file concorrenti", "description": "Quando abilitato, Roo può modificare più file in una singola richiesta. Quando disabilitato, Roo deve modificare i file uno alla volta. Disabilitare questa opzione può aiutare quando lavori con modelli meno capaci o quando vuoi più controllo sulle modifiche dei file." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/ja/settings.json b/webview-ui/src/i18n/locales/ja/settings.json index 6835043b9f..0aa402d139 100644 --- a/webview-ui/src/i18n/locales/ja/settings.json +++ b/webview-ui/src/i18n/locales/ja/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "同時ファイル編集を有効にする", "description": "有効にすると、Rooは単一のリクエストで複数のファイルを編集できます。無効にすると、Rooはファイルを一つずつ編集する必要があります。これを無効にすることで、能力の低いモデルで作業する場合や、ファイル変更をより細かく制御したい場合に役立ちます。" - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/ko/settings.json b/webview-ui/src/i18n/locales/ko/settings.json index 9626958752..25b79b795f 100644 --- a/webview-ui/src/i18n/locales/ko/settings.json +++ b/webview-ui/src/i18n/locales/ko/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "동시 파일 편집 활성화", "description": "활성화하면 Roo가 단일 요청으로 여러 파일을 편집할 수 있습니다. 비활성화하면 Roo는 파일을 하나씩 편집해야 합니다. 이 기능을 비활성화하면 덜 강력한 모델로 작업하거나 파일 수정에 대한 더 많은 제어가 필요할 때 도움이 됩니다." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/nl/settings.json b/webview-ui/src/i18n/locales/nl/settings.json index c952ea1ab5..36f5f50c4e 100644 --- a/webview-ui/src/i18n/locales/nl/settings.json +++ b/webview-ui/src/i18n/locales/nl/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Gelijktijdige bestandsbewerkingen inschakelen", "description": "Wanneer ingeschakeld, kan Roo meerdere bestanden in één verzoek bewerken. Wanneer uitgeschakeld, moet Roo bestanden één voor één bewerken. Het uitschakelen hiervan kan helpen wanneer je werkt met minder capabele modellen of wanneer je meer controle wilt over bestandswijzigingen." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/pl/settings.json b/webview-ui/src/i18n/locales/pl/settings.json index 45b84541b2..455beebfda 100644 --- a/webview-ui/src/i18n/locales/pl/settings.json +++ b/webview-ui/src/i18n/locales/pl/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Włącz równoczesne edycje plików", "description": "Gdy włączone, Roo może edytować wiele plików w jednym żądaniu. Gdy wyłączone, Roo musi edytować pliki jeden po drugim. Wyłączenie tego może pomóc podczas pracy z mniej zdolnymi modelami lub gdy chcesz mieć większą kontrolę nad modyfikacjami plików." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/pt-BR/settings.json b/webview-ui/src/i18n/locales/pt-BR/settings.json index 39c877c9b3..0e77668246 100644 --- a/webview-ui/src/i18n/locales/pt-BR/settings.json +++ b/webview-ui/src/i18n/locales/pt-BR/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Habilitar edições de arquivos concorrentes", "description": "Quando habilitado, o Roo pode editar múltiplos arquivos em uma única solicitação. Quando desabilitado, o Roo deve editar arquivos um de cada vez. Desabilitar isso pode ajudar ao trabalhar com modelos menos capazes ou quando você quer mais controle sobre modificações de arquivos." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/ru/settings.json b/webview-ui/src/i18n/locales/ru/settings.json index 476d3164d5..2750202856 100644 --- a/webview-ui/src/i18n/locales/ru/settings.json +++ b/webview-ui/src/i18n/locales/ru/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Включить одновременное редактирование файлов", "description": "Когда включено, Roo может редактировать несколько файлов в одном запросе. Когда отключено, Roo должен редактировать файлы по одному. Отключение этой функции может помочь при работе с менее способными моделями или когда вы хотите больше контроля над изменениями файлов." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/tr/settings.json b/webview-ui/src/i18n/locales/tr/settings.json index 321eef4d91..a6d8a2b6b9 100644 --- a/webview-ui/src/i18n/locales/tr/settings.json +++ b/webview-ui/src/i18n/locales/tr/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Eşzamanlı dosya düzenlemelerini etkinleştir", "description": "Etkinleştirildiğinde, Roo tek bir istekte birden fazla dosyayı düzenleyebilir. Devre dışı bırakıldığında, Roo dosyaları tek tek düzenlemek zorundadır. Bunu devre dışı bırakmak, daha az yetenekli modellerle çalışırken veya dosya değişiklikleri üzerinde daha fazla kontrol istediğinde yardımcı olabilir." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/vi/settings.json b/webview-ui/src/i18n/locales/vi/settings.json index f540dd23a5..b0e0fb7edf 100644 --- a/webview-ui/src/i18n/locales/vi/settings.json +++ b/webview-ui/src/i18n/locales/vi/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "Bật chỉnh sửa tệp đồng thời", "description": "Khi được bật, Roo có thể chỉnh sửa nhiều tệp trong một yêu cầu duy nhất. Khi bị tắt, Roo phải chỉnh sửa từng tệp một. Tắt tính năng này có thể hữu ích khi làm việc với các mô hình kém khả năng hơn hoặc khi bạn muốn kiểm soát nhiều hơn đối với các thay đổi tệp." - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/zh-CN/settings.json b/webview-ui/src/i18n/locales/zh-CN/settings.json index c351ec5152..509176a6f4 100644 --- a/webview-ui/src/i18n/locales/zh-CN/settings.json +++ b/webview-ui/src/i18n/locales/zh-CN/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "启用并发文件编辑", "description": "启用后 Roo 可在单个请求中编辑多个文件。禁用后 Roo 必须逐个编辑文件。禁用此功能有助于使用能力较弱的模型或需要更精确控制文件修改时。" - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": { diff --git a/webview-ui/src/i18n/locales/zh-TW/settings.json b/webview-ui/src/i18n/locales/zh-TW/settings.json index 3df391e36a..044ac0a751 100644 --- a/webview-ui/src/i18n/locales/zh-TW/settings.json +++ b/webview-ui/src/i18n/locales/zh-TW/settings.json @@ -649,10 +649,6 @@ "MULTI_FILE_APPLY_DIFF": { "name": "啟用並行檔案編輯", "description": "啟用後 Roo 可在單個請求中編輯多個檔案。停用後 Roo 必須逐個編輯檔案。停用此功能有助於使用能力較弱的模型或需要更精確控制檔案修改時。" - }, - "SPELL_CHECK": { - "name": "Enable spell check in chat", - "description": "When enabled, uses the browser's native spell check to underline misspelled words in the chat input. This helps catch typos before sending messages to Roo." } }, "promptCaching": {