diff --git a/offline-backend-20260512/backend/packages/harness/deerflow/agents/middlewares/setup_agent_approval_middleware.py b/offline-backend-20260512/backend/packages/harness/deerflow/agents/middlewares/setup_agent_approval_middleware.py index 3010aade..28ee54e3 100644 --- a/offline-backend-20260512/backend/packages/harness/deerflow/agents/middlewares/setup_agent_approval_middleware.py +++ b/offline-backend-20260512/backend/packages/harness/deerflow/agents/middlewares/setup_agent_approval_middleware.py @@ -67,6 +67,10 @@ class SetupAgentApprovalMiddleware(AgentMiddleware[SetupAgentApprovalMiddlewareS args = setup_call.get("args") or {} tool_call_id = setup_call.get("id") or "" + + if isinstance(args.get("skills"), list) and len(args["skills"]) > 5: + args = {**args, "skills": args["skills"][:5]} + payload = self._build_payload(args) logger.info("Setup agent approval requested before writing agent files") diff --git a/offline-backend-20260512/backend/packages/harness/deerflow/tools/builtins/setup_agent_tool.py b/offline-backend-20260512/backend/packages/harness/deerflow/tools/builtins/setup_agent_tool.py index aeb6a537..eafe09f3 100644 --- a/offline-backend-20260512/backend/packages/harness/deerflow/tools/builtins/setup_agent_tool.py +++ b/offline-backend-20260512/backend/packages/harness/deerflow/tools/builtins/setup_agent_tool.py @@ -27,7 +27,7 @@ def setup_agent( description: One-line description of what the agent does. name: Optional human-readable display name for the agent. If omitted, the agent's stable id is used as the display name. - skills: Optional list of skill names this agent should use. None or empty means no skills. + skills: Optional list of skill names this agent should use. None or empty means no skills. Maximum 5 skills allowed. """ agent_name: str | None = (runtime.context.get("agent_id") or runtime.context.get("agent_name")) if runtime.context else None @@ -48,7 +48,7 @@ def setup_agent( if description: config_data["description"] = description if skills is not None: - config_data["skills"] = skills + config_data["skills"] = skills[:5] config_file = agent_dir / "config.yaml" with open(config_file, "w", encoding="utf-8") as f: