feat: CLI-Fallback für Sub-Agents (Preparer/Review/Finalizer) wenn kein API-Key zugewiesen
Statt Hard-Error "Kein API-Key zugewiesen" nutzen Sub-Agents jetzt Claude CLI als Fallback. Preparer wird nur übersprungen wenn weder Key noch CLI verfügbar sind. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
eccecf8f14
commit
1526891cd9
2 files changed
+111
-7
No files matched your search
@@ -142,14 +142,14 @@ public static class ChatEndpoint
|
||||
if (ctx.Preparer != null && !isChoiceResponse)
|
||||
{
|
||||
var preparerApiToken = userApiKey?.ApiKey;
|
||||
// Anthropic-Preparer braucht zwingend einen Key, OpenAI-Provider können ohne auskommen
|
||||
if (string.IsNullOrEmpty(ctx.Preparer.Provider) && string.IsNullOrEmpty(preparerApiToken))
|
||||
{
|
||||
res.StatusCode = 400;
|
||||
await res.WriteAsJsonAsync(new { error = "Kein API-Key für diesen Agent zugewiesen. Bitte weise einen Key zu." });
|
||||
return;
|
||||
}
|
||||
|
||||
// Kein Key und kein CLI → Preparer überspringen (main agent wird auch CLI nutzen oder fehlermelden)
|
||||
bool skipPreparer = string.IsNullOrEmpty(ctx.Preparer.Provider)
|
||||
&& string.IsNullOrEmpty(preparerApiToken)
|
||||
&& !anthropic.IsCliAvailable;
|
||||
|
||||
if (!skipPreparer)
|
||||
{
|
||||
// Preparer bekommt History MIT seinen eigenen vorherigen Messages (Tag "preparer"),
|
||||
// damit er den Kontext seiner Rückfragen kennt
|
||||
var preparerHistory = await chatService.BuildHistoryFromDb(sessionId, includeTag: "preparer", promptBlocks: ctx.PromptBlocks);
|
||||
@@ -182,6 +182,7 @@ public static class ChatEndpoint
|
||||
Content = $"[Vorbereitet von {ctx.Preparer.Agent?.Name ?? "Vorbereiter-Agent"}]:\n{preparerResult.ForwardedPrompt}"
|
||||
});
|
||||
}
|
||||
} // !skipPreparer
|
||||
}
|
||||
|
||||
// History für den Session-Agent: OHNE Sub-Agent-Messages (saubere History)
|
||||
|
||||
Reference in new issue
Block a user