LangBot
An open-source multi-platform chatbot framework. It supports integration with messaging platforms such as WeChat, Feishu and DingTalk, and connects to external AI agents through pluggable Runners.
Core Facts
Timeline (last 90 days)
LangBot 4.11 changes Runner from built-in code to a plugin installable from the plugin marketplace; the core no longer presets the running logic of service APIs, and all external integrations must be loaded as plugins.
The LangBot official document OFFICIAL_RUNNER_PLUGINS.md maps the old dify-service-api runner to the DifyAgent plugin and states that the old built-in runner code no longer provides a runtime fallback.
LangBot's event routing matches entries one by one in order of priority from highest to lowest; after the first match, only one response target is executed, and attaching a second route to the same event will not cause the handler to be called twice.
The WeCom customer service adapter declares inbound events such as message.received, message.deleted, and wecomcs.enter_session, as well as outbound actions such as send_message, reply_message, get_message, and get_user_info.
During migration, the old pipeline route should be replaced with a new Agent handler rather than adding a new route, because after the first route matches, subsequent routes will not execute.
The plugin runtime container must be on the same network as the LangBot core for the Dify base URL to be resolved.
In self-hosted deployments, Dify's base URL can use a container alias (such as http://dify:5001/v1), provided that the LangBot plugin container and the Dify container are on the same Docker network.
The "Identity (sender)" field in the LangBot handler determines the user identifier passed to Dify, affecting session isolation and usage statistics on the Dify side.
In the Agent event debugging page, platform tools use Mock: the Agent actually calls the tools, but platform actions such as replying and sending are simulated and no real messages are sent.
In this test, the session was triggered three times, and the conversation_id was an empty string each time; continuity across multiple turns was not confirmed.
16 more timeline events
All Facts (20)
LangBot has built-in Agent capabilities, supporting autonomous decision-making and tool calling
65%UnverifiedLangBot设计了插件系统,开发者可以通过编写插件扩展机器人功能
90%UnverifiedLangBot支持通过Ollama进行本地大模型部署
90%UnverifiedLangBot支持Satori跨平台聊天协议标准
60%UnverifiedLangBot provides complete knowledge base orchestration functionality, supporting Retrieval-Augmented Generation (RAG)
60%UnverifiedLangBot is developed based on Python
60%UnverifiedLangBot officially offers a hosted option at space.langbot.app; the article's steps apply only to self-hosted deployments.
50%UnverifiedLangBot 4.11 changes Runner from built-in code to a plugin installable from the plugin marketplace; the core no longer presets the running logic of service APIs, and all external integrations must be loaded as plugins.
50%UnverifiedThe LangBot official document OFFICIAL_RUNNER_PLUGINS.md maps the old dify-service-api runner to the DifyAgent plugin and states that the old built-in runner code no longer provides a runtime fallback.
50%UnverifiedLangBot's event routing matches entries one by one in order of priority from highest to lowest; after the first match, only one response target is executed, and attaching a second route to the same event will not cause the handler to be called twice.
50%UnverifiedThe WeCom customer service adapter declares inbound events such as message.received, message.deleted, and wecomcs.enter_session, as well as outbound actions such as send_message, reply_message, get_message, and get_user_info.
50%UnverifiedDuring migration, the old pipeline route should be replaced with a new Agent handler rather than adding a new route, because after the first route matches, subsequent routes will not execute.
50%UnverifiedThe plugin runtime container must be on the same network as the LangBot core for the Dify base URL to be resolved.
50%UnverifiedIn self-hosted deployments, Dify's base URL can use a container alias (such as http://dify:5001/v1), provided that the LangBot plugin container and the Dify container are on the same Docker network.
50%UnverifiedThe "Identity (sender)" field in the LangBot handler determines the user identifier passed to Dify, affecting session isolation and usage statistics on the Dify side.
50%UnverifiedIn the Agent event debugging page, platform tools use Mock: the Agent actually calls the tools, but platform actions such as replying and sending are simulated and no real messages are sent.
50%UnverifiedIn this test, the session was triggered three times, and the conversation_id was an empty string each time; continuity across multiple turns was not confirmed.
50%UnverifiedLangBot's official documentation recommends that external runners save the conversation_id returned by Dify in plugin storage or context runtime state, rather than relying on LangBot's internal session structure.
50%UnverifiedWhether a given chat platform is supported in LangBot depends on the adapter and event binding, not the Runner; the Runner itself does not determine the scope of platform support.
50%UnverifiedLangBot plugin artifacts are content-addressed, and the marketplace-side digest does not necessarily equal the local digest, so it must be compared with plugin_settings.artifact_digest; the article observed two different digests for LocalAgent 0.2.1.
50%