From 9e98229684f5f05b5b197b7ad62658258a1e1b3e Mon Sep 17 00:00:00 2001 From: omp-fork Date: Thu, 20 Aug 2026 08:28:57 -0700 Subject: [PATCH] feat(coding-agent): footer honors display.showProvider flag Add a new `display.showProvider` setting (default true) under the Display group. When enabled, the active model in the bottom-right footer renders as `provider/id` (e.g. `opencode-go-3/deepseek-v4-flash`) instead of just `id`. Disambiguates which provider is serving a model when several are configured under different keys. --- packages/coding-agent/src/config/settings-schema.ts | 12 ++++++++++++ packages/coding-agent/src/modes/components/footer.ts | 7 ++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/packages/coding-agent/src/config/settings-schema.ts b/packages/coding-agent/src/config/settings-schema.ts index 262c7db47..f0eeea3ab 100644 --- a/packages/coding-agent/src/config/settings-schema.ts +++ b/packages/coding-agent/src/config/settings-schema.ts @@ -1133,6 +1133,18 @@ export const SETTINGS_SCHEMA = { }, }, + "display.showProvider": { + type: "boolean", + default: true, + ui: { + tab: "appearance", + group: "Display", + label: "Show Provider in Footer", + description: + "Prefix the active model in the footer with its provider (e.g. `opencode-go-3/deepseek-v4-flash`). Disambiguate which provider is serving a model when several are configured.", + }, + }, + "display.cacheMissMarker": { type: "boolean", default: false, diff --git a/packages/coding-agent/src/modes/components/footer.ts b/packages/coding-agent/src/modes/components/footer.ts index 4e3bd21d5..ef1a339d9 100644 --- a/packages/coding-agent/src/modes/components/footer.ts +++ b/packages/coding-agent/src/modes/components/footer.ts @@ -194,7 +194,12 @@ export class FooterComponent implements Component { let statsLeft = statsParts.join(" "); // Add model name on the right side, plus thinking level if model supports it - const modelName = state.model?.id || "no-model"; + // The `display.showProvider` flag prefixes the active provider when several + // providers serve the same model id (e.g. `opencode-go-3/deepseek-v4-flash` + // vs `deepseek/deepseek-v4-flash`). + const showProvider = settings.get("display.showProvider"); + const providerPrefix = showProvider && state.model?.provider ? `${state.model.provider}/` : ""; + const modelName = `${providerPrefix}${state.model?.id || "no-model"}`; // Add thinking level hint when the current model advertises supported efforts let rightSide = modelName;