プラグインランタイム、CLI、SDKのデバッグ
INFO
まずプラグインチュートリアルを読んで、プラグインシステムを理解してください。
- プラグインランタイム、CLI、SDKはこちらでオープンソース化されています: https://github.com/langbot-app/langbot-plugin-sdk
プラグインランタイムのソースコードをクローンします:
bash
git clone https://github.com/langbot-app/langbot-plugin-sdkプラグインランタイムディレクトリに移動し、依存関係をインストールします:
bash
cd langbot-plugin-sdk
uv sync --devこの時点で、uvは自動的に仮想環境(.venv)を作成します。エディターがこの仮想環境を使用するかどうかを尋ねる場合は、Yesを選択してください。
または、この仮想環境を手動でアクティブ化できます:
bash
source .venv/bin/activateプラグインランタイムの起動
bash
lbp rtlbpコマンドがこのディレクトリの仮想環境のlbp実行可能ファイルであることを確認するか、python -m langbot_plugin.cli.__init__ rtで起動してください。
プラグインランタイムは以下のパラメーターを受け入れます:
--debug-only:data/pluginsディレクトリのプラグインを起動せず、デバッグ接続を通じたプラグインの読み込みのみを許可します。--ws-debug-port: リッスンするデバッグポート、デフォルトは5401です。--ws-control-port: リッスンする制御ポート(LangBotメインプログラム接続用)、デフォルトは5400です。-s:stdioを使用して制御接続を受け入れます。本番環境でのみ使用してください。--skip-deps-check: すべてのプラグイン依存関係がインストールされていることを確認するため、ランタイムは起動時に毎回すべてのインストール済みプラグインの依存関係をチェックしてインストールします。このパラメーターを使用してこのチェックを無効にします。
LangBotをこのランタイムに接続する
LangBotのdata/config.yamlでplugin.runtime_ws_urlをws://localhost:5400/control/wsに設定します。
yaml
plugin:
runtime_ws_url: ws://localhost:5400/control/wsそして、LangBotメインプログラムの起動時に起動パラメーター--standalone-runtimeを追加します(例: uv run main.py --standalone-runtime)。 LangBotを再起動すると、WebSocketを使用してこのランタイムに接続されます。
langbot-plugin-sdkアーキテクチャ
このコードベースには以下が含まれています:
langbot_plugin.api: プラグイン関連のエンティティとAPI定義。langbot_plugin.assets: プラグインテンプレート。langbot_plugin.cli: プラグイン開発CLIツール。langbot_plugin.entities: APIで定義されていないプラグインシステム関連のエンティティ。langbot_plugin.runtime: プラグインランタイムと基礎通信(stdioおよびwebsocket)の実装。
lbp CLIツール
CLIツールは、ランタイムの起動、プラグインの初期化、プラグインコンポーネント管理、Marketplaceとのインタラクションなどの機能を提供します。
詳細なプログラムエントリポイントについては、langbot_plugin.cli.__init__を参照してください。
