id: local-agent-plugin-tool-call-debug-chat title: "Local Agent can call a plugin-provided tool" mode: agent-browser area: pipeline type: regression priority: p1 risk: high ci_eligible: false tags: - local-agent - plugin - tools - pipeline skills: - langbot-env-setup - langbot-testing env: - LANGBOT_FRONTEND_URL - LANGBOT_BACKEND_URL - LANGBOT_LOCAL_AGENT_PIPELINE_URL - LANGBOT_LOCAL_AGENT_PIPELINE_NAME automation: scripts/e2e/pipeline-debug-chat.mjs automation_env: - LANGBOT_FRONTEND_URL - LANGBOT_BROWSER_PROFILE - LANGBOT_CHROMIUM_EXECUTABLE - LANGBOT_LOCAL_AGENT_PIPELINE_URL - LANGBOT_LOCAL_AGENT_PIPELINE_NAME automation_pipeline_url_env: LANGBOT_LOCAL_AGENT_PIPELINE_URL automation_pipeline_name_env: LANGBOT_LOCAL_AGENT_PIPELINE_NAME automation_prompt: "Call the qa_plugin_echo tool with exactly this text: plugin-tool-ok-local-agent. Return only the tool result." automation_expected_text: "qa-plugin-smoke:plugin-tool-ok-local-agent" automation_response_timeout_ms: "180000" setup_automation: - "node:scripts/e2e/ensure-local-agent-pipeline.mjs --write-env" - "case:qa-plugin-smoke-live-install" setup_provides_env: - LANGBOT_LOCAL_AGENT_PIPELINE_URL - LANGBOT_LOCAL_AGENT_PIPELINE_NAME preconditions: - "The selected model route supports function/tool calling." steps: - "Install or enable the bundled qa-plugin-smoke fixture plugin." - "Confirm /api/v1/tools or the plugin detail shows qa_plugin_echo." - "Confirm the fixture plugin is bound to the target pipeline through Extensions, or that all plugins are enabled." - "Open the target local-agent pipeline." - "Use runner Default or the pluginized langbot/local-agent runner." - "Select a model with function-calling ability that is known to work with tools in the current environment." - "Open Debug Chat." - "Send: Call the qa_plugin_echo tool with exactly this text: plugin-tool-ok-local-agent. Return only the tool result." checks: - "UI: Debug Chat bot response contains qa-plugin-smoke:plugin-tool-ok-local-agent." - "Logs: Backend logs show the plugin tool call was executed, not only listed." - "Console: No unexpected frontend errors appear during Debug Chat." evidence_required: - ui - console - backend_log - api_diagnostic diagnostics: - "If qa_plugin_echo is not listed, rebuild and reinstall the qa-plugin-smoke fixture plugin." - "If the selected model returns model_not_found or no available channel only when tools are provided, switch to a known-good function-calling model before diagnosing plugin tools or local-agent." troubleshooting: - local-agent-model-route-unavailable - tool-name-collision-between-mcp-and-plugin - plugin-runtime-timeout - proxy-env-mismatch - survey-widget-blocks-debug-chat