From 2adacdbfa1d1049a0497e55f2b3ed00551bf876f Mon Sep 17 00:00:00 2001 From: YurenHao0426 Date: Fri, 13 Feb 2026 22:46:06 +0000 Subject: Add per-model council settings, Quick Chat council mode, and per-member trace selection Council members now support individual temperature, reasoning effort, web search, and context trace overrides. Quick Chat inherits council config from the source node and streams through the 3-stage council pipeline. Blueprint loading migrates old string[] council formats to CouncilMemberConfig[]. Co-Authored-By: Claude Opus 4.6 --- backend/app/schemas.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'backend/app/schemas.py') diff --git a/backend/app/schemas.py b/backend/app/schemas.py index a527004..4213f15 100644 --- a/backend/app/schemas.py +++ b/backend/app/schemas.py @@ -57,16 +57,21 @@ class NodeRunRequest(BaseModel): class CouncilMemberConfig(BaseModel): model_name: str # e.g. "gpt-5", "claude-opus-4-6", "gemini-3-pro-preview" + temperature: Optional[float] = None # None = use request default + reasoning_effort: Optional[ReasoningEffort] = None + enable_google_search: Optional[bool] = None + incoming_contexts: Optional[List[Context]] = None # Per-member context override class CouncilRunRequest(BaseModel): node_id: str - incoming_contexts: List[Context] = [] + incoming_contexts: List[Context] = [] # Default context for all members user_prompt: str council_models: List[CouncilMemberConfig] # 2-6 models - chairman_model: str # Model name for synthesis + chairman_model: CouncilMemberConfig # Model config for synthesis system_prompt: Optional[str] = None temperature: float = 0.7 reasoning_effort: ReasoningEffort = ReasoningEffort.MEDIUM + enable_google_search: bool = False merge_strategy: MergeStrategy = MergeStrategy.SMART attached_file_ids: List[str] = Field(default_factory=list) scopes: List[str] = Field(default_factory=list) -- cgit v1.2.3