Files
LangBot/skills/skills/langbot-testing/cases/local-agent-plugin-tool-call-debug-chat.yaml
T
2026-07-12 17:00:41 +08:00

72 lines
3.1 KiB
YAML

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
env_optional:
- LANGBOT_E2E_FAKE_PROVIDER_BASE_URL
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, or LANGBOT_E2E_FAKE_PROVIDER_BASE_URL points to scripts/e2e/fake-openai-provider.mjs."
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-team/LocalAgent 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:
- "For token-free deterministic UI coverage, start scripts/e2e/fake-openai-provider.mjs and pass LANGBOT_E2E_FAKE_PROVIDER_BASE_URL to this case; setup will bind the local-agent pipeline to that fake OpenAI-compatible model."
- "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