プラグインエコシステム Round 2 基線(v0.3.13)
本ドキュメントは、sharelife を機能プラグイン段階からプラットフォーム段階へ進める基線設計です。
最小版(MVP)
plugin.manifest.v2.json(プラグイン契約)astr-agent.yaml(Agent/Pipeline 契約)- Capability Gateway(権限宣言ベースの実行制御)
create-astrbot-plugin(スキャフォールド)- ホットリロード開発
- リスクラベル・互換性チェック・導入確認・監査を備えたマーケット運用
実装状況(M1-M5)
M1完了: スキーマ凍結 + サンプル + CI 検証(scripts/validate_protocol_examples.py)。M2完了: Capability Gateway(sharelife/application/services_capability_gateway.py)で未宣言高リスク能力を deny-by-default。M3完了: DX コマンド(scripts/create-astrbot-plugin/scripts/sharelife-hot-reload)と SDK 型契約(sharelife/sdk/contracts.py)。M4完了: Pipeline Orchestrator(sharelife/application/services_pipeline.py)で A->B 連鎖とretry/skip/abortを実装。M5完了: ガバナンスメタデータ(capability_summary/compatibility_matrix/review_evidence)と非公開 Featured ゲート。
M5 後の拡張:
M6完了: profile-pack の plugin install 実行閉ループ(plan -> confirm -> execute)は実装済み。コマンド実行は既定で無効、接頭辞 allowlist + timeout、実行証跡の永続化、任意のrequire_success_before_applyで安全性と再現精度を両立。
アーキテクチャ図(文字)
text
Plugin Lifecycle -> Capability Gateway -> Runtime Adapters
| | |
v v v
Event Bus <-> Pipeline Orchestrator <-> Risk/Audit Engine
| | |
+---------- WebUI/CLI + Registry + Package Storageコアコンポーネント
- Lifecycle Manager
- Capability Gateway
- Manifest/Schema Validator
- Pipeline Orchestrator
- Risk/Audit Engine
- Registry Service
- DX Toolchain
データフロー
- 公開フロー:検証 -> パッケージ化 -> スキャン -> ラベル付け -> カタログ登録
- 導入フロー:閲覧 -> 互換性確認 -> 権限確認 -> 導入 -> 監査記録
- 実行フロー:トリガー -> 権限判定 -> プラグイン実行 -> 監査
- Profile/Extension Pack:export -> import -> dry-run -> apply/rollback
技術スタック
- Python 3.12 / FastAPI / Pydantic
- 既存 Sharelife モジュール境界
- WebUI / VitePress / GitHub Actions / GitHub Pages / GitHub Releases
構築順序
- 契約スキーマ凍結
- Capability Gateway 実装
- DX(スキャフォールド + ホットリロード)実装
- Composable Pipeline 実装
- マーケット治理(可視化証拠・審査支援)強化
エッジケース
- 権限宣言不足
- 互換性不一致
- ホットリロード時の状態汚染
- パイプライン中間失敗
- 高リスク導入時の管理者確認不足
拡張戦略
- 公式/コミュニティ/私有 Registry の統合
- 段階的隔離(Capability -> Container/WASM)
- メンテナ信用・プラグイン健全性スコア
- SDK v4 互換ブリッジ
想定ボトルネック
- DX 不足による開発者流入停滞
- 権限 enforcement 不整合による信頼低下
- 手動審査コスト肥大
- 契約ドリフトによる組み合わせ劣化
v2 最適化
- 強隔離サンドボックス
- プラグイン資源予算(CPU/メモリ/IO)
- リスク/互換性ベース推薦
- トレーシングと失敗分析
- Astr UI Kit の統一
- Web マーケットからローカル AstrBot へのワンクリック導入