ErisPulse ドキュメント
ErisPulse は、アダプターを通じて異なるプラットフォームと対話することができる拡張可能なマルチプラットフォームメッセージ処理フレームワークであり、柔軟なモジュールシステムを提供して機能拡張を可能にします。
初めて使う? 5 分間で始める —— インストールから最初のロボットの実行まで、一連の流れで学べる。
パスの選択
目的に応じて、対応する学習パスを選択してください。各パスは、浅いところから深いところへと順序付けられています。
一、ロボットを使いたい
ロボットを起動し、モジュールをインストールし、設定を行います。
| 進捗 | ドキュメント | 説明 |
|---|---|---|
| ① 入門 | 5分で始める | インストール、初期化、実行 —— 唯一のスタート地点 |
| App 直接インストール | ErisPulse-App クライアント | 公式の全プラットフォーム対応クライアント:スマートフォン / PC のグラフィカルインターフェースで直接実行・管理、ターミナル不要 |
| ② 深入 | 最初のロボットを作成する | 最初のコマンドハンドラの作成 |
| ③ 概念 | 基本概念 | アダプタ / モジュール / イベントの設計を理解する |
| ④ 実践 | 一般的なタスク例 | ストレージ、定時タスク、権限制御 |
| 参考 | 設定ファイルの説明 · CLI コマンド · デプロイガイド | 必要に応じて参照 |
| 参考 | プラットフォーム特性ガイド | 各プラットフォーム(雲湖 / QQ / Telegram…)の違い |
二、モジュール / アダプタを開発したい
ErisPulse 用に配布可能な拡張機能を開発します。
| タイプ | 入門 | 進階 |
|---|---|---|
| モジュール開発(推奨) | モジュール開発の入門 | コアコンセプト · Event 包装クラス · ベストプラクティス |
| アダプタ開発 | アダプタ開発の入門 | コアコンセプト · SendDSL 詳解 · イベント変換器 · ベストプラクティス |
| 技術規格 | 規格要件の概要 | アダプタ開発に必須の セッションタイプ · イベント変換 · 送信方法 · API 応答 · リクエスト操作 規格 |
| テストとトラブルシューティング | モジュールテスト(ErisPulse-Testing) | ディストリビューションの決定プロセスにおける「コマンドがなぜ発動しないのか」のトラブルシューティング |
| 公開 | 公開とモジュールストア | 作品を PyPI とモジュールストアに公開する |
三、内部原理を深く理解したい
フレームワークの内部がどのように動作するかを理解します。
| ドキュメント | 説明 |
|---|---|
| アーキテクチャ概要 | 可視化チャート:コアアーキテクチャ、初期化プロセス、イベント処理、ライフサイクル、モジュールのロード戦略(activate_on イベント駆動のラグジュアリーな起動)、ローカルプラグインフォルダとモジュールのホットリロードアーキテクチャ(すべてのモジュールソースに対応) |
| 起動プロセスと手動制御 | 起動プロセスの分解、各段階の手動駆動、ロード失敗の診断 |
| イベントシステム | 5つのイベントカテゴリの完全な API |
| アダプタシステム | アダプタの登録、起動 / 停止、API 呼び出し |
| コアモジュール | Storage / Config / Logger / Router などの基本機能 |
| ライフサイクル管理 · ラグジュアリーな起動 · ルーティングシステム | 内部サブシステム |
| スコープ(scope) | 3次元スコープ制御:モジュールの可用性 / イベントのアクセス制限 / 出力アクションの制限(メソッドレベルの細かいルール、バインディングの継承 merge を含む) |
| 所有権(owner)システム | リソースの所有と自動回収:owner コンテキスト、所有リソースの全体像、アンロード時のクリーンアップ、設計の境界とモジュール開発者向けガイド |
| シャドウモジュールとグレーディングプロセス | モジュールの新バージョンが独立した owner として並行して試運転される:5つの隔離ゲート、動作の diff 対比、promote による正式化と失敗時のロールバック |
| インタラクティブセッションシステム | wait_reply の全解説、セッションタイマー(remind/escalate)、複数ルートの待機(select)、セッションの排他リース、受信箱、メッセージトランザクション、チェーン追跡 |
| モジュール間通信 | RPC 協定化(module.call)、meta.services によるサービス契約とディレクトリ、特定のイベント emit(to=)、コールドスタート時の再送、イベントの冪等性と重複除去 |
| Conversation 多段会話 · MessageBuilder · SQL ビルダー · ストレージバックエンド · HTTP クライアント · 国際化 | 高度なツール |
四、エコシステムと公式クライアント
公式クライアント + 必要に応じてインストール可能なエコシステムモジュール(フレームワークに内蔵されていない機能)。
| ドキュメント | 説明 |
|---|---|
| エコシステム概要 | エコシステムモジュールのインストール方法、なぜこれらが内蔵機能ではないか |
| ErisPulse-App | 公式の全プラットフォーム対応クライアント(Android / Windows / Linux / macOS):ネイティブインターフェースで複数インスタンスを管理、スマートフォンで直接実行、デスクトップのトレイに常駐 |
| ErisPulse-Dashboard | Web 管理パネル + ウィンドウ登録 API(モジュールはサイドバーにカスタムページを登録可能) |
| ErisPulse-Cron | 定時タスクスケジューラモジュール:一回限り / 間隔 / Cron 表現式、コールバックに引数を渡す、SQLite による永続化、他のモジュールが定時コールバックをホスト可能 |
| ErisPulse-Takumi | 画像レンダリング(HTML / ノードツリー / SVG / アニメーション、内蔵中英文字体) |
五、ErisPulse に貢献したい
フレームワークをより良くする
| ドキュメント | 説明 |
|---|---|
| ErisPulse への貢献 | 貢献方法の概要:ドキュメント / i18n / Bug / モジュール / アダプタ |
| 初めての貢献 | fork から PR 提出までの流れ |
開発方法
ErisPulse は以下の2つの開発方法をサポートしています:
- モジュール開発(推奨):独立したモジュールパッケージを作成し、パッケージマネージャーでインストールして管理します。配布や管理が容易です。
- 埋め込み開発:プロジェクト内で直接ハンドラを書く方法。迅速なプロトタイプ開発に適しています。詳しくは 5 分間で始める を参照してください。
その他
- ドキュメントスタイルガイド — ドキュメントを貢献する際の書式規則
- ErisPulse への貢献 — プロジェクトに参加するための入口
- AI による開発支援 — AI プログラミングアシスタント用のプロジェクトのプロンプト
ヘルプを求める
- GitHub リポジトリ:https://github.com/ErisPulse/ErisPulse
- 問い合わせ / バグ報告:Issue を作成
- 技術的な議論:Discussions を確認