チャットの分岐
分岐とは、選んだメッセージまでのチャットのコピーです。元のチャットをそのまま残して、別の展開を試すときに使います。このガイドでは、分岐の作成、切り替え、表示、名前の変更、削除、エクスポート、インポートを説明します。
1つのチャットの分岐は、すべて1つのグループにまとまります。チャット一覧では、チャットの行は1つのまま残り、分岐の数が表示されます。グループ内の分岐の少なくとも1つに、どのチャットから作られたかが記録されていれば、その数をクリックするとツリーが開きます。その記録がない分岐は、チャットのすぐ下に並びます。グループ内のどの分岐にもその記録がない場合(古い分岐やインポートした分岐)は、グループは1行のままです。その分岐はChat Branches(チャットの分岐)から開いてください。分岐から作った分岐はその分岐の下に入るので、ツリーとして表示されます。各分岐には表示名と最後に使われた日時があるので、「friendly ending」「dark ending」のようにラベルを付けられます。表示名はチャット名とは別のものです。Gameのセッションは分岐ではなく番号付きのセッションなので、Gameのグループは1行のままです。
ここから分岐する
- メッセージをタップして(コンピューターではマウスを重ねて)、メッセージのアクションバーを表示します。
- 小さな分岐アイコンのBranch from here(ここから分岐)をクリックします。
Marinaraは、そのメッセージまでを含めてチャットをコピーし、New Branchという名前の新しい分岐を作ります。名前は後から変更できます。
新しい分岐の特徴は次のとおりです。
- モード、キャラクター、ペルソナ、プロンプトプリセット、接続は元のチャットと同じです。
- すべてのメッセージを、すべてのスワイプと、どのスワイプが選ばれていたかも含めてコピーします。メッセージの操作を参照してください。
- コピーしたメッセージに結び付いたトラッカーとゲームの状態をコピーします。
- RoleplayチャットではAdvanced Memoryの処理結果を引き継ぎます。それより前の、終わったシーンの記憶は、そのまま呼び出せます。分岐元のシーンは再び進行中のシーンになり、その古い記憶は破棄されます。Memory Recallとチャットの要約を参照してください。
- 元のチャットと同じチャットフォルダーに入ります。
日次と週次の要約は引き継がれません。ローリング要約のうち、コピーしたメッセージの中に完全に収まっているものは引き継がれます。分岐点をまたぐ要約と、メッセージの情報を持たない古い要約は除外され、分岐ではそれらを最初から作り直します。
うまくいかなかった場合: シーンのチャットにはBranch from hereが表示されません。シーンのチャットには、代わりにClone from here(ここから複製)があります。シーン: Roleplayを枝分かれさせるを参照してください。
Chat Branchesセクション
Chat Settings(チャット設定)を開き、Chat Name(チャット名)の下にあるChat Branches(チャットの分岐)を展開します。ヘッダーには分岐の数が表示されます。コンピューターでは、独立したウィンドウに切り離すこともできます。Chat Settingsを参照してください。
このセクションには、チャットのすべての分岐が一覧表示され、いま見ている分岐が先頭に来ます。各行には、表示名と最終更新日時が表示されます。行をクリックすると、その分岐に切り替わります。
一覧の上のボタン:
| ボタン | 動作 |
| Branch graph(分岐グラフ) | グラフのウィンドウを開きます。下記を参照してください。 |
| JSONL、Text、Markdown、Story | いま見ている分岐をエクスポートします。チャットのエクスポートとインポートを参照してください。 |
| Export a range(範囲をエクスポート) | チャットの一部をエクスポートします。Gameにはありません。チャットのエクスポートとインポートを参照してください。 |
| Import(インポート) | .jsonlファイルを新しい分岐として追加します。下記を参照してください。 |
| Stats(統計) | いま見ている分岐のチャットの統計を開きます。 |
分岐グラフの表示
グラフは、一覧ではわからない、各分岐がどこで分かれたかを示します。
- Chat Branchesを開き、Branch graph(分岐グラフ)をクリックします。もう一度クリックすると、グラフが閉じます。
グラフは、移動とサイズ変更ができる独立したウィンドウで開きます。スマートフォンではシートとして開きます。グループ内の各チャットには、チャット一覧と同じ順で1行ずつ割り当てられます。メッセージは左から右へ並び、1つの点が1件のメッセージを表します。
- 灰色の点は自分のメッセージ、アクセントカラーの点はキャラクターの返信、中が空の輪はナレーターかシステムのメッセージです。
- 分岐には、その分岐自身のメッセージだけが描かれます。分岐元のメッセージとは線で結ばれます。
- 分岐点の記録がない分岐は、いちばん上のチャットから破線で描かれ、凡例にFork not recordedと表示されます。古い分岐や、元のチャットが削除された分岐がこれにあたります。
- 分岐のない長い区間は、··· N ···という印に折りたたまれます。Nは隠れているメッセージの数です。クリックすると、そのメッセージが表示されます。Expand all(すべて展開)はすべての区間を展開し、Collapse long runs(長い区間を折りたたむ)は再び折りたたみます。
- 分岐点と各分岐の最新メッセージには輪が付きます。輪をタップするか、マウスを重ねるか、キーボードでフォーカスすると、メッセージ番号、書いた相手、本文の冒頭を確認できます。
- 分岐の名前か行をクリックすると、その分岐に切り替わります。いま見ている分岐は強調表示されます。
分岐を作ったとき、チャットの名前を変更したり削除したりしたとき、そして新しいメッセージが届いて少したったときに、グラフが更新されます。
分岐の名前を変更する
- Chat Branchesで、分岐の行にある鉛筆のボタンをクリックします。
- Rename Branch(分岐の名前を変更)ダイアログ(「Set a display name for this chat branch.」)で、新しい名前を入力します。
- Rename(名前の変更)をクリックします。
名前が空の場合や、変わっていない場合は無視されます。
分岐を削除する
- Chat Branchesで、分岐の行にあるゴミ箱のボタンをクリックします。
- Delete Branch(分岐の削除)ダイアログ(「Delete this branch? Messages will be lost.」)で、Delete(削除)をクリックします。
削除されるのは、その分岐とそのメッセージだけです。ほかの分岐は残ります。
分岐が2つ以上あるときは、セクションの下部にDelete All Branches(すべての分岐を削除)が表示されます。「Delete all N branches? This cannot be undone.」と確認されるので、Delete Allで確定します。チャット一覧から始めることもできます。分岐のあるチャットを削除しようとすると、Delete This Branch OnlyとDelete All N branchesの選択肢が表示されます。チャット一覧の管理を参照してください。
ファイルを新しい分岐としてインポートする
- Chat BranchesでImport(インポート)をクリックします。
- SillyTavernまたはMarinaraからエクスポートした
.jsonlファイルを選びます。
Marinaraはそのファイルを現在のチャットのグループに新しい分岐として追加し、「Imported N messages as a new branch」と表示して、その分岐に切り替えます。
分岐のつながり方
このセクションは、分岐のデータを利用して何かを作る人向けです。
- 各分岐には、直接の元になったチャットと、分岐した位置のメッセージが記録されます。元のメッセージIDとコピー先のメッセージIDの両方が保持されるので、コピーしたメッセージに新しいIDが割り当てられても、連携先で分岐の境界を特定できます。
- 分岐からさらに分岐させた場合、親として記録されるのはその分岐で、最初のルートのチャットではありません。
- グループ内の分岐の少なくとも1つに元のチャットが記録されていれば、チャット一覧で数をクリックするとツリーが開きます。元のチャットが不明な分岐は、チャットのすぐ下に並びます。元のチャットが1つもわからないグループは1行のままで、その分岐にはChat Branchesから移動します。
- 親のチャットを削除しても、子の分岐に記録された元のチャットは変わりません。グループ全体を削除すると、その中のチャットがすべて削除されます。