feat(agent): prepare 4.11.x EBA and AgentRunner integration#2277
feat(agent): prepare 4.11.x EBA and AgentRunner integration#2277huanghuoguoguo wants to merge 81 commits into
Conversation
| pass | ||
|
|
||
|
|
||
| class DummyDingTalkClient(DingTalkClient): |
| pass | ||
|
|
||
|
|
||
| class DummyWecomClient(WecomClient): |
| return decorator | ||
|
|
||
|
|
||
| class DummyWecomBotClient(DummyWecomBotWsClient): |
| pass | ||
|
|
||
|
|
||
| class DummyWecomCSClient(WecomCSClient): |
|
这里建议把 EBA / Agent 编排相关文档口径再收敛一下,避免把目标形态和当前实现混在一起。 我理解当前更准确的分层是: 几个关键判断:
因此建议文档上做两个调整:
更宏观一点,这个设计的价值不只是 IM Bot。IM 是当前落点,因为 LangBot 既有资产在 platform adapter、bot、message pipeline 和投递能力上。但 |
- TelegramAdapter inherits AbstractPlatformAdapter with all capabilities - TelegramEventConverter handles all Update types: message, edited_message, chat_member, my_chat_member, callback_query, message_reaction - TelegramAPIMixin implements: edit_message, delete_message, forward_message, get_group_info, get_group_member_list/info, get_user_info, get_file_url, mute/unmute/kick_member, leave_group - PLATFORM_API_MAP for call_platform_api: pin/unpin message, set chat title/desc, get admins, send chat action, create invite link, answer callback query - Full backward compat: legacy FriendMessage/GroupMessage listeners still work - Preserves all existing functionality: stream output, markdown card, forum topics - Old sources/telegram.py untouched for gradual migration
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
a8315b7 to
99d9c22
Compare
Scope
This PR prepares the 4.11.x integration branch for LangBot. It brings together the EBA adapter foundation and the AgentRunner pluginization host work.
Included in this branch:
Linked branches and companion PRs
This PR is part of the 4.11.x AgentRunner integration set and should be reviewed/tested with the matching SDK branch:
langbot-app/LangBotdev/4.11.x->master, #2277langbot-app/langbot-plugin-sdkdev/4.11.x->main, langbot-app/langbot-plugin-sdk#88langbot-app/langbot-local-agentmain,README.mdlangbot-app/langbot-agent-runnermain,README.mdlangbot-app/langbot-agent-control-planemain,README.mdJoint test surface
Use this PR together with the SDK companion PR and the three AgentRunner plugin repositories above:
langbot-plugin-sdkfromdev/4.11.x/ PR [ENHANCE]使用限制,忽略某人私聊,忽略某群消息,忽略某群中某人消息 #88.langbot-local-agent/README.mddocuments the in-process local runner path that exercises host model, prompt, history, tool, knowledge-base, state, and storage pull APIs.langbot-agent-runner/README.mddocuments the external-service runner path, including run-scoped Host API/MCP access patterns and steering expectations.langbot-agent-control-plane/README.mddocuments the admin plugin path for listing runs, runtimes, descriptors, event pages, reconciliation, and cancellation.These repositories form the cross-repo validation set for AgentRunner Protocol v1 compatibility.
Current status
Done / unit covered:
activatepersistshost.activated_skillsbest-effort and later runs restore from pipeline-visible skills.Still intentionally out of scope for this PR:
Verification
LangBot was tested against the local editable
langbot-plugin-sdkfrom the matchingdev/4.11.xbranch.467 passed, 64 warningstests/unit_tests/agent,tests/unit_tests/plugin/test_handler_actions.py,tests/unit_tests/provider/test_skill_tools.py, pipeline chat/preproc/media fallback tests, and Telegram EBA adapter tests.agent_runnerentities from the local SDK branch.