-
Notifications
You must be signed in to change notification settings - Fork 1.5k
ja develop plugin runtime
Note
プラグインランタイム、CLI、SDKはこちらでオープンソース化されています: https://github.com/langbot-app/langbot-plugin-sdk
LangBotはlangbot-plugin-sdkで定義されたエンティティに依存するため、新しいディレクトリでVS Codeを開き、LangBotとlangbot-plugin-sdk(git clone https://github.com/langbot-app/langbot-plugin-sdk)をサブディレクトリとして配置することをお勧めします。ディレクトリ構造は以下の通りです:
langbot-projects
├── LangBot
├── langbot-plugin-sdkLangBotディレクトリに移動し、依存関係をインストールします:
cd LangBot
uv sync --devこの時点で、uvは自動的に仮想環境(.venv)を作成します。エディターがこの仮想環境を使用するかどうかを尋ねる場合は、Yesを選択してください。

プロンプトが表示されない場合は、右下隅からPythonインタープリターのパスをvenv内のインタープリターに手動で設定してください。
次に、VS Code下部のターミナルを開きます。これにより自動的にvenvがアクティブ化されます。
または、この仮想環境を手動でアクティブ化できます:
# .venvのパスに応じてコマンドを変更してください
source .venv/bin/activateuv run --no-sync lbp rtまたは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ディレクトリの仮想環境(.venv)がアクティブ化されたターミナルで、langbot-plugin-sdkディレクトリに移動し、以下を実行します:
uv pip install .これにより、修正したlangbot-plugin-sdkがLangBotの環境にインストールされます。
LangBotのdata/config.yamlでplugin.runtime_ws_urlをws://localhost:5400/control/wsに設定します。
plugin:
runtime_ws_url: ws://localhost:5400/control/wsそして、LangBotメインプログラムの起動時に起動パラメーター--standalone-runtimeを追加します(例: uv run --no-sync main.py --standalone-runtime)。このコマンドでは必ず--no-syncパラメーターを付けてください。これにより、同期したローカルのlangbot-plugin-sdkがリモート版で上書きされないことが保証されます。
LangBotを再起動すると、WebSocketを使用してこのランタイムに接続されます。
LANGBOT_PLUGIN_RUNTIME_CONTROL_TOKEN は既定では省略可能です。LangBot と Runtime の両方で未設定の場合、ローカル OSS の制御接続はトークンなしで確立されます。公開された 5400 ポートを保護する場合は、両側に同じ 32 文字以上の高エントロピー値を設定してください。片側だけに設定すると接続は失敗します。
このコードベースには以下が含まれています:
-
langbot_plugin.api: プラグイン関連のエンティティとAPI定義。 -
langbot_plugin.assets: プラグインテンプレート。 -
langbot_plugin.cli: プラグイン開発CLIツール。 -
langbot_plugin.entities: APIで定義されていないプラグインシステム関連のエンティティ。 -
langbot_plugin.runtime: プラグインランタイムと基礎通信(stdioおよびwebsocket)の実装。
CLIツールは、ランタイムの起動、プラグインの初期化、プラグインコンポーネント管理、Marketplaceとのインタラクションなどの機能を提供します。
詳細なプログラムエントリポイントについては、langbot_plugin.cli.__init__を参照してください。
Automatically synchronized from langbot-app/langbot-wiki.
简体中文
指南
开发者
- 插件开发
- 插件 SDK API
- 核心开发
API 参考
- Service API
English
Guides
Developers
-
Plugin Development
- Plugin Development Tutorial
- Completing Plugin Configuration Information
- Plugin Directory Structure
- Component Development
- Code Style Guide
- Migration Guide
- Publish Plugin
- Plugin SDK API
- Core Development
API Reference
- Service API