diff --git a/pipeline_core/agent_config.py b/pipeline_core/agent_config.py index 96dabbb..d6a44f3 100644 --- a/pipeline_core/agent_config.py +++ b/pipeline_core/agent_config.py @@ -312,13 +312,14 @@ DEFAULT_ABILITY_ID = "sdlc_general" # 配置加载器 # ═══════════════════════════════════════════════════════════ -async def load_agent_config(pipeline_id: str = None, project_id: str = None) -> AgentConfig: +async def load_agent_config(pipeline_id: str = None, project_id: str = None, generic: bool = False) -> AgentConfig: """加载产线的 Agent 配置(通用内核 + 可插拔产线能力)。 组装顺序: 1. 基础 = DEFAULT_AGENT_CONFIG(通用心智 + GENERAL_TOOLS) 2. 产线能力 = get_ability(pipeline_id) 动态挂载(工具 + prompt 片段) —— pipeline_id 为空时回退 DEFAULT_ABILITY_ID(默认产线) + —— generic=True 时不挂载任何产线能力(纯通用,只用 GENERAL_TOOLS + 通用心智) 3. DB 覆盖:sd_org_settings.agent_config / pipelines.agent_config """ from .ability import get_ability @@ -326,8 +327,11 @@ async def load_agent_config(pipeline_id: str = None, project_id: str = None) -> # 1. 基础通用配置 base = DEFAULT_AGENT_CONFIG - # 2. 产线能力挂载 - ability = get_ability(pipeline_id) if pipeline_id else get_ability(DEFAULT_ABILITY_ID) + # 2. 产线能力挂载(generic 时不挂载任何产线插件) + if generic: + ability = None + else: + ability = get_ability(pipeline_id) if pipeline_id else get_ability(DEFAULT_ABILITY_ID) tools = list(GENERAL_TOOLS) prompt = base.system_prompt if ability: