fix(start-work): prevent overwriting session agent if already set; inherit parent model for subagent types (#1201)

* fix(start-work): prevent overwriting session agent if already set; inherit parent model for subagent types

* fix(model): include variant in StoredMessage model structure for better context propagation

* fix(injector): include variant in model structure for hook message injection
This commit is contained in:
Mike
2026-01-29 08:30:37 +08:00
committed by GitHub
parent 0c3fbd724b
commit faca80caa9
7 changed files with 40 additions and 9 deletions
+12 -1
View File
@@ -287,7 +287,11 @@ Prompts MUST be in English.`
resolvedParentAgent: parentAgent,
})
const parentModel = prevMessage?.model?.providerID && prevMessage?.model?.modelID
? { providerID: prevMessage.model.providerID, modelID: prevMessage.model.modelID }
? {
providerID: prevMessage.model.providerID,
modelID: prevMessage.model.modelID,
...(prevMessage.model.variant ? { variant: prevMessage.model.variant } : {})
}
: undefined
if (args.session_id) {
@@ -806,6 +810,13 @@ Create the work plan directly - that's your job as the planning agent.`
} catch {
// If we can't fetch agents, proceed anyway - the session.prompt will fail with a clearer error
}
// When using subagent_type directly, inherit parent model so agents don't default
// to their hardcoded models (like grok-code) which may not be available
if (parentModel) {
categoryModel = parentModel
modelInfo = { model: `${parentModel.providerID}/${parentModel.modelID}`, type: "inherited" }
}
}
const systemContent = buildSystemContent({ skillContent, categoryPromptAppend, agentName: agentToUse })