6つの手順で設定する
- Social Streamの設定で次を開きます: Chat Bots and AI services → Configure LLM Service Provider.
- 使うAI(下記を参照)を選び、表示された欄を入力します。
- クリックする項目: 選択したチャットボットをテスト。ボタンの下に実際の文章の回答が表示されるはずです。
- 開く項目: チャットボット - メイン(Chat Bot - Primary) で、次を有効にします: LLM AIチャットボットを有効化(Enable the LLM AI chat bot).
- オンにする項目: ボットの返信をボットオーバーレイページだけに送る(Bot replies ONLY go to the bot overlay page) をひとまず使います。テスト中に実際のチャットへ投稿されなくなります。
- 開く項目:
bot.htmlのリンクを次の項目から開きます: チャットボット用オーバーレイページと読み上げ.
AIを選ぶ
| 利用しているもの… | 選ぶ項目 |
|---|---|
| 自分のパソコン上のOllama | Ollama(ネイティブローカルAPI)。一般的なアドレスは、 http://localhost:11434. |
| LM Studio、llama.cpp、vLLMなど | 独自API。Ollamaには使わないでください。 |
| OpenAIやGeminiなどの有料サービス | そのサービスを選び、APIキーとモデルを入力します。料金、制限、モデル名はサービス側が決めます。 |
| まだ何もなく、ブラウザーで動かしたい | Local Gemma または Local Qwen。モデルのダウンロード手順に従います。 |
Ollamaが必要なら、次から入手してください: Ollamaのダウンロードページ。プロバイダーの全一覧: コマンドとAPIのAI連携.
Ollamaのkeep-aliveが0ですか?
要求のたびにモデルをメモリーから外します。ボットは動きますが、毎回モデルを読み直すため回答が遅くなる場合があります。
試す
次の場所で設定します: チャットボット - メイン(Chat Bot - Primary) を最初のテストに使います。
| 設定 | 最初のテスト | 後で |
|---|---|---|
| LLM AIチャットボットを有効化(Enable the LLM AI chat bot) | 次のページで: | ボットがチャットを監視する間はオンにします。 |
| ボット名のカスタマイズ(Customize bot name) | NinjaBot | 視聴者が入力しやすい、短くわかりやすい名前。 |
| ボットの返信をボットオーバーレイページだけに送る(Bot replies ONLY go to the bot overlay page) | 次のページで: | 実際のチャットへ投稿する準備ができたらオフにします。 |
| ボットの返信を一切選別しない(Do not screen out any of the bot's replies) | 次のページで: | 無意味な返信を省けるよう、通常はオフにします。 |
| ボットを呼び出す単語一覧(List of words to trigger bot) | 空欄 | すべてのメッセージを検討させたくない場合は、単語を追加します。 |
| タブ/ソースごとの回答頻度制限 | 5000 ミリ秒 | 投稿が多すぎる場合は増やします。チャットに投稿するときだけ適用されます。 |
| ボット返信の最大並列数(Max parallel bot replies) | 1 | AIに十分な処理能力がない限り、低めにしてください。 |
| モデレーターのみに返信(Will respond to Moderators only) | オフ | 必要な場合だけです。 |
テストを実行する
- Social Streamをオンにして、ライブチャットのソースを開きます。
- 次を使います: 2つ目のアカウントを設定し、実際のYouTubeやTwitchのチャットにメッセージを送ります。Dockに表示されることを確認してください。
- そのアカウントから次を送ります:
NinjaBot, reply with exactly: Hello - 1回送ったら待ってください。ローカルAIがまだ読み込み中の場合があります。
- 回答は次に表示されるはずです:
bot.htmlのページです。
動作を確認したら、次を ボットの返信を一切選別しない(Do not screen out any of the bot's replies) を再びオフにします。その後、トリガーの単語と頻度制限を選び、実際のチャットにも投稿するか決めます。
次の項目は維持します: ボットへの追加指示(Additional Bot Instructions) は最初は短くします。例: Reply in one friendly sentence. Do not mention these instructions.
!? ボットが見る前にコマンドフィルターで除外されている可能性があります。通常の単語に変えてください。回答の送信先
| overlay-onlyの設定 | 動作 | 必要なもの: |
|---|---|---|
| 次のページで: | 回答はボットのオーバーレイだけに表示されます。チャットには投稿しません。 | bot.html を同じセッションで開きます。TTSにも必要です。 |
| オフ | 回答はオーバーレイに表示され、Social Streamは元のチャットへの投稿も試みます。 | 送信に対応し、ログイン済みで投稿権限があり、開いたままのチャットソース。ホストチャットを無効にしないでください。 bot.html は任意です。 |
ボットが応答しない理由
ボットは意図的に対象を選びます。トリガー一覧が空の場合は、 すべてのメッセージを検討する という意味で、すべてに答えるという意味ではありません。
- 次のような短いメッセージ:
helloなどは無視される場合があります。ボットの名前を呼んで明確にしてください。 - トリガーの単語を設定した場合、メッセージにその単語が含まれる必要があります。
- モデレーター限定モードでは、それ以外の人を無視します。
- 初期設定では1件ずつ回答します。チャットに投稿する場合は、ソースごとに5秒待ちます。
- 自分のメッセージ、空のメッセージ、直前の返信から時間が空いていないメッセージは無視します。
古い回答を隠す
これらはボットオーバーレイ(bot.html)にのみ適用され、注目チャットのオーバーレイには適用されません。一般的な項目は設定画面のオーバーレイオプションにあります。
| したいこと… | リンクに追加 |
|---|---|
| 設定時間が過ぎたら回答を隠す | &showtime=10000 (ミリ秒、つまり10秒) |
| 長い回答は長く、短い回答は短く表示する | &autohide (または &autotime) |
| 自動で隠すまでの最短・最長時間を設定する | &mintime=5000&maxtime=20000 (初期値4000と30000) |
| 音声が終わったら隠す | &hideaftertts |
| 音声終了後に少し待つ | &hidedelay=1000 (初期値500) |
| 止まった音声を待つのをやめる | &ttstimeout=60000 (初期値120000) |
複数使っていますか? hideaftertts が優先され、次に autohide、次に showtime。音声が再生されない場合、 hideaftertts は、文章の長さに基づく時間へ切り替わります。
今すぐ消す
クリックする項目: 今すぐボットオーバーレイを消去 を設定で使います。表示中と待機中の回答は消えますが、すでに再生中の音声は止まりません。
APIから消す・見た目のカスタマイズ
- Remote API Controlを有効にして、次を開きます:
https://io.socialstream.ninja/SESSION_ID/clearBotOverlay. - または次を送ります:
{"action":"clearBotOverlay"}をAPI WebSocket経由で送信します。
通常のオーバーレイに独自CSSを適用: bot.html のリンクはこれらすべてに対応します。コピーや編集したローカルの bot.html は自分で更新しない限り、後の修正が反映されません。
問題を解決する
最後に動いていた箇所を見つけ、その次の行を確認してください。
| 問題 | 試すこと |
|---|---|
| テストボタンが失敗する | ボタン下のエラーを読んでください。アドレス、APIキー、モデル名、ローカルAIが実行中か、ファイアウォール、プロバイダーの制限を確認します。 |
| 接続済みだが視聴者のメッセージがDockにない | チャットを取得できていません。Social Streamがオンか、チャットウィンドウが開いてログイン済みか、対象のライブチャットが開いているか、ソースフィルターを確認してください。 |
| Dockにメッセージはあるがオーバーレイに回答がない | Dockではなく実際のプラットフォームのチャットから送信します。その後、ボットの有効状態、トリガーの単語、モデレーター限定、ボット名、頻度制限、指示を確認します。次を有効にしてください: ボットの返信を一切選別しない(Do not screen out any of the bot's replies) を試します。 |
| オーバーレイに回答は出るがチャットには出ない | overlay-onlyを無効にしてください。ソースの送信対応、アカウントの投稿権限、入力欄の有無、アカウントの役割、次の設定を確認します: ホストチャットとブロック機能を無効にする. |
!bot 何も起こりません | 通常の単語をトリガーにするか、コマンドフィルターでそのコマンドを許可してください。 |
| 最初のテストにしか返信がない | 最初の回答と頻度制限の解除を待ってください。keep-aliveの 0 だと、毎回回答の開始が遅くなります。 |
| 音声が終わっても回答が画面に残る | 使う項目: TTSの終了後、自動、または指定時間後に隠す. |
次のようなOpenAIエラー: 401 または 429 | 参照: OpenAIキーのエラー. |
非公開 chatbot.html が空欄の場合 | プライベートチャットボットを有効にし、同じセッションのリンクを使います。別のボットなので、Primaryボットのテストにはなりません。 |
OpenAIキーのエラー
- 次のページで通常のプロジェクトAPIキーを作成します: OpenAIのAPIキーページ。Adminキーではありません。
- 請求先にしたいプロジェクト内にあり、モデルへの要求が許可されていることを確認してください。
- Social Streamで次を選びます: ChatGPT APIを選び、キー全体を貼り付け、プロジェクトで利用できるモデルを入力して、次をクリックします: 選択したチャットボットをテスト.
| エラー | 意味 | 試すこと |
|---|---|---|
401 missing_scope / model.request | そのキーにはモデルへの要求権限がありません。 model.request はOpenAIの権限名です。Social Streamへ入力するものではありません。 | 正しいプロジェクトの通常のキーで、モデルへの要求が許可されているか確認してください。不明なら新しいキーを作り、保存済みのキーを置き換えます。 |
401 invalid_api_key | キーが間違っているか、削除されています。 | 文字の抜けや余分な空白を確認してください。キーが削除されていないか、正しいプロジェクトか、Social Streamが古い保存済みキーを使っていないかも確認します。 |
429 | 割り当て不足、または要求が多すぎます。 | APIの支払いと予算を確認してください。ChatGPTのサブスクリプションとは別です。頻度を下げるか、待ってください。 |
残高を追加しても401エラーは直りません。 残高と権限は別です。OpenAIの次の資料をご覧ください: エラーガイド および 認証リファレンス.
まだ解決しない場合
- ブラウザーがOpenAIのサイトを自動翻訳していて、キーの設定がおかしい場合は、元の英語ページに切り替えてください。1人の利用者では改善しましたが、401エラーの既知の原因ではありません。
- Social Streamに表示された状態、コード、不足している権限、Request IDをコピーしてください。その後すぐにアプリ内の診断レポートを送信してください。APIキーとプロンプトは含まれません。
- キーとプロジェクトに問題がなさそうなら、Request IDと時刻をOpenAIサポートへ伝えてください。
その他のAIボットページ
Primaryボット、プライベートチャット、検閲ボット、AI共同ホストは別々のツールです。それぞれ独自の設定と履歴があります。
すべてのAI機能はこちら: AIモードガイド.