F1: add reusable task backend resources and migrate task tools
This commit is contained in:
@@ -70,6 +70,21 @@ class RuntimeKnowledgeBase(BaseModel):
|
||||
description: str = ""
|
||||
|
||||
|
||||
class RuntimeTaskBackend(BaseModel):
|
||||
"""Resolved task backend, frozen server-side when a task is accepted."""
|
||||
|
||||
id: str
|
||||
name: str = ""
|
||||
type: Literal["reasoner", "opencode"]
|
||||
config: dict = Field(default_factory=dict)
|
||||
secrets: dict = Field(default_factory=dict)
|
||||
model: RuntimeModelResource | None = None
|
||||
tools: list[RuntimeTool] = Field(default_factory=list)
|
||||
tool_bindings: list[RuntimeToolBinding] = Field(default_factory=list)
|
||||
instruction_source: dict = Field(default_factory=lambda: {"source": "model"})
|
||||
instructions: str = ""
|
||||
|
||||
|
||||
class AssistantConfig(BaseModel):
|
||||
"""运行时配置:前端可见部分(name/prompt/...) + 服务端注入部分(*_api_key/*_base_url)。"""
|
||||
|
||||
@@ -138,6 +153,7 @@ class AssistantConfig(BaseModel):
|
||||
# and result mappings; platform built-ins are configured separately.
|
||||
tools: list[RuntimeTool] = Field(default_factory=list)
|
||||
tool_bindings: list[RuntimeToolBinding] = Field(default_factory=list)
|
||||
task_backend: RuntimeTaskBackend | None = None
|
||||
knowledge_base_id: str | None = None
|
||||
knowledge_base_name: str = ""
|
||||
knowledge_base_description: str = ""
|
||||
|
||||
Reference in New Issue
Block a user