コンテンツにスキップ

SillyTavernサポート

TomoriBotは、SillyTavernから、おそらくすでにお持ちの2つの要素をインポートできます。プロンプトマネージャーのプリセット(プロンプトの構成)と、キャラクターカード(キャラクター自体)です。これはSTユーザー向けのニッチな機能です。SillyTavernを使用したことがない場合は、このページをスキップして構いません。

キャラクターカードのインポート

Section titled “キャラクターカードのインポート”

/persona importを使用して、既存のSillyTavernのキャラクターをDiscordに直接持ち込むことができます。以下の形式に対応しています。

  • charaまたはcharのメタデータが埋め込まれたPNGカード
  • v2スタイルのJSONカード(ルートレベルのnamedescriptionfirst_mesなど)
  • v3 JSONカード(spec: "chara_card_v3"とネストされたdataオブジェクト)

ファイルにTomoriBotのメタデータがない場合でも、有効なSTのv2/v3カードであれば、インポート時に自動的にSillyTavernの変換処理が実行されます。また、カードを/persona generateに渡して、新しいペルソナに変換することもできます。

インポートされるデータは、保存される前に検証スキーマを通過します(デフォルトの上限:1文字列あたり5,000文字、属性200個、片側のサンプル会話100個、トリガーワード100個。セルフホスト環境ではPRESET_MAX_*の環境変数で調整可能です)。正確な変換とフィールドのマッピングについては、カードサポートのアーキテクチャをご覧ください。

SillyTavernのプロンプトマネージャーのプリセットは、プロンプトのレイアウトを制御します。/st-preset importでインポートし、/st-preset toggleで有効なノードを確認し、/st-preset removeで通常のレイアウトに戻します。

  • プロンプトの順序とマーカーの配置
  • カスタムプロンプトのノード
  • 履歴の後(post-history)や深さ指定の挿入(depth-injection)ノード
  • インポートされたノードの初期の有効・無効状態

プリセットが置き換えないもの

Section titled “プリセットが置き換えないもの”

プリセットはレイアウトを管理するものであり、すべてのテキストソースを管理するわけではありません。以下はプリセットと並行して存在します。

  • ユーザーのシステムやペルソナのブロック:/config system-prompt set/persona prompt set/persona attribute add/persona sample-dialogue add
  • ライブチャットの履歴と検索されたドキュメントのコンテキスト。
  • TomoriBotの自動コンテキスト:サーバーメモリー、絵文字・スタンプのコンテキスト、会話中のユーザー、短期メモリー、条件付け、および同様のブロック。

ネイティブのブロックのマッピング

Section titled “ネイティブのブロックのマッピング”
  • main → 現在のシステムプロンプト(/config system-prompt setで設定されたもの、または組み込みのフォールバック)
  • charDescription/persona prompt set
  • charPersonality/persona attribute add
  • dialogueExamples/persona sample-dialogue add
  • chatHistory → ライブチャンネルの履歴
  • worldInfoBefore / worldInfoAfter → 検索されたドキュメントのコンテキスト(STのlorebookではありません)

プリセットがアクティブな間は、組み込みのフォールバックのシステムプロンプトは削除されます。ただし、/config system-prompt setで独自のプロンプトを設定している場合は、引き続き送信されます。

プリセットが無視されているように見える場合のよくある原因は以下の通りです。

  • インポート済 ≠ 送信:prompt_orderで無効になっているノードは、/st-preset toggleで有効にするまでオフのままです。コメントのみや空のノードは送信されず、不明なマーカーはスキップされます。
  • 順序は文字通り適用されます。chatHistorydialogueExamplesの前に配置すると、ライブチャットが先に送信されます。
  • 履歴の後(post-history)や深さ指定の挿入(depth-injection)は、独立したメッセージになるのではなく、既存のチャット履歴のエントリーに統合されます。同じ深さの複数のノードはバッチ処理されます。
  • 正規表現による後処理、プリセット側のtemperature、top-p、モデルのオーバーライド、および階層化されたプリセットはサポートされていません。古いテキスト補完のプリセットは、ST専用のブロック(scenario、anchors、stop stringsなど)を破棄するベストエフォートなパスでインポートされます。

Discord内での完全なリファレンスについては、/help st-presetを実行してください。インポートエンジンの内部については、プリセットシステムのアーキテクチャをご覧ください。