mirror of
https://github.com/OpenHands/OpenHands.git
synced 2026-10-07 16:19:05 +08:00
The agent-server already registers `task_tool_set` (TaskToolSet) at startup via openhands-agent-server/openhands/agent_server/tool_router.py and preloads the built-in sub-agents (code-explorer, bash-runner, web-researcher, general-purpose) through `register_builtins_agents`. However, agent-canvas never asked for the tool in the agent spec it sends on POST /api/conversations, so the LLM had no way to delegate. Add `task_tool_set` to the tools list assembled by `getAgentTools()`, gated by the existing `isAgentServerToolAvailable` capability probe so older agent-servers that don't advertise it in /api/server_info's `usable_tools` are skipped cleanly. TaskAction / TaskObservation events render through the existing default event content path, so no new visualizer is required to ship this. Co-authored-by: openhands <openhands@all-hands.dev>