Motori multipli: Codex e interruttore CLI nelle Impostazioni
Introduce l'astrazione Engine (Claude Code, Codex) con argomenti e parser propri e EngineRunner come unico punto di avvio, al posto di Claude.cs. Il JSON delle chat salva motore e id di sessione (i file vecchi restano chat di Claude Code). Cambiare CLI apre una nuova chat; modelli ed effort seguono il motore; un motore non installato non è selezionabile. La CLI accetta --engine <id>. Codex gira in sola lettura e la sessione si legge da thread.started. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
c50bd63723
commit
e60d64ed58
6 files changed
+349
-34
No files matched your search
+18
-2
@@ -2,7 +2,23 @@ using Avalonia;
|
||||
using AgentWikiUi.Core;
|
||||
using AgentWikiUi.Gui;
|
||||
|
||||
// Con argomenti: CLI (tutti gli argomenti uniti in un prompt). Senza: GUI.
|
||||
if (args.Length > 0) return Claude.RunInherited(string.Join(' ', args));
|
||||
// Con argomenti: CLI. Con `--engine <id>` per primo si sceglie il motore (default Claude Code);
|
||||
// il resto degli argomenti è unito in un solo prompt. Senza argomenti: GUI.
|
||||
if (args.Length > 0)
|
||||
{
|
||||
var engine = Engines.Claude;
|
||||
var words = args;
|
||||
if (args[0] == "--engine")
|
||||
{
|
||||
if (args.Length < 3 || Engines.Find(args[1]) is not { } chosen)
|
||||
{
|
||||
Console.Error.WriteLine($"Uso: <app> [--engine {string.Join('|', Engines.All.Select(e => e.Id))}] \"prompt\"");
|
||||
return 2;
|
||||
}
|
||||
engine = chosen;
|
||||
words = args[2..];
|
||||
}
|
||||
return EngineRunner.RunInherited(engine, string.Join(' ', words));
|
||||
}
|
||||
|
||||
return AppBuilder.Configure<App>().UsePlatformDetect().StartWithClassicDesktopLifetime(args);
|
||||
Reference in new issue
Block a user