ステップ 1: SillyTavernのインストールと起動
SillyTavernは、チャットインターフェース、キャラクターカード、プロンプト設定をコンピュータ上で実行します。接続されたモデルが返答を生成します。公式プロジェクトドキュメントでは、無料のオープンソースフロントエンドとして紹介されています。
Node.js LTS、Git、利用可能なAPI残高のあるGPT Protoアカウント、およびモデルIDを準備してください。GPT Protoを通じたクラウド推論では、モデルの重みをダウンロードしたり、GPUでモデルを実行したりする必要はありません。
macOSへのインストール
Node.jsダウンロードページからLTSバージョンをダウンロードし、macOSを選択して、グラフィカルなインストールを希望する場合はインストーラーを使用してください。

お使いのオペレーティングシステムに適した現在のLTSリリースを選択してください。
ターミナルを開き、Gitを確認します:
git --version
必要に応じてGitをインストールし、以下を実行します:
cd ~
git clone https://github.com/SillyTavern/SillyTavern -b release
cd SillyTavern
bash start.sh
初回起動時に依存関係がインストールされます。SillyTavernの使用中はターミナルを開いたままにし、ブラウザが自動的に起動しない場合は、そこに表示されたローカルアドレスを開いてください。これらのコマンドは公式のmacOSインストール手順に従っています。

初回起動時に必要な依存関係がダウンロードされます。
後で再度起動するには:
cd ~/SillyTavern
bash start.sh
Windowsへのインストール
Node.js LTSとGit for Windowsをインストールします。C:\AIのようなフォルダを作成し、エクスプローラーで開いてアドレスバーにcmdと入力し、Enterキーを押します。以下を実行してください:
git clone https://github.com/SillyTavern/SillyTavern -b release
ダウンロードしたSillyTavernフォルダを開き、Start.batをダブルクリックします。チャット中はコンソールを開いたままにしてください。公式のWindowsガイドでは、Program FilesのようなWindows管理下のフォルダを避け、管理者権限なしで起動ファイルを実行することを推奨しています。
ステップ 2: SillyTavernをGPT Protoに接続する
GPT Protoにサインインし、GLM-5.3モデルページを開きます。そのAPI使用状況セクションに、モデル識別子と「APIキーを作成」という項目があります。キーを作成または選択し、現在のレートを確認して、少額のテストに十分な残高があることを確認してください。
SillyTavernで、上部バーにあるプラグアイコンを使用してAPI接続を開きます。以下を入力してください:
| フィールド |
値 |
| API |
Chat Completion |
| Chat Completion Source |
Custom (OpenAI-compatible) |
| Custom Endpoint / Base URL |
https://gptproto.com/v1 |
| Custom API Key |
あなたのプライベートなGPT Proto APIキー |
| Enter a Model ID |
glm-5.3 |
| Prompt Post-Processing |
このセットアップで示されているように、最初はNoneを選択してください |
キーフィールドにはキーそのものを貼り付けてください。Bearerや引用符、完全なHTTPヘッダーを追加しないでください。
公式のカスタムエンドポイント手順では、/chat/completionsを含まないベースURLを指定しています。SillyTavernはそのサフィックスを自動的に追加します。この接続では、エンドポイントフィールドは/v1で終わる必要があります。
以前にJanitor AI APIセットアップガイドに従ったことがある場合は、この違いに注意してください。JanitorのプロキシURLは完全なhttps://gptproto.com/v1/chat/completionsアドレスを使用します。その完全なアドレスをSillyTavernのベースURLフィールドにコピーすると、誤った入力になってしまいます。

ソース、ベースURL、キー、モデルIDを上記のフィールドと一致させてください。
「Connect」をクリックし、次に「Test Message」をクリックします。ウェルカム画面から「Hello」を送信することもできます。この手順で、以下に示す返信が生成されます。

基本的なメッセージで、接続が返信を生成できることが確認できます。
「Available Models(利用可能なモデル)」リストが空であっても、必ずしも生成が利用できないわけではありません。モデルの検出が利用できない場合は、正確なIDを手動で入力してください。後でモデルを切り替えるには、別のサポートされているGPT ProtoテキストモデルIDを使用して再度テストしてください。モデルの機能や受け入れられるパラメータは異なる場合があります。
ステップ 3: キャラクターカードをインポートするか、独自に作成する
API接続が正常に機能するとモデルが提供されます。キャラクターカードは、アイデンティティ、声、開始状況を提供します。
既存のキャラクターカードをインポートする
「Characters → Import Character」を開き、ダウンロードしたカードファイルを選択して、インポートしたキャラクターを選んでチャットを開始します。また、「Extensions → Download Extensions & Assets」からキャラクターを閲覧することもできます。
PNGカードの場合は、元のファイルをダウンロードしてください。通常のポートレートやスクリーンショットには、データが画像に埋め込まれていない限り、使用可能なキャラクター定義は含まれていません。公式FAQでは、画像の保存や処理によって埋め込まれたデータが削除されるケースを含め、無効なPNGインポートについて説明しています。
Noah Bennettをテキストから作成する
新しいキャラクターを作成を選択します。まずは名前、説明、最初のメッセージから始めましょう。詳細なフィールドは後から追加できます。説明はモデルにキャラクターについて伝えるためのものです。最初のメッセージは、オープニングシーンを確立し、希望するスタイルを示す役割を果たします。キャラクターデザインガイドで両方のフィールドについて解説しています。

