feat: show routing decisions in footer status bar instead of hidden messages

This commit is contained in:
2026-06-08 19:44:29 +10:00
parent 028d70fe7d
commit 05cb99bc78

View File

@@ -86,11 +86,7 @@ export default function (pi: ExtensionAPI) {
// Pass-through if user locked the model manually // Pass-through if user locked the model manually
if (isLocked && lockedModel) { if (isLocked && lockedModel) {
pi.setModel(lockedModel); pi.setModel(lockedModel);
pi.sendMessage({ ctx.ui.setStatus("router", `🔒 ${lockedModel.id || "unknown"}`);
customType: "router-status",
content: `🔒 Locked → ${lockedModel.id || "unknown"}`,
display: false,
});
return; return;
} }
@@ -98,20 +94,12 @@ export default function (pi: ExtensionAPI) {
if (prompt.trim().length < 15) { if (prompt.trim().length < 15) {
const model = getModel(ctx, "router-eval"); const model = getModel(ctx, "router-eval");
if (model) pi.setModel(model); if (model) pi.setModel(model);
pi.sendMessage({ ctx.ui.setStatus("router", `${modelLabel("router-eval")}`);
customType: "router-status",
content: `⚡ Short prompt → ${modelLabel("router-eval")}`,
display: false,
});
return; return;
} }
// Show analyzing indicator // Show analyzing indicator in status bar
pi.sendMessage({ ctx.ui.setStatus("router", "🤔 Analyzing...");
customType: "router-status",
content: "🤔 Analyzing prompt intent...",
display: false,
});
try { try {
const OPENROUTER_API_KEY = process.env["OPENROUTER_API_KEY"] || ""; const OPENROUTER_API_KEY = process.env["OPENROUTER_API_KEY"] || "";
@@ -142,11 +130,7 @@ export default function (pi: ExtensionAPI) {
if (!content) { if (!content) {
const fallback = getModel(ctx, "free-core"); const fallback = getModel(ctx, "free-core");
if (fallback) pi.setModel(fallback); if (fallback) pi.setModel(fallback);
pi.sendMessage({ ctx.ui.setStatus("router", `⚠️ fallback ${modelLabel("free-core")}`);
customType: "router-status",
content: `⚠️ Analysis failed → fallback ${modelLabel("free-core")}`,
display: false,
});
return; return;
} }
@@ -189,22 +173,14 @@ export default function (pi: ExtensionAPI) {
pi.setModel(model); pi.setModel(model);
} }
// Show routing decision // Show routing decision in status bar
pi.sendMessage({ ctx.ui.setStatus("router", `🎯 ${tag}${modelLabel(modelKey)}`);
customType: "router-status",
content: `🎯 ${tag} (${lang}) → ${modelLabel(modelKey)}`,
display: false,
});
} catch (_error) { } catch (_error) {
// Fallback gracefully on network drops // Fallback gracefully on network drops
const fallback = getModel(ctx, "free-core"); const fallback = getModel(ctx, "free-core");
if (fallback) pi.setModel(fallback); if (fallback) pi.setModel(fallback);
pi.sendMessage({ ctx.ui.setStatus("router", `⚠️ fallback ${modelLabel("free-core")}`);
customType: "router-status",
content: `⚠️ Error → fallback ${modelLabel("free-core")}`,
display: false,
});
} }
}); });
} }