mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-02 03:55:55 +00:00
Phase 0 integration complete - verified minimal loop with local-agent stub runner. Changes: - Add AgentRunOrchestrator for plugin-based agent execution - Add AgentResultNormalizer for Protocol v1 result conversion - Add AgentRunnerDescriptor for runner ID parsing (plugin:author/name/runner) - Update chat handler to use new orchestrator instead of direct runner lookup - Add plugin handler methods for list_agent_runners and run_agent - Add connector methods for AgentRunner protocol forwarding - Update pipeline API to include runner options in metadata - Add integration docs and implementation plan Integration verified: - Runner: plugin:langbot/local-agent/default - Input: "你好" - Output: [stub] Echo: 你好 - Date: 2026-05-10 10:09 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1.7 KiB
1.7 KiB
Agent Runner Pluginization Phase 0 Integration Test Record
Test Summary
Status: PASSED
Date: 2026-05-10 10:09
Test Configuration
- LangBot Branch: feat/agent-runner-plugin
- SDK Branch: feat/agent-runner-plugin
- Runner Repo: langbot-agent-runner (new)
Test Scenario
- Selected Runner:
plugin:langbot/local-agent/default - Input:
1 - Expected Output:
[stub] Echo: 1 - Actual Output:
[stub] Echo: 1
Verified Chain
Frontend selects plugin:langbot/local-agent/default
-> LangBot pipeline
-> AgentRunOrchestrator
-> SDK runtime RUN_AGENT
-> langbot-agent-runner/local-agent DefaultAgentRunner
-> AgentRunResult
-> LangBot response
Key Components Verified
LangBot Host
- AgentRunOrchestrator resolves runner ID via ConfigMigration
- AgentRunContextBuilder builds SDK v1 context
- AgentResultNormalizer normalizes SDK v1 results
- ChatMessageHandler delegates to orchestrator (single resp_message_id, streaming pop/append)
SDK Runtime
- RUN_AGENT action dispatches to plugin runner
- AgentRunner component manifest parsing
- LIST_AGENT_RUNNERS returns runner metadata
langbot-agent-runner Plugin
- DefaultAgentRunner stub implementation
- AgentRunner manifest with protocol_version, capabilities, permissions
- Echo response validates SDK v1 result format
Next Steps (Phase 1)
- Implement real Dify runner (external API runner validation)
- Update frontend to save
ai.runner.id+ai.runner_config - Add persistence migration for old config format
- Update pipeline templates
- Add proxy action secondary permission validation