このプロジェクトについて

TinyChannelsは、OpenHumanフレームワーク向けのチャネルおよびメッセージングプリミティブを提供するRustライブラリです。ポータブルなチャネル契約、設定スキーマ、接続メタデータ、ルートヘルパー、およびバックエンド委譲レイヤーを提供します。この設計により、このクレートをOpenHuman本体のアプリケーションクレートに結合することなく、チャネルサーフェスをOpenHumanハーネスに接続できます。 実行時の副作用は、`ChannelBackend`トレイトを通じてプラグイン可能です。REST/JWT/設定ストレージの実際のバックエンド実装はOpenHumanが所有し、このクレートはチャネルメタデータを検証し、そのトレイトを通じて操作を委譲します。 このライブラリには、Cargoフィーチャーで明示的に有効化する必要があるオプションのプロバイダ実装が含まれています: - **Email(送信のみ)**:`lettre`によるSMTP送信。 - **Email**:`lettre`、`async-imap`、`mail-parser`によるSMTP + IMAP。 - **Lark/Feishu**:`axum`と`prost`によるWebhookレシーバー + Protobufデコーダー。 - **WhatsApp Web**:`whatsapp-rust`によるマルチデバイス対応。 Telegram、Discord、Slack、Signal、iMessage、IRC、Yuanbao/DingTalkを含むその他のプロバイダは、デフォルトビルドに含まれています。このクレートはcrates.ioには公開されておらず、ベンダー化されたパス依存関係または直接のGit依存関係を通じて利用されます。 リポジトリはいくつかのクレートとモジュールで構成されています: - `tinychannels-bus`:`Channel`、`ChannelMessage`、`SendMessage`トレイト、設定、ケイパビリティ、会話キーを含むコア契約。 - `tinychannels-runtime`:リスナー監視、有界ディスパッチループ、ログアウトスコープのセッション、ヘルスチェック、およびコンソール`CliChannel`。 - `tinychannels-module`:ロード可能なTinyBusモジュール。 - `src/delivery/`:永続的なアウトバウンドキューと、ドラフト、シンキング、フィラーバブル用のストリーミング返信ドライバー。 - `src/remote/`:リモート制御機能を持つプロバイダ向けのstatus、sessions、new、helpコマンドを実装。 - `src/approvals/`:チャット承認機能を持つプロバイダ向けに、チャット内承認プロンプトを送信。 - `src/relay/`:リレートランスポートループ、WebSocketダイヤラー、およびプロセス全体のトランスポートレジストリ。