mirror of
https://github.com/langbot-app/LangBot.git
synced 2026-06-04 12:56:02 +00:00
feat(agent-runner): integrate AgentRunner Protocol v1 with plugin system
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>
This commit is contained in:
63
docs/agent-runner-pluginization/PHASE0_INTEGRATION_RECORD.md
Normal file
63
docs/agent-runner-pluginization/PHASE0_INTEGRATION_RECORD.md
Normal file
@@ -0,0 +1,63 @@
|
||||
# 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)
|
||||
|
||||
1. Implement real Dify runner (external API runner validation)
|
||||
2. Update frontend to save `ai.runner.id` + `ai.runner_config`
|
||||
3. Add persistence migration for old config format
|
||||
4. Update pipeline templates
|
||||
5. Add proxy action secondary permission validation
|
||||
|
||||
## Related Documents
|
||||
|
||||
- [IMPLEMENTATION_PLAN.md](./IMPLEMENTATION_PLAN.md)
|
||||
- [OFFICIAL_RUNNER_PLUGINS.md](./OFFICIAL_RUNNER_PLUGINS.md)
|
||||
Reference in New Issue
Block a user