fix: hide system prompt optimization in VS Code

Removes the system prompt optimization section from the Behavior page in VS Code runtime.
Updates settings search so the hidden option is not shown as available in VS Code.
This commit is contained in:
Bohdan Triapitsyn
2026-07-29 20:12:31 +03:00
parent 5c687aca6d
commit 8f273b583d
2 changed files with 30 additions and 25 deletions
@@ -4,6 +4,7 @@ import { Textarea } from '@/components/ui/textarea';
import { toast } from '@/components/ui';
import { useI18n, type I18nKey } from '@/lib/i18n';
import { reportSettingsSaveState } from '@/lib/persistence';
import { useIsVSCodeRuntime } from '@/hooks/useRuntimeAPIs';
import {
Select,
SelectContent,
@@ -101,6 +102,7 @@ const saveBehaviorSetting = async (settings: Partial<DesktopSettings>, fallbackE
export const BehaviorPage: React.FC = () => {
const { t } = useI18n();
const isVSCode = useIsVSCodeRuntime();
const [prompt, setPrompt] = React.useState('');
const [optimizeSystemPrompt, setOptimizeSystemPrompt] = React.useState(false);
const [responseStyleEnabled, setResponseStyleEnabled] = React.useState(DEFAULT_BEHAVIOR_SETTINGS.responseStyleEnabled);
@@ -291,32 +293,34 @@ export const BehaviorPage: React.FC = () => {
description={t('settings.page.behavior.description')}
showSaveStatus
>
<SettingsSection
title={t('settings.behavior.page.section.systemPromptOptimization')}
divider={false}
settingsItem="behavior.system-prompt-optimization"
contentClassName="space-y-3"
>
<SettingsCheckboxRow
checked={optimizeSystemPrompt}
onChange={setOptimizeSystemPrompt}
disabled={isLoading || isApplyingPromptOptimization}
label={t('settings.behavior.page.systemPromptOptimization.enable')}
ariaLabel={t('settings.behavior.page.systemPromptOptimization.enableAria')}
info={t('settings.behavior.page.systemPromptOptimization.info')}
/>
<Button
type="button"
size="xs"
onClick={() => void handleSavePromptOptimization()}
disabled={isLoading || isApplyingPromptOptimization || !isPromptOptimizationDirty}
className="!font-normal"
{!isVSCode && (
<SettingsSection
title={t('settings.behavior.page.section.systemPromptOptimization')}
divider={false}
settingsItem="behavior.system-prompt-optimization"
contentClassName="space-y-3"
>
{isApplyingPromptOptimization
? t('settings.common.actions.saving')
: t('settings.openchamber.opencodeCli.actions.saveAndReload')}
</Button>
</SettingsSection>
<SettingsCheckboxRow
checked={optimizeSystemPrompt}
onChange={setOptimizeSystemPrompt}
disabled={isLoading || isApplyingPromptOptimization}
label={t('settings.behavior.page.systemPromptOptimization.enable')}
ariaLabel={t('settings.behavior.page.systemPromptOptimization.enableAria')}
info={t('settings.behavior.page.systemPromptOptimization.info')}
/>
<Button
type="button"
size="xs"
onClick={() => void handleSavePromptOptimization()}
disabled={isLoading || isApplyingPromptOptimization || !isPromptOptimizationDirty}
className="!font-normal"
>
{isApplyingPromptOptimization
? t('settings.common.actions.saving')
: t('settings.openchamber.opencodeCli.actions.saveAndReload')}
</Button>
</SettingsSection>
)}
<SettingsSection
title={t('settings.behavior.page.section.systemPrompt')}
+1
View File
@@ -562,6 +562,7 @@ const SETTINGS_SEARCH_ITEMS: readonly SettingsSearchItem[] = [
titleKey: 'settings.behavior.page.section.systemPromptOptimization',
descriptionKey: 'settings.behavior.page.systemPromptOptimization.info',
keywords: ['system prompt', 'tokens', 'context', 'optimize', 'minimal'],
isAvailable: (ctx) => !ctx.isVSCode,
},
{
id: 'behavior.system-prompt',