Skip to content

プラグインランタイム、CLI、SDKのデバッグ

INFO

まずプラグインチュートリアルを読んで、プラグインシステムを理解してください。

プラグインランタイムのソースコードをクローンします:

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 rt

lbpコマンドがこのディレクトリの仮想環境の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.yamlplugin.runtime_ws_urlws://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__を参照してください。