# プラグインを作る

> プラグインを作り、審査を通し、それが足すプロンプトから稼ぐ。

Source: https://reverie.im/ja/docs/plugins/creating-plugins
Language: ja

ログインしていれば誰でもプラグインを書けます。チャットを開き、サイドパネルの**プラグイン**タブへ行き、**プラグインを作成**を押します。エディタは三つのステップを進みます——**タイプ**、**基本設定**、**設定**です。

## タイプを選ぶ \[#pick-a-type]

四つあるプラグインタイプのうち、三つはあなたが作れます。四つめはモデルのサンプリング設定を調整するもので、Reverie のものです。

| タイプ               | あなたが書くもの                                                           | 制限                                                                        |
| ----------------- | ------------------------------------------------------------------ | ------------------------------------------------------------------------- |
| **プロンプトプラグイン**    | Handlebars で書いたプロンプトテンプレート。キャラクターのシステムプロンプトの後ろに足される                | テンプレートは最大 100,000 文字                                                      |
| **ツールプラグイン**      | プロンプトテンプレートに加えて、ツール定義：名前、説明、入力パラメータ、出力構造、そして任意の HTML/CSS カードテンプレート | ツール名は英字で始まり、英数字とアンダースコアのみ、最大 64 文字。説明は最大 2,000。カードテンプレートとスタイルは各最大 100,000 |
| **インタラクティブプラグイン** | 識別子と、次のうち少なくとも一つ：フォーム付きのトリガーボタン、AI が生成する面、AI が呼べるツール               | 識別子は最大 80 文字、英数字・ハイフン・アンダースコアで、先頭は英字か数字                                   |

タイプは後から変えられません——**編集時にプラグインタイプは変更できません**。

> ツールプラグインはネットワークリクエストを一切しません。モデルがあなたのツールを呼ぶとき、引数はモデルがでっち上げ、あなたの出力構造とカードテンプレートはその作り話の値を並べて見せるだけです。情報を「見せる」ツール——ステータスパネル、メーター、持ち物、ダイス——を書いてください。何かを調べてくると称するツールではなく。

## 基本設定を埋める \[#fill-in-the-basics]

**プラグイン名**は必須で、最大 100 文字。**説明（任意）** は最大 1,000 文字です。

ここにはスイッチが二つあり、互いに独立しています——片方だけ、両方、どちらも入れない、どれでも構いません。

| スイッチ                | 効果                                            |
| ------------------- | --------------------------------------------- |
| **プラグインを公開する**      | そのバージョンを審査に送ります。承認されると**コミュニティ**タブに全員向けに並びます。 |
| **現在のキャラクターに関連付ける** | そのプラグインを、いま開いているキャラクターとのチャットに限定します。           |

AI 生成ページは二つの部分からなります。**コンテンツ指示**はプロンプトテンプレートと同じ書き方のテンプレートで、`{{char}}`、`{{user}}`、`{{date}}` などのプレースホルダーと、インストールする人に公開した設定を使えます。各ページに何を載せ、誰の声で書くかをここで指定します。**アプリシェル**はページそのもの（HTML・CSS・JavaScript とコンテンツスキーマ）で、一度書けばすべてのページに使われます。AI は内容だけを書き、シェルがそれを描画して、タップやカード、状態を読者の端末で処理します。シェルは自分で書くか**AI で作成**を押して用意します。書き上がる前から、プレビューがサンプルコンテンツでシェルを動かします。シェルができたあとは、**AI で修正**に変えたい点を伝えると、一から作り直さずに今のシェルを手直しします。**元に戻す**を押すと、直前の AI 実行より前のバージョンに戻ります。AI 生成ページを持つプラグインは、シェルがないと保存できません。シェル導入前に公開されたプラグインはそのまま動き続け、次に編集するときにシェルが必要になります。

シェルはサンドボックス内で動きます。ネットワークへのアクセス、外部のファイルやスクリプトの読み込み、アプリのほかの部分への干渉はできません。画像はチャット自身のもの（キャラクターの立ち絵やバナー、読者のアイコン、シナリオやモーメントの画像）に限られ、それ以外は指定できません。ページはチャットを通じて、読者として一言送る、キャラクターが演じ続ける場面指示を出す、チャットに乱数を引かせる、別のページを開く、その場で自分を書き直す、閉じる、といったことができます。また、読者がページ上でしたこと（引いたカード、残したメモ）を保存できるので、ページを開き直してもそのまま残ります。現在時刻とキャラクターの世界設定は自動的に渡されます。

## 例から始める \[#start-from-an-example]

**例を読み込む**は出発点のカタログを開きます——関係性の設定、シーン設定、ロアブック / 記憶バンク、キャラクターステータスパネル、好感度メーター、ダイス / 技能判定、タイムラプス、キャラクターダイアリー、内なる思考、真実か挑戦かなど、カテゴリ別に並んでいます。

これらはエディタ用のテンプレートであって、誰かがインストールしたプラグインではありません。一つ選ぶと設定の項目が埋まり、すでに動くものから手を入れていけます。あなたが自分のプラグインを保存して公開するまで、これが共有されることも公開されることもありません。

## AI に下書きさせる \[#let-ai-draft-it]

