TavoはスマホでローカルLLMを含む、任意のLLMとAPI接続してRPチャットができるLLMのフロントエンドアプリです。
簡単に言えばスマホで動くSillyTavernみたいなものです。
LoreBooks機能、OpenAI互換TTS、画像生成との連携などに対応していますし、SillyTavernのキャラクターカードも読み込めます。
TavoはLLMのフロントエンドアプリなのでアプリ単体ではAIとチャットできません。
各種クラウドなLLMやPCなどで実行しているローカルLLM(OpenAI互換API)などに接続する必要があります。
※大手のLLMプロバイダーと直接契約、利用すると最悪の場合アカウントがBANされるのでSonnet、Opus、ChatGPT、Geminiなどの大手LLMを使う場合でもOPやNanoGPTなどのLLMルーター事業者と契約して利用するのがオススメです。
詳しくは【NanoGPT】月12ドルでオープンウェイトモデルが実質使い放題のLLMサービスページをご覧下さい。
公式サイト:https://www.tavoai.dev/app/index.html#/
アプリ配布先
App Store
Google Play
編集予定:
編集履歴:
260626:「チャットする」の内容追加, 「その他、関連するWiki内のページなど」項目追加

アプリインストール後、規約に同意するか聞かれるので同意します。

まずはLLMへAPI接続します。
今回は例として、GeminiやDeepSeekなどにアクセスできるLLMルーターサービスのNanoGPTにAPI接続してみます。
「API connection」をタップして「Create」から新しいAPI設定を作成します。

名前をわかりやすいものに、「Model Platform」に利用しているサービスの物か、今回のNanoGPTやローカルLLMの場合は「Custom (OpenAI-compatible)」のOpenAI互換APIを選びます。
「API base URL」にNanoGPTを使用している際は下記の通りに、ローカルLLMを使用している際はローカルLLMを実行しているPCのアドレスやportなどを入力します。
「Model」から利用する言語モデルを選びます。ローカルLLMの際はロードした言語モデル名が表示されるはずです。
今回は「GLM-5.2」を選びました。
あとは「Save」で入力したAPI設定を保存します。

画面を戻り、「Characters」をタップします。
最初はなんのキャラクターも居ないので右上の「Create」からキャラクターの作成/インポートを行います。
今回は例として、筆者の作ったキャラクターカードを読み込ませます。
このWikiの掲示板のスレッド、SillyTavernのRP用キャラクターカードなどの配布スレからダウンロードするか、下記のURLを「Import character from URL」の入力欄に貼り付けてインポートします。

ゼロから新しいキャラクターを作成します。
キャラクターの記述方法などについては【ローカルLLM】SillyTavern向けプロンプト記述方法などページをご覧下さい。

「Start chatting」からチャットを開始します。
画面左中央の横三本線のアイコンをタップすると全画面に、もう一度タップするとチャットのセッションタブが表示されます。

画面左下の「🔃」アイコンはLLMの応答を再生成します。

画面左下から2番目の「⏩️」アイコンはLLMにチャットメッセージの続きを生成するものです。
※通常のチャットだとユーザーの入力 → LLMの応答 → ユーザーの入力...と続きますが、LLMの応答 → LLMの応答...となります。

画面左下から3番目のアイコンは、ユーザーの入力をLLMが代わりに考えてくれます。(Impersonate,なりきり/代筆, AIにユーザー側の返答を書かせる機能)

画面下部のチャット入力欄の左、「+」をタップすると、それぞれ「Photos」(端末内の画像を選んで送信)、「Camera」(カメラを起動して撮った写真を送信)、「Imagen」(画像生成)、「Impersonate」(なりきり/代筆, AIにユーザー側の返答を書かせる機能)です。

チャット入力欄をタップして入力画面になると右下に「""」と「**」が表示されますが、これらは主に英語圏のキャラクターカードでよく使われる引用符(日本語で言うところの「」(キャラクターやユーザーの発言に用いられる))と、アスタリスクで囲んだ地の文などを表現する ** です。
こうしてキャラクターの発言と地の文を区別することで地の文を斜体にしたり、キャラクターの発言テキストを色付けしたりできます。
個人的には""はともかく**は多用するので助かります。

Voice API (TTSのAPI)設定です。
GPT (OpenAI)やGoogle Gemini TTSのほか、OpenAI互換TTS(「Custom (OpenAI-compatible)」)にも対応しています。
ローカル環境でTTSをする場合はVOICEVOXなどをOpenAI互換TTS APIにしてAIに喋らせるページなどもご覧下さい。

