diff --git a/backend/service/debug_agent.py b/backend/service/debug_agent.py index 5c61e4f..d9c5f09 100644 --- a/backend/service/debug_agent.py +++ b/backend/service/debug_agent.py @@ -206,7 +206,7 @@ async def debug_workflow_errors(workflow_data: Dict[str, Any]): # Get session_id and config from request context session_id = get_session_id() config = get_config() - workflow_config_adapt(config) + config = workflow_config_adapt(config) if not session_id: session_id = str(uuid.uuid4()) # Fallback if no context diff --git a/backend/service/mcp_client.py b/backend/service/mcp_client.py index 930460c..b92edac 100644 --- a/backend/service/mcp_client.py +++ b/backend/service/mcp_client.py @@ -2,7 +2,7 @@ Author: ai-business-hql qingli.hql@alibaba-inc.com Date: 2025-06-16 16:50:17 LastEditors: ai-business-hql ai.bussiness.hql@gmail.com -LastEditTime: 2025-09-02 17:11:50 +LastEditTime: 2025-10-11 16:32:59 FilePath: /comfyui_copilot/backend/service/mcp-client.py Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE ''' @@ -80,9 +80,6 @@ async def comfyui_agent_invoke(messages: List[Dict[str, Any]], images: List[Imag cache_tools_list=True, client_session_timeout_seconds=300.0 ) as server: - # tools = await server.list_tools() - - # Model selection is handled inside create_agent via config / kwargs precedence # 创建workflow_rewrite_agent实例 (session_id通过context获取) workflow_rewrite_agent_instance = create_workflow_rewrite_agent() diff --git a/backend/service/workflow_rewrite_agent.py b/backend/service/workflow_rewrite_agent.py index d8a5823..e4f8d2b 100644 --- a/backend/service/workflow_rewrite_agent.py +++ b/backend/service/workflow_rewrite_agent.py @@ -45,7 +45,7 @@ def create_workflow_rewrite_agent(): language = get_language() session_id = get_session_id() or "unknown_session" config = get_config() - workflow_config_adapt(config) + config = workflow_config_adapt(config) return create_agent( name="Workflow Rewrite Agent", diff --git a/backend/service/workflow_rewrite_agent_simple.py b/backend/service/workflow_rewrite_agent_simple.py index cc8076e..da35eb7 100644 --- a/backend/service/workflow_rewrite_agent_simple.py +++ b/backend/service/workflow_rewrite_agent_simple.py @@ -83,7 +83,7 @@ ComfyUI API格式工作流是一个JSON对象,其中: } """ config = get_config() - workflow_config_adapt(config) + config = workflow_config_adapt(config) # 创建OpenAI客户端 client = OpenAI( base_url = config.get("openai_base_url") or LLM_DEFAULT_BASE_URL, diff --git a/backend/utils/key_utils.py b/backend/utils/key_utils.py index e22c3ec..62843fa 100644 --- a/backend/utils/key_utils.py +++ b/backend/utils/key_utils.py @@ -1,10 +1,22 @@ +from copy import deepcopy -def workflow_config_adapt(config: dict): - if config: - if config.get("workflow_llm_api_key"): - config["openai_api_key"] = config.get("workflow_llm_api_key") - config["workflow_llm_api_key"] = None - if config.get("workflow_llm_base_url"): - config["openai_base_url"] = config.get("workflow_llm_base_url") - config["workflow_llm_base_url"] = None \ No newline at end of file +def workflow_config_adapt(config: dict) -> dict: + """Return a deep-copied and adapted workflow config without mutating input. + + - Map workflow_llm_api_key -> openai_api_key (and null out original key) + - Map workflow_llm_base_url -> openai_base_url (and null out original key) + """ + if not config: + return {} + + new_config = deepcopy(config) + + if new_config.get("workflow_llm_api_key"): + new_config["openai_api_key"] = new_config.get("workflow_llm_api_key") + new_config["workflow_llm_api_key"] = None + if new_config.get("workflow_llm_base_url"): + new_config["openai_base_url"] = new_config.get("workflow_llm_base_url") + new_config["workflow_llm_base_url"] = None + + return new_config \ No newline at end of file