どのタイプにも AI の助けがあります——変数入りのプロンプトテンプレートには **AI生成**、ツールとインタラクティブの設定にもそれぞれ同等のものが。ほしいものを一、二文で書けば、エディタが項目を埋めます。AI 生成ページを持つインタラクティブプラグインでは、続けて**アプリシェル**も書きます。インストールする人に見せる設定も同じやり方で、**AIによる設定の自動入力**から埋められます。生成のたびにクレジットを使います。

## プレビューとデバッグは別物 \[#preview-and-debug-are-different]

|        | **プレビュー**                                                   | **デバッグ**                                         |
| ------ | ----------------------------------------------------------- | ------------------------------------------------ |
| 何をするか  | あなたが入力したテスト値でテンプレートを描画する——キャラクター名の既定は *Alice*、ユーザー名は *User* | 保存前の下書きを、エディタを開いたチャットのキャラクター相手に本当に走らせる           |
| 何が見えるか | 生成されたプロンプト、システムプロンプト、描画された出力                                | キャラクターの返信、描画されたツール出力、実行トレース、モデル、所要時間、トークン        |
| 使う文脈   | プレースホルダーだけ                                                  | キャラクター、シナリオ、ペルソナ、メモリー、直近のメッセージ、オンのプラグインのスナップショット |
| 費用     | 無料                                                          | 無料——クレジットは引かれません                                 |
| 回数     | 無制限                                                         | 3 時間あたり 30 回。ダイアログに残り回数が出ます                      |

デバッグはさらに、テストメッセージを 1,000 文字、テスト設定を 50,000 文字までに抑えます。ツールプラグインのデバッグは、ツール呼び出しに対応したモデルでしかできません。

## 公開と審査 \[#publishing-and-review]

非公開のまま保存すれば、そのプラグインはすぐ使えます——あなた自身が使えて、作成したチャットにはインストールされます。**プラグインを公開する**を入れると、そのバージョンは代わりに審査へ回ります。

1. カードはあなたの**マイ**タブで**承認待ち**と表示され、他の人はインストールできません。
2. 自動の事前チェックが決まった間隔で走り、その判定を記録します。
3. 人が承認するか却下します。承認されたプラグインは**承認済み**と表示され、**コミュニティ**タブに現れます。

事前チェックは**アプリシェル**のコードもプラグインのほかの部分と合わせて読み、単独で承認または却下できます。細部まで読み切れないほど長いプラグイン（たいていは大きなシェルを持つもの）は、事前チェックが却下することはあっても、承認するのは必ず人です。

承認済みのプラグインを編集すると新しいバージョンができ、もう一度審査を通ります——カードは**承認待ち**に戻り、その間も以前に承認されたバージョンが、インストール済みの全員のところで動き続けます。

> 保存のたびに、翻訳も含めて変更できないプラグインの複製が固定されます。インストールは自分が固定した複製を動かすので、バージョン
> 2 を入れた人は更新を押すまでバージョン 2
> のままです。キャラクター側の既定に固定できるのは、審査を通ったバージョンだけです。

## 何が稼ぎになるか \[#what-you-earn]

他の人が有料のメッセージであなたのプラグインを使うと、あなたが得るのは**あなたのプラグイン自身がプロンプトに足したテキストのクレジット費用の 5%** です——メッセージの 5% ではありません。金額は、プラグイン自身のプロンプトトークン数にモデルのクレジット倍率を掛け、5% を掛け、そのメッセージのうち有料クレジットで支払われた割合で按分したものです。

次の場合は何も発生しません。

| 場合                       | 理由                                    |
| ------------------------ | ------------------------------------- |
| そのプラグインが公式               | Reverie 自身のプラグインは歩合を払いません             |
| 自分のプラグインを自分で使う           | 自分への支払いはありません                         |
| プラグインにプロンプトテンプレートがない     | インタラクティブプラグインは稼げません——プロンプトに何も足さないからです |
| そのメッセージが全額フリークレジットで支払われた | 有料分がゼロです                              |

> **インタラクティブプラグインは歩合を得ません**。稼ぎが大事なら、プロンプトプラグインかツールプラグインを作ってください——プロンプトに文字を足すのはこの二つです。

## 受け取り方 \[#getting-paid]

歩合は保留中のクレジットとして積み上がり、**毎月 1 日**に精算されます。精算時に保留残高が **100 クレジット**未満なら、その月は支払われず、残高は翌月へ繰り越されます。

**マイ**タブの**収益を表示**には、**総獲得額**、**保留中**、**今月**、**次回精算**、それにプラグインごとの内訳（収益、使用回数、最終使用日）と、精算の履歴が出ます。

## 関連 \[#related]

* [プラグインを使う](https://reverie.im/ja/docs/plugins/using-plugins) —— インストールする側からの見え方
* [プラグイン](https://reverie.im/ja/docs/plugins) —— 三つの種類を並べて
* [収益の流れ](https://reverie.im/ja/docs/creators/revenue-streams) —— クリエイターが稼ぐ他の道
* [クレジット](https://reverie.im/ja/docs/billing/credits) —— クレジットとは何か、メッセージの値段の決まり方