TTSの詳細な設定です。

画像生成AIとの連携時の詳細設定です。

以下、デフォルトのプロンプト

長期記憶と言って、長くなったチャットの履歴を「要約」する事で最初の方の出来事などを「忘れない」ようにする設定です。
以下、デフォルトのプロンプト


画像キャプションの設定です。
画像認識対応のLLMに画像を送信してキャラクターに反応してもらえます。
メインのAPIのほか、画像キャプションだけ違うAPIにしたりできます。
簡単に言えばスマホで動くSillyTavernみたいなものです。
LoreBooks機能、OpenAI互換TTS、画像生成との連携などに対応していますし、SillyTavernのキャラクターカードも読み込めます。
TavoはLLMのフロントエンドアプリなのでアプリ単体ではAIとチャットできません。
各種クラウドなLLMやPCなどで実行しているローカルLLM(OpenAI互換API)などに接続する必要があります。
※大手のLLMプロバイダーと直接契約、利用すると最悪の場合アカウントがBANされるのでSonnet、Opus、ChatGPT、Geminiなどの大手LLMを使う場合でもOPやNanoGPTなどのLLMルーター事業者と契約して利用するのがオススメです。
詳しくは【NanoGPT】月12ドルでオープンウェイトモデルが実質使い放題のLLMサービスページをご覧下さい。
公式サイト:https://www.tavoai.dev/app/index.html#/
アプリ配布先
App Store
Google Play
編集予定:
- ローカルのOpenAI互換TTSとの接続例など
- ローカルの画像生成AIとの連携例など
編集履歴:
260626:「チャットする」の内容追加, 「その他、関連するWiki内のページなど」項目追加
SillyTavernもスマホにインストールできなくはないのですが、結構面倒です。(※参考までにAndroidへのインストール方法:https://docs.sillytavern.app/installation/android-...)
このため、SillyTavernは主にPCにインストールして使うのが主流かと思われます。
PCなどでSillyTavernを実行していれば、ローカルネットワーク内であれば(またはWireGuardなどの自宅VPNを使えば外からも)スマホからアクセスして使用できますが、その間は常にPCなどSillyTavernをインストールしたマシンを起動させていなければいけません。
TavoならiOSまたはAndroidのスマホ(とAPI接続するLLM)で完結するのでスマホから利用するのがメインのユーザーならこちらの方が良いかもしれません。
このため、SillyTavernは主にPCにインストールして使うのが主流かと思われます。
PCなどでSillyTavernを実行していれば、ローカルネットワーク内であれば(またはWireGuardなどの自宅VPNを使えば外からも)スマホからアクセスして使用できますが、その間は常にPCなどSillyTavernをインストールしたマシンを起動させていなければいけません。
TavoならiOSまたはAndroidのスマホ(とAPI接続するLLM)で完結するのでスマホから利用するのがメインのユーザーならこちらの方が良いかもしれません。
現時点(26/06/26)ではTavoはプラグインなどの外部拡張機能には対応していません。
例えば、SillyTavernのVRM拡張機能(VRM形式の3Dキャラクターモデルを表示させる拡張機能)などに相当する機能はありません。
そのため、多機能性や拡張性ではSillyTavernに対してTavoは劣ります。
例えば、SillyTavernのVRM拡張機能(VRM形式の3Dキャラクターモデルを表示させる拡張機能)などに相当する機能はありません。
そのため、多機能性や拡張性ではSillyTavernに対してTavoは劣ります。
SillyTavernのUIは(機械翻訳レベルですが)日本語に対応しています。
Tavoは現時点(26/06/26)では英語、スペイン語、中国語のみです。
ただ、SillyTavernの慣れないと何処に何があるかわからない設定画面に比べるとTavoはシンプルなUIで操作性に勝ります。
Tavoは現時点(26/06/26)では英語、スペイン語、中国語のみです。
ただ、SillyTavernの慣れないと何処に何があるかわからない設定画面に比べるとTavoはシンプルなUIで操作性に勝ります。

アプリインストール後、規約に同意するか聞かれるので同意します。

まずはLLMへAPI接続します。
今回は例として、GeminiやDeepSeekなどにアクセスできるLLMルーターサービスのNanoGPTにAPI接続してみます。
「API connection」をタップして「Create」から新しいAPI設定を作成します。

名前をわかりやすいものに、「Model Platform」に利用しているサービスの物か、今回のNanoGPTやローカルLLMの場合は「Custom (OpenAI-compatible)」のOpenAI互換APIを選びます。
「API base URL」にNanoGPTを使用している際は下記の通りに、ローカルLLMを使用している際はローカルLLMを実行しているPCのアドレスやportなどを入力します。
# Text generation web UIの場合の例
http://{PCのアドレス}:5000
# NanoGPT 通常
https://nano-gpt.com/api/v1
# NanoGPT サブスク対象のモデルのみ
https://nano-gpt.com/api/subscription/v1
「API Key」はローカルLLMの場合は空欄で大丈夫ですが、NanoGPTの場合は【NanoGPT】月12ドルでオープンウェイトモデルが実質使い放題のLLMサービスを参考に発行したAPIキーを入力します。「Model」から利用する言語モデルを選びます。ローカルLLMの際はロードした言語モデル名が表示されるはずです。
今回は「GLM-5.2」を選びました。
あとは「Save」で入力したAPI設定を保存します。

画面を戻り、「Characters」をタップします。
最初はなんのキャラクターも居ないので右上の「Create」からキャラクターの作成/インポートを行います。
今回は例として、筆者の作ったキャラクターカードを読み込ませます。
このWikiの掲示板のスレッド、SillyTavernのRP用キャラクターカードなどの配布スレからダウンロードするか、下記のURLを「Import character from URL」の入力欄に貼り付けてインポートします。
https://image02.seesaawiki.jp/l/o/local-llm-memo/fd69f1c29b45f525bc1e.png

ゼロから新しいキャラクターを作成します。
キャラクターの記述方法などについては【ローカルLLM】SillyTavern向けプロンプト記述方法などページをご覧下さい。
- Name (Name your character)
- Description (Basic settings such as name, gender, age, occupation, hobbies, etc.)
- Greetings (The first message the character sends to you (greeting). Use <START> to separate multiple alternative greetings)
- Advanced definitions (詳細設定)

「Start chatting」からチャットを開始します。
画面左中央の横三本線のアイコンをタップすると全画面に、もう一度タップするとチャットのセッションタブが表示されます。

画面左下の「🔃」アイコンはLLMの応答を再生成します。

画面左下から2番目の「⏩️」アイコンはLLMにチャットメッセージの続きを生成するものです。
※通常のチャットだとユーザーの入力 → LLMの応答 → ユーザーの入力...と続きますが、LLMの応答 → LLMの応答...となります。

画面左下から3番目のアイコンは、ユーザーの入力をLLMが代わりに考えてくれます。(Impersonate,なりきり/代筆, AIにユーザー側の返答を書かせる機能)

画面下部のチャット入力欄の左、「+」をタップすると、それぞれ「Photos」(端末内の画像を選んで送信)、「Camera」(カメラを起動して撮った写真を送信)、「Imagen」(画像生成)、「Impersonate」(なりきり/代筆, AIにユーザー側の返答を書かせる機能)です。

チャット入力欄をタップして入力画面になると右下に「""」と「**」が表示されますが、これらは主に英語圏のキャラクターカードでよく使われる引用符(日本語で言うところの「」(キャラクターやユーザーの発言に用いられる))と、アスタリスクで囲んだ地の文などを表現する ** です。
こうしてキャラクターの発言と地の文を区別することで地の文を斜体にしたり、キャラクターの発言テキストを色付けしたりできます。
個人的には""はともかく**は多用するので助かります。

Voice API (TTSのAPI)設定です。
GPT (OpenAI)やGoogle Gemini TTSのほか、OpenAI互換TTS(「Custom (OpenAI-compatible)」)にも対応しています。
ローカル環境でTTSをする場合はVOICEVOXなどをOpenAI互換TTS APIにしてAIに喋らせるページなどもご覧下さい。

TTSの詳細な設定です。
- 「Auto-play character voices」(キャラクターボイスを自動再生)
- 「Auto-play persona voices」(ペルソナボイスを自動再生)
- 「Background playback」(バックグラウンド再生)
- Playback rules (再生ルール)
- 「Do not play anything (何も再生しない)
- 「Do not play (narration) ((ナレーション)を再生しない」)
- 「Play "quotes"」(「引用符」内を再生する)
- 「Do not play code blocks」(コードブロックを再生しない)
- 「Do not play <tags> 」(<タグ>を再生しない)

画像生成AIとの連携時の詳細設定です。
- 「Image injection prompt 」(画像インジェクションプロンプト)
- 「Prompt enhancement」 (プロンプト拡張)

- 「Smart expand」(スマート拡張)
- 「Template」(テンプレート)
- 「Disabled」(無効)
- 「Smart expand API」(スマート拡張API)
- 「Smart expand instruction」(スマート拡張命令)
以下、デフォルトのプロンプト
Target image model: {{platform}} / {{model}}
Expand the user's input into a richer image-generation prompt, and extract any size / ratio / negative hints they mentioned.
Rules:
- Tag-based models (NovelAI, SD family): comma-separated Danbooru-style tags
- Natural-language models (Gemini, Imagen, Flux, gpt-image): a vivid English description in 1-2 sentences
- Preserve the user's core subject; keep ONE coherent scene; write the prompt in English
Return ONLY a JSON object (no markdown fences) with these fields (null if not applicable):
- "prompt": the expanded prompt
- "negativePrompt": exclusion tags — only for tag-based models
- "aspectRatio": "16:9" etc. — only if user mentioned
- "size": "1024x1024" etc. — only if explicitly mentioned
User input: {{prompt}}
# Google翻訳
対象画像生成モデル: {{platform}} / {{model}}
ユーザーの入力をより詳細な画像生成用プロンプトに拡張し、サイズ、アスペクト比、ネガティブプロンプトに関する指定があれば抽出してください。
ルール:
- タグベースのモデル (NovelAI, SD系): カンマ区切りのDanbooru形式タグ
- 自然言語モデル (Gemini, Imagen, Flux, gpt-image): 1〜2文の鮮明な英語の描写
- ユーザーの主題を維持し、一貫性のある単一のシーンとして構成すること。プロンプトは英語で記述すること。
以下のフィールドを含むJSONオブジェクトのみを返してください(Markdownのコードブロック記号は不要。該当しない場合はnull):
- "prompt": 拡張されたプロンプト
- "negativePrompt": 除外指定タグ(タグベースのモデルのみ)
- "aspectRatio": "16:9" など(ユーザーの指定がある場合のみ)
- "size": "1024x1024" など(明示的な指定がある場合のみ)
ユーザー入力: {{prompt}}

長期記憶と言って、長くなったチャットの履歴を「要約」する事で最初の方の出来事などを「忘れない」ようにする設定です。
- 「Dedicated API」(専用API)
- 「Auto summarize」(自動要約)
- 「Memory limit」(メモリ制限)
- 「Summary prompt」(要約プロンプト)
以下、デフォルトのプロンプト
Summarize the most important facts and events in the story so far.
If a summary already exists in your memory, use that as a base and expand with new facts.
Limit the summary to {{words}} words or less.
Your response should include nothing but the summary.
# Google翻訳
これまでの物語の中で最も重要な事実と出来事を要約してください。
既に記憶に要約がある場合は、それを基に新しい事実を加えて加筆してください。
要約は{{words}}語以内に収めてください。
回答には要約のみを含めてください。
- 「Injection position」(注入位置)
- 「[Memories: {{memories}}]」(記憶: {{memories}})

- 「Group chat」(グループチャット)
- 「Translation」(翻訳)
- 「Image captioning」(画像キャプション)

画像キャプションの設定です。
画像認識対応のLLMに画像を送信してキャラクターに反応してもらえます。
メインのAPIのほか、画像キャプションだけ違うAPIにしたりできます。
- [Keyboard shortcuts」(キーボードショートカット)
- 「Send on enter」(Enterで送信)
- 「Hide model reasoning」(モデルの思考プロセスを隠す)
- 「Immersive chat」(イマーシブ(没入型)チャット)
- 「Disable gaussian blur」(ガウスぼかしを無効にする)
- 「Hide system navigation bar」(システムナビゲーションバーを隠す)
- 「Variable manager」(変数マネージャー)
- 「JavaScript console」(JavaScriptコンソール)
- 「Context logging」(コンテキストログ)
- 「Enable EJS templates」(EJSテンプレートを有効にする)
- 「Reverse lorebook evaluation」(ロアブックの評価を反転させる)
- 「Apply regex to hidden messages」(非表示メッセージに正規表現を適用する)
キャラクターの記述方法などを記載しています。
機能的にはTavoとほとんど同じ、PC向けLLMのRPフロントエンドのSillyTavernの解説ページです。
Wiki内掲示板のキャラクターカード配布スレッドです。
機能的にはTavoとほとんど同じ、PC向けLLMのRPフロントエンドのSillyTavernの解説ページです。
Wiki内掲示板のキャラクターカード配布スレッドです。




















