fix: load_agent_config加generic参数(纯通用模式不fallback默认产线,不挂产线插件)

This commit is contained in:
yumoqing 2026-08-16 18:04:27 +08:00
parent 6b81f8dc50
commit 8dff3d00a2

View File

@ -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: