Debugging Plugin Runtime, CLI, SDK
INFO
Please read the Plugin Tutorial first to understand the plugin system.
- Plugin Runtime, CLI, SDK are open sourced at: https://github.com/langbot-app/langbot-plugin-sdk
Clone the plugin runtime source code:
git clone https://github.com/langbot-app/langbot-plugin-sdk
Enter the plugin runtime directory and install dependencies:
cd langbot-plugin-sdk
uv sync --dev
At this point, uv will automatically create a virtual environment (.venv) for you. If your editor asks whether to use this virtual environment, please select Yes
.
Or you can manually activate this virtual environment:
source .venv/bin/activate
Start Plugin Runtime
lbp rt
Please ensure that the lbp
command is the lbp
executable in the virtual environment of this directory, or start it via python -m langbot_plugin.cli.__init__ rt
.
Plugin Runtime accepts the following parameters:
--debug-only
: Do not start plugins in thedata/plugins
directory, only allow loading plugins through debug connections.--ws-debug-port
: Debug port to listen on, default is5401
.--ws-control-port
: Control port to listen on (for LangBot main program connection), default is5400
.-s
: Usestdio
to accept control connections. Use only in production environment.
Make LangBot Connect to This Runtime
Configure plugin.runtime_ws_url
to ws://localhost:5400/control/ws
in LangBot's data/config.yaml
.
plugin:
runtime_ws_url: ws://localhost:5400/control/ws
And add the startup parameter --standalone-runtime
when starting the LangBot main program (e.g., uv run main.py --standalone-runtime
).
Restart LangBot, and it will connect to this runtime using WebSocket.
langbot-plugin-sdk Architecture
This codebase contains the following:
langbot_plugin.api
: Plugin-related entities and API definitions.langbot_plugin.assets
: Plugin templates.langbot_plugin.cli
: Plugin development CLI tools.langbot_plugin.entities
: Plugin system-related entities not defined in API.langbot_plugin.runtime
: Plugin runtime and underlying communication (stdio and websocket) implementation.
lbp
CLI Tool
The CLI tool provides Runtime startup, plugin initialization, plugin component management, Marketplace interaction, and other functions.
For detailed program entry points, please see langbot_plugin.cli.__init__
.