キャラクターエディターを使用して、AIのアイデンティティとオープニングシーンを設定します。
名前をNoah Bennettに設定します。このオリジナルの例を説明に貼り付けてください。{{char}}はキャラクター自身を指し、{{user}}は選択したユーザーのアイデンティティを指します。
あなたは{{char}}、Noah Bennettとしてロールプレイします。彼は25歳の男性で、筋肉質な体格、親しみやすい笑顔、そして温かく愛情深い性格の持ち主です。
外見
Noahは身長188cm。長年の筋力トレーニングで鍛え上げられた広い肩、たくましい腕、引き締まった胸板、そして強靭な脚を持っています。少し乱れたダークブラウンの髪、温かみのあるヘーゼル色の瞳、薄い無精髭、そして笑うとできるえくぼが特徴です。普段着は体にフィットしたTシャツ、快適なジョガーパンツ、スニーカーです。声は低く温かみがあり、よく笑います。
性格
Noahは遊び心のある自信を持った優しい性格です。思慮深く、身体的な表現が豊かで、愛情を示すことに抵抗がありません。彼は、優しいからかいや思いやりのある仕草、心からの褒め言葉を通じて{{user}}を笑顔にすることを楽しんでいます。彼の魅力は、その堂々とした体格と、驚くほど繊細な心のギャップにあります。
彼には彼自身の意見、友人関係、野心があり、時には落ち込む日もあります。冗談で緊張を隠すこともあり、{{user}}に感傷的なところを見られてしまうと、愛らしく狼狽します。自分の間違いを認め、自分自身を笑い飛ばすこともできます。
背景
ノアはストレングスコーチとして働いており、いつか近所に小さなジムを開くことを夢見ている。仕事以外では、料理、ハイキング、ひどい出来のロマンティック・コメディ、そしてパンケーキのレシピを試作することを楽しんでいる。トレーニングには真剣に取り組むが、体型やフィットネスレベルで他人を判断することは決してない。
{{user}}との関係
ノアと{{user}}は親しい隣人同士で、最近一緒に過ごす時間が増えている。彼は{{user}}に惹かれており、気遣いや遊び心のある軽口、日常的な誘いを通じてその好意を明らかにしている。二人の親密さは、実際のやり取りを通じて発展させていくこと。
口説き文句のスタイル
彼の誘い方は温かく、具体的で、少し生意気なところがある。少し長めに視線を合わせたり、相手の好きな飲み物を覚えていたり、「つい立ち寄る口実を作ってしまった」と認めたりする。彼は{{user}}の反応を観察し、自然に振る舞いを調整する。愛情は歓迎され、相互的なものであるべきだ。
ロールプレイのスタイル
物語の間はノアのキャラクターを維持すること。長い性格説明ではなく、自然な会話、小さな身体的ジェスチャー、具体的な詳細を用いること。
行動は*アスタリスク*で囲み、会話は引用符で囲むこと。
通常は1〜3つの短い段落で返信し、{{user}}が参加する余地を残すこと。
ノアのセリフ、行動、思考のみを操作すること。{{user}}の会話、決断、感情はユーザーに委ねること。
確立された詳細を維持し、直前の出来事に直接反応すること。
{{user}}から他の言語の要求がない限り、自然な日本語を使用すること。
これを最初のメッセージに貼り付けてください:
*ノアはジムバッグを広い肩にかけ、小さな紙袋を手に持ってあなたの家のドアの前に立っている。彼の黒髪はまだ少し湿っており、体にフィットしたグレーのTシャツの裾の近くには、小麦粉が少しついている。*
「何も言う前に言っておくけど、鶏肉と米以外の料理も作れるんだよ。」
*彼は紙袋を持ち上げ、えくぼを見せながら微笑む。*
「シナモンロール。作りすぎちゃった」 *少しの間。* 「ううん、君に会えるかなと思って多めに作ったんだ」
「それで……コーヒーでもどう?」
キャラクター作成を完了し、Noahを選択します。コアとなる指示は「Description(説明)」に、冒頭の挨拶は「First Message(最初のメッセージ)」に入力してください。「Creator's Notes(作成者メモ)」はカードを読む人向けのメタデータであり、モデルのプロンプト構築には使用されません。

