diff --git a/agent/deep_assistant.py b/agent/deep_assistant.py index 7933792..f8183aa 100644 --- a/agent/deep_assistant.py +++ b/agent/deep_assistant.py @@ -220,7 +220,7 @@ async def init_agent(config: AgentConfig): middleware.append(ToolUseCleanupMiddleware()) # 添加工具输出长度控制中间件 tool_output_middleware = ToolOutputLengthMiddleware( - max_length=getattr(config.generate_cfg, 'tool_output_max_length', None) if config.generate_cfg else None or TOOL_OUTPUT_MAX_LENGTH, + max_length=(getattr(config.generate_cfg, 'tool_output_max_length', None) if config.generate_cfg else None) or TOOL_OUTPUT_MAX_LENGTH, truncation_strategy=getattr(config.generate_cfg, 'tool_output_truncation_strategy', 'smart') if config.generate_cfg else 'smart', tool_filters=getattr(config.generate_cfg, 'tool_output_filters', None) if config.generate_cfg else None, exclude_tools=getattr(config.generate_cfg, 'tool_output_exclude', []) if config.generate_cfg else [], diff --git a/agent/tool_output_length_middleware.py b/agent/tool_output_length_middleware.py index 96b6c1e..18fc3b6 100644 --- a/agent/tool_output_length_middleware.py +++ b/agent/tool_output_length_middleware.py @@ -53,7 +53,7 @@ class ToolOutputLengthMiddleware(AgentMiddleware): preserve_json: Whether to preserve JSON structure in smart mode ellipsis: Text to append when truncating """ - self.max_length = max_length + self.max_length = max_length if max_length is not None else 2000 # 确保 max_length 不为 None self.truncation_strategy = truncation_strategy self.tool_filters = tool_filters self.exclude_tools = exclude_tools or []