This release is a pre-release and may not be stable for production use.
LangBot Plugin Infra
Plugin SDK, CLI, Plugin Runtime and Box sandbox runtime for LangBot.
English / 简体中文
Overview
This repository is the shared infrastructure powering LangBot's plugin and
sandbox subsystems. It is published to PyPI as the single
langbot-plugin package and ships
three things:
- Plugin SDK & CLI (
lbp) — Python APIs, base classes and thelbpcommand for scaffolding, building, debugging and publishing plugins. - Plugin Runtime (
lbp rt) — the host process that discovers, installs and runs plugins, bridging them to LangBot over stdio or WebSocket. - Box Runtime (
lbp box) — the code-sandbox service backing LangBot's Box subsystem, executing untrusted code via Docker / nsjail / E2B backends.
LangBot depends on this package as the pinned langbot-plugin==<x.y.z> in its
pyproject.toml; the canonical version lives in this repo's pyproject.toml.
The Runtime component (
src/langbot_plugin/runtime/) is licensed separately under AGPL; everything else in this repository is Apache 2.0. Seesrc/langbot_plugin/runtime/README.md.
Install
pip install langbot-plugin
# or, recommended
uv tool install langbot-plugin
lbp --help
CLI at a glance
| Command | Purpose |
|---|---|
lbp init <name> |
Scaffold a new plugin project |
lbp comp <Type> |
Generate a component (Command / Tool / EventListener / KnowledgeEngine / Parser / Page) |
lbp run |
Run / remote-debug a plugin against a running LangBot |
lbp build |
Package the plugin into a distributable zip |
lbp publish |
Publish to the LangBot Plugin Market |
lbp login / lbp logout |
Authenticate with your LangBot account |
lbp rt |
Launch a standalone Plugin Runtime (control 5400, debug 5401) |
lbp box |
Launch a standalone Box sandbox runtime (default port 5410) |
lbp ver |
Print the CLI / package version |
Component types
Plugins extend LangBot through six component types, scaffolded with
lbp comp <Type>:
- Command — user-triggered actions (e.g.
!weather tokyo) - Tool — LLM-callable functions for AI agents
- EventListener — handlers for message-pipeline events
- KnowledgeEngine — custom knowledge-base retrieval for RAG
- Parser — custom message / content parsing
- Page — custom web page embedded in the LangBot admin panel
Runner Runtime
The SDK provides Runner component definitions, protocol entities, runtime
dispatch, run-scoped Host API helpers, and low-level daemon relay primitives
used by runner/plugin packages that need an outbound user-side runtime process.
This includes run-scoped pull APIs on RunnerAPIProxy (history, events, state,
run ledger) and steering_pull for absorbing follow-up user input into an
active run when the runner declares capabilities.steering in its manifest.
The SDK does not provide a managed, generic remote Runner product: external
harness execution policy, process launch details, authentication, workspace
selection, and provider-specific behavior belong to the runner/plugin package or
a deployment-owned remote daemon or managed agent platform.
Documentation
- Plugin development tutorial — https://docs.langbot.app/zh/plugin/dev/tutor
- Debugging the Runtime / CLI / SDK — https://docs.langbot.app/zh/develop/plugin-runtime
- Dev environment setup — https://docs.langbot.app/zh/develop/dev-config
License
Apache 2.0, except the Plugin Runtime (src/langbot_plugin/runtime/) which is
AGPL. See LICENSE and the
Runtime README.
Release files for langbot-plugin 0.6.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langbot_plugin-0.6.0b1.tar.gz | 600.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langbot_plugin-0.6.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.0 MB
Release files / langbot_plugin-0.6.0b1.tar.gz
| Download URL | langbot_plugin-0.6.0b1.tar.gz |
|---|---|
| Size | 600.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8bd100992acc10d80176588221b97e213f9d845d62b2e07847070ec5548c7921
|
|
BLAKE2b-256 checksum How to use checksums |
a46bf4dcf44a681ea2bd02cab1a52ffd2599f7a423d7df29d3340e418c64d6ef
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / langbot_plugin-0.6.0b1-py3-none-any.whl
| Download URL | langbot_plugin-0.6.0b1-py3-none-any.whl |
|---|---|
| Size | 400.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6a1282294cd991ea552ceaf563c0e4050e55821bb8333d3687df5fd3ec33983a
|
|
BLAKE2b-256 checksum How to use checksums |
3eef8d25a218cd05edf2d35a7985e1552226898e226ddb79aff8731f9073bf82
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.13 {"installer":{"name":"uv","version":"0.12.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|