プラグインシステム
ReadAwareプラグインは、デスクトップホストが公開する機能を組み合わせます。本、読書状態、注釈、会話、メモリを扱い、アクションやプロバイダーを追加し、範囲が限定されたホストサービスを利用できます。
このリファレンスは開発ソースに基づいています。ビルドや公開の前に、機能要件をインストール済みアプリに合わせてください。
機能ファミリーを選ぶ
| ファミリー | 用途 | 例 |
|---|---|---|
| ドメイン | ReadAwareが所有するデータと動作 | ライブラリ、読書、注釈、会話、設定、メモリ |
| コントリビューション | 新しいアクション、選択肢、プロバイダー実装 | コマンド、コンテキストアクション、音声、コンテンツソース、アシスタントツール、テーマ |
| サービス | ホスト操作とプラグイン専用機能 | リソース、ネットワーク、推論、ストレージ、スケジュール、ジョブ、トランザクション |
| スキーマ | ホストが描画または解釈するデータ | ビュー、設定フォーム、テーマ |
Capabilities Explorerで実際のメソッドを検索し、境界を理解して、マニフェストを始めます。APIリファレンスではファミリーの組み合わせ方を説明しています。
リーダーのタスクから始める
- 検索して移動する: Libraryのソース検索と範囲読み取りを使い、現在のセッションガード付きでReadingのナビゲーションを使います。
- メモを集めて確認する: Annotationsを検索または観測します。条件付き変更で新しい編集を守ります。
- 読書メモリを扱う: Memoryの検索と、メモリ、分類、プロフィール、エンティティ、グラフ、コンテキストバンドル用の許可されたコマンドを使います。
- 会話を支援する: 許可されたトランスクリプトと概要を読み、ホスト承認用のターンを提案するか、アシスタントツールを登録します。
- ワークフローを自動化する: スケジュール、範囲付き変更カーソル、対応する永続ジョブ、ローカルトランザクションを組み合わせます。
- 外部コンテンツを取り込む: ファイルシステムやブラウザーの抜け道ではなく、オリジン単位のネットワークアクセス、コンテンツプロバイダー、封印済みリソースを使います。
権限、バージョン、オブジェクト付与
これらは別々に確認されます。
requiresは互換性のある機能バージョンを宣言します。permissions、settingsAccess、networkAccessは権限を宣言します。- ユーザーの本の付与は、アクターを全書籍、現在の本、指定した本のいずれかに制限します。
- ライフサイクルと現在の実行条件が、特定の操作を今利用できるかを決めます。
権限不要のサービスでも、特定メソッドには別ドメインの付与が必要な場合があります。可用性確認の成功はヒントであり、実行時チェックを回避する許可ではありません。
ホスト描画インターフェース
プラグインは構造化されたビューとコールバックを返します。描画、フォーカス、ナビゲーション、読み込みとエラー状態、テーマ、クリーンアップはReadAwareが所有します。ビューにはリスト、フォーム、詳細レイアウト、範囲付きブロックを含められ、公開ビュー契約を通じてライブ更新できます。
プラグインはReact、任意のHTML、CSS、iframe、DOMをマウントできません。新しいUI動作には対応するコントリビューションポイントを使ってください。
分離とライフサイクル
各プラグインはモジュールWorkerで実行されます。Tauri、SQLite、ファイルシステム、プロセス、DOMへ直接アクセスできません。ネットワークとストレージはホスト仲介のコンテキストを使います。
有効化では登録をステージし、対応する読み取りを許可します。業務上の書き込みと外部副作用はアクティブなハンドラーから始まります。プライベートデータの移行はストレージ専用権限で実行されます。有効化や移行に失敗した場合、候補が現在のランタイムを置き換える前にロールバックされます。
マーケットプレイスのプラグインは、新しいリリースがユーザーが承認済みの権限(権限、設定へのアクセス、ネットワーク接続元)を超える要求をしない場合に限り、自動的に更新されます。それ以上の要求がある場合は同意を待ちます。フォルダーやzipからインストールされたプラグインがマーケットプレイスのリストによって置き換えられることはありません。
インストールは今もソフトウェアを信頼するかどうかの判断です。パッケージのソース、要求された権限、ネットワーク先、データ処理を確認してください。
ファーストパーティプラグインから学ぶ
ソースツリーにはJumper、Dictionary、Sentence Readerなどの動作例と同梱プラグインがあります。ソース例は、すべてのパッケージがすべてのリリースに含まれることを保証しません。
プラグインをビルドする · APIリファレンス · 公開