summaryrefslogtreecommitdiff
path: root/backend/app/schemas.py
diff options
context:
space:
mode:
authorYurenHao0426 <blackhao0426@gmail.com>2026-02-13 22:46:06 +0000
committerYurenHao0426 <blackhao0426@gmail.com>2026-02-13 22:46:06 +0000
commit2adacdbfa1d1049a0497e55f2b3ed00551bf876f (patch)
tree7bb712d5d85e42aff8b7afe5da56a496ca82d9bd /backend/app/schemas.py
parent77be59bc0a6353e98846b9c9bfa2d566efea8b1f (diff)
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 <noreply@anthropic.com>
Diffstat (limited to 'backend/app/schemas.py')
-rw-r--r--backend/app/schemas.py9
1 files changed, 7 insertions, 2 deletions
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)