fix(ai): make custom output token budget configurable

This commit is contained in:
Freud authored and GitHub committed 2026-09-03 21:07:37 +08:00
1 parent 56f85a2c77
commit 1c170396d3
28 files changed
+249 -48

No files matched your search

@@ -56,6 +56,8 @@ import {
useSettingsStore,
AI_PROVIDER_PRESETS,
AI_PROVIDER_PARTNER_PRESETS,
AI_OUTPUT_TOKENS_MAX,
AI_OUTPUT_TOKENS_MIN,
EDITOR_THEMES,
DEFAULT_EDITOR_SETTINGS,
DEFAULT_DESKTOP_SETTINGS,
@@ -3524,6 +3526,7 @@ const aiEditProxyEnabled = ref(false);
const aiEditProxyUrl = ref("");
const aiEditEnableThinking = ref(true);
const aiEditReasoningLevel = ref<AiReasoningLevel>("default");
const aiEditMaxOutputTokens = ref<number | undefined>(undefined);
const aiEditContextWindow = ref<number | undefined>(undefined);
const aiEditCodexCliPath = ref("");
const aiEditCodexCliEnvRows = ref<AiEnvRow[]>([]);
@@ -3808,6 +3811,7 @@ function currentAiEditConfig() {
proxyUrl: aiEditProxyUrl.value,
enableThinking: aiEditEnableThinking.value,
reasoningLevel: aiEditReasoningLevel.value,
maxOutputTokens: aiEditMaxOutputTokens.value || undefined,
contextWindow: aiEditContextWindow.value || undefined,
codexCliPath: aiEditCodexCliPath.value.trim() || undefined,
codexCliEnv: aiIsCodexCli.value ? cliEnvFromRows(aiEditCodexCliEnvRows.value) : {},
@@ -3894,6 +3898,7 @@ function aiEnterEditMode(configId?: string) {
aiEditProxyUrl.value = config.proxyUrl ?? "";
aiEditEnableThinking.value = config.enableThinking ?? true;
aiEditReasoningLevel.value = config.reasoningLevel ?? "default";
aiEditMaxOutputTokens.value = config.maxOutputTokens;
aiEditContextWindow.value = config.contextWindow;
aiEditCodexCliPath.value = config.codexCliPath ?? "";
aiEditCodexCliEnvRows.value = aiEnvRowsFromConfig(config.codexCliEnv);
@@ -3927,6 +3932,7 @@ function aiEnterEditMode(configId?: string) {
aiEditProxyUrl.value = "";
aiEditEnableThinking.value = true;
aiEditReasoningLevel.value = "default";
aiEditMaxOutputTokens.value = undefined;
aiEditContextWindow.value = undefined;
aiEditCodexCliPath.value = "";
aiEditCodexCliEnvRows.value = [];
@@ -7735,6 +7741,16 @@ onUnmounted(() => {
</p>
</div>
</div>
<!-- Maximum Output Tokens -->
<div v-if="!aiIsCliProvider" class="grid grid-cols-3 items-start gap-3">
<Label class="text-right text-xs">{{ t("ai.maxOutputTokens") }}</Label>
<div class="col-span-2">
<Input v-model.number="aiEditMaxOutputTokens" type="number" :min="AI_OUTPUT_TOKENS_MIN" :max="AI_OUTPUT_TOKENS_MAX" step="1000" class="h-8 text-xs" :placeholder="t('ai.maxOutputTokensAuto')" />
<p class="mt-1 text-xs text-muted-foreground">
{{ t("ai.maxOutputTokensHint", { min: AI_OUTPUT_TOKENS_MIN, max: AI_OUTPUT_TOKENS_MAX }) }}
</p>
</div>
</div>
<!-- Proxy -->
<div v-if="!aiIsCliProvider" class="grid grid-cols-3 items-center gap-3">