完成したNoahのカードでは、彼の継続的なアイデンティティと冒頭の挨拶が分離されています。
独自のペルソナを設定する
キャラクターはAIのアイデンティティを定義し、ペルソナはあなたのアイデンティティを定義します。ペルソナ管理を開き、ペルソナを作成して選択します。必要に応じて、公式のペルソナに関する説明に従い、名前、アバター、説明を追加してください。
この架空のシーンでは、短い説明で十分です:
{{user}}は、最近この近所に引っ越してきた大人です。Noahと{{user}}は、お互いを知り始めたばかりの親しい隣人です。{{user}}は、自分自身の発言、行動、選択、感情を決定します。
キャラクターに知っておいてほしい架空の詳細を使用してください。実際の経歴を入力する必要はありません。キャラクター作成のヒントについては、APIを使用して独自のAIキャラクターを作成する方法をご覧ください。
ステップ4:最初のロールプレイ会話を開始する
Noahのチャットを開き、挨拶を読みます。スクリーンショットでは、ユーザーがyesと返信し、Noahが「そう?わかった。最高だね」と応じています。その後、彼は行動とセリフを交えてコーヒーへの誘いを続けます。その生成された続きが、接続が正しく機能しているかの確認になります。
自分で試すためのより具体的なプロンプトとして、以下を送信してみてください:
「じゃあ、シナモンロールはただ私に会うための口実だったってこと?」
*私は紙袋に目をやり、それから彼を見返した。*
返信がNoahの性格に従っているか、最新の入力に応答しているか、そしてあなたの決定をあなた自身に委ねているかを確認してください。スタイルを調整する必要がある場合は、カードの一部を編集して新しいチャットを試してください。モデル、キャラクタープロンプト、その他の設定を一度に変更しないでください。何が改善に役立ったのかが分からなくなってしまいます。
オプション:キャラクターにワールド情報を追加する
ワールド情報(Lorebookとも呼ばれます)は、設定された条件下でプロンプトに設定情報を追加します。最初の実験として、Noahのシーンから場所を1つ追加してみましょう。
ワールド情報を開き、Lorebookを作成し、キーワードトリガー戦略を使用して有効なエントリを追加します。以下の例の値を参考にしてください:
| フィールド |
例 |
| エントリタイトル |
Corner Cafe |
| キー / キーワード |
Corner Cafe, Corner Café |
| コンテンツ |
Corner Cafeは、Noahのアパートから1ブロック先にある小さなコーヒーショップです。不揃いな椅子、奇妙な絵画、そして素晴らしいエスプレッソが特徴です。Noahはこの場所を知っていますが、{{user}}の好みはまだ決まっていません。 |
Noahのキャラクターパネルで、その他… → ワールド情報をリンクを使用するか、キャラクターのLore地球儀ボタンを使用して、Lorebookを彼に関連付けます。その後、Corner Cafeはどんなところ?
と尋ねてみてください。
ワールド情報のドキュメントでは、エントリの「コンテンツ」がプロンプトに入力されるものであり、タイトルだけでは事実は提供されないと説明されています。有効化は設定や利用可能な予算にも依存し、モデルが提供されたすべての詳細を使用するとは限りません。まずは簡潔なエントリを1つ作成し、その動作を確認してから大規模なワールドを追加するようにしてください。
GPT ProtoでSillyTavernを利用する場合のコストは?
このガイドではGLM-5.3モデルを使用します。予算、対話の自然さ、感情表現、キャラクターの一貫性、応答速度に合わせてモデルを選択してください。同じキャラクターカードとオープニングシーンで候補を比較してみましょう。日常的なチャットでは、コンテキスト保持にかかるコストを予算に含める必要があります。ストーリー重視のシーンでは、声が自然に聞こえるか、モデルがこちらの選択を尊重してくれるかを確認してください。
SillyTavern自体は無料です。GPT Protoのモデル生成には、API残高が使用されます。本ガイド執筆時点で、GLM-5.3はGPT Proto上で公式の入力・出力レートより15%安く提供されています:
| GLM-5.3の利用料金 |
GPT Proto 100万トークンあたりのレート |
| キャッシュなし入力 |
$1.19 |
| 出力 |
$3.74 |
レートは2026年11月3日時点のものです。最新のレートやキャッシュ料金については、GLM-5.3の料金パネルをご確認ください。
キャッシュなしの入力8,000トークン、課金対象の出力500トークンの場合の計算例:
(8,000 ÷ 1,000,000 × $1.19) + (500 ÷ 1,000,000 × $3.74)
= $0.01139
これは計算例であり、スクリーンショットの会話で実際に請求される金額ではありません。課金対象の出力は単なる単語数ではありません。推論トークンを含め、プロバイダーが報告する使用量を確認してください。
入力には、キャラクターの指示、ペルソナ、選択された設定(Lore)、保持された会話履歴が含まれます。API接続の概要で説明されているように、SillyTavernはこれらを組み合わせてプロンプトを作成します。保持するコンテキストが長くなると、最新のメッセージが「はい」だけであっても、返信コストが増加する可能性があります。
SillyTavernのAPIにGPT Protoを選ぶ理由
GPT Protoは、GLM-5.3を含む厳選されたモデルを割引価格で提供する公式プロバイダーモデルを取り扱っています。1つのキーと共有残高で複数のプロバイダーをカバー可能です。SillyTavernでは、キャラクターカードやカスタム接続の設定を維持したまま、サポートされている別のチャットモデルIDに変更して返信を比較することができます。
信頼性を高めるため、主要モデルでは冗長なアップストリームチャネルと自動フェイルオーバーを採用しており、チャネルが利用不可になった際の中断を最小限に抑えます。設定を維持したまま、価格や会話スタイルの異なるモデルを自由に選択できます。
長時間のセッションを行う前に、モデルの可用性、入出力コスト、応答速度、データ処理方法を確認してください。まずは小規模なテストから始め、使用量を確認することをお勧めします。SillyTavernのモデルページから、オプションの確認やコストの比較が可能です。
SillyTavern APIの一般的な問題と解決策
新しいチャットと短いメッセージから始めてください。次に、症状を以下のチェックリストと照らし合わせます:
| 表示される内容 |
確認事項 |
最初に行うこと |
| 401 Unauthorized(認証エラー) |
APIキー |
余分なスペースや引用符、Bearerというプレフィックスを含めずに、UIフィールドにキーを再度貼り付けてください。 |
| 404 / Not Found(見つかりません) |
エンドポイントパス |
カスタムエンドポイントとしてhttps://gptproto.com/v1を使用してください。 |
| Model not found(モデルが見つかりません) |
モデルID |
モデルページから、glm-5.3のような正確なサポート対象識別子をコピーしてください。 |
| Available Models(利用可能なモデル)が空 |
モデルの検出 |
モデルIDを手動で入力してみてください。 |
| 返答が空、または不完全 |
出力許容量、推論、コンテキスト、残高 |
エラーと出力設定を確認し、適切な制限を設けて短いリクエストを再試行してください。 |
| 一般的なアシスタントの応答 |
アクティブなキャラクターとプロンプト |
目的のキャラクターを選択し、その「説明(Description)」と「最初のメッセージ(First Message)」を確認してください。 |
| World Infoが無視されているようです |
関連付け、トリガー、予算 |
Lorebookがリンクされており、エントリが有効化の条件を満たしていることを確認してください。 |
推論モデルには特に注意が必要です。公式の推論ガイドでは、思考プロセスが非表示であっても応答トークンを消費する可能性があると説明されています。そのモデルに対して許容量が小さすぎると、表示される返答が空になったり、途中で途切れたりすることがあります。すべてのモデルに同じ小さな制限を適用するのではなく、モデルの要件に合わせて「最大応答長(Max Response Length)」を確認してください。
Lorebookと空の返答に関するあるコミュニティでの議論では、プリセットを削除し、応答許容量を増やすことで解決したユーザーの事例が報告されています。両方を同時に変更したため、原因を特定することはできませんが、これは実用的なトラブルシューティングの順序を裏付けています。つまり、まずはシンプルなチャットを動作させ、その後プリセットやLoreを一つずつ追加していくのが良いでしょう。
オプション:SillyTavern以外でAPIをテストする
キーをGPTPROTO_API_KEY環境変数に非公開で保存した状態で、以下のmacOS/Linuxシェルコマンドを実行すると、モデルページのChat Completions形式を使用して直接リクエストを送信できます:
curl --request POST "https://gptproto.com/v1/chat/completions" \
--header "Authorization: Bearer $GPTPROTO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "glm-5.3",
"messages": [
{"role": "user", "content": "Reply with: API connection works."}
]
}'
単なる接続確認だけでなく、生成されたテキストを含む応答が正常に返ってくるか確認してください。SillyTavernでは失敗するのにこのコマンドでは成功する場合、クライアントのフィールド設定や追加パラメータを比較してください。両方で失敗する場合は、返された認証エラー、残高不足、モデルエラー、またはサービスエラーを調査してください。実際のキーを公開のトラブルシューティング投稿に含めないように注意してください。