feat: add persisted manual pi backend mode controls

This commit is contained in:
William Valentin
2026-02-23 23:06:40 -08:00
parent 3e5e82c76e
commit 4188c68130
14 changed files with 360 additions and 10 deletions
+6
View File
@@ -231,6 +231,7 @@ export async function startDaemon(config: Config, options?: StartDaemonOptions):
// Restore persisted model tier
const { loadPreferences, savePreference } = await import('../preferences.js');
const prefs = loadPreferences(dataDir);
let backendMode = prefs.backendMode ?? 'config_default';
if (prefs.modelTier) {
modelRouter.setTier(prefs.modelTier as import('../models/router.js').ModelTier);
}
@@ -254,6 +255,11 @@ export async function startDaemon(config: Config, options?: StartDaemonOptions):
const messageRouter = createMessageRouter({
sessionManager, modelRouter, systemPrompt, toolRegistry, toolExecutor,
config, memoryStore, agentConfigRegistry, agentRouter, sandboxManager, commandRegistry, hookEngine, intentRegistry, routingPolicy, skillRegistry, skillInstaller,
getBackendMode: () => backendMode,
setBackendMode: (mode) => {
backendMode = mode;
savePreference(dataDir, 'backendMode', mode);
},
...createConfiguredExternalBackends(config),
});
channelRegistry.setMessageHandler(messageRouter.handler);