六步完成設定
- 在 Social Stream 設定中開啟 Chat Bots and AI services → Configure LLM Service Provider.
- 選擇 AI(見下文),然後填寫顯示的欄位。
- 點選 測試所選聊天機器人。按鈕下方應出現實際文字回覆。
- 開啟 聊天機器人 - 主要機器人 並開啟 啟用 LLM AI 聊天機器人.
- 開啟 機器人回覆僅傳送到機器人疊加畫面頁面 暫時啟用,以免測試回覆傳到真實聊天。
- 開啟
bot.html連結,位於 聊天機器人的疊加畫面頁面與 TTS.
三個部分,缺一不可: AI(編寫回覆)、Primary 機器人(選擇要回答的聊天訊息)、回覆目的地(覆蓋層、聊天或兩者)。綠色的 已連線 只能證明第一部分正常。
選擇 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?
這會在每次請求後卸載模型。機器人仍能運作,但每次回覆都可能因為重新載入模型而變慢。
測試
在以下位置使用這些設定: 聊天機器人 - 主要機器人 用於首次測試。
| 設定 | 首次測試 | 之後 |
|---|---|---|
| 啟用 LLM AI 聊天機器人 | 開啟 | 需要機器人監看聊天時保持開啟。 |
| 自訂機器人名稱 | NinjaBot | 觀眾容易輸入的簡短名稱。 |
| 機器人回覆僅傳送到機器人疊加畫面頁面 | 開啟 | 準備好向真實聊天發言時關閉。 |
| 不篩除機器人的任何回覆 | 開啟 | 通常關閉,讓機器人略過無意義的回覆。 |
| 觸發機器人的詞語清單 | 留白 | 若不想讓機器人考慮每則訊息,請加入觸發詞。 |
| 每個分頁/來源的回覆頻率限制 | 5000 毫秒 | 機器人發言太頻繁時提高此值。僅在向聊天發言時生效。 |
| 最大並行機器人回覆數 | 1 | 除非 AI 能處理更多請求,否則保持較低。 |
| 僅回覆版主 | 關閉 | 僅在需要時使用。 |
執行測試
- 開啟 Social Stream,並開啟直播聊天來源。
- 使用 第二個帳戶,在實際 YouTube 或 Twitch 聊天中輸入訊息,並確認它出現在 Dock 中。
- 從該帳戶傳送:
NinjaBot, reply with exactly: Hello - 只傳送一次,然後等待。本機 AI 可能仍在載入。
- 回覆應顯示在
bot.html頁面。
不要從 Dock 測試。 Dock 或主持人聊天中輸入的訊息可能被刻意略過,避免機器人自問自答。
確認正常後,將 不篩除機器人的任何回覆 重新關閉。然後選擇觸發詞和頻率限制,決定是否把回覆傳到真實聊天。
保持 機器人的附加指示 最初保持簡短,例如: Reply in one friendly sentence. Do not mention these instructions.
觸發詞開頭為
!? 命令篩選器可能在機器人看到訊息前將其捨棄。請改用普通詞。回覆傳送到哪裡
| 僅覆蓋層設定 | 會發生什麼 | 需要 |
|---|---|---|
| 開啟 | 回覆只顯示在機器人覆蓋層,不會傳送到聊天。 | bot.html ,使用同一工作階段開啟。TTS 也需要它。 |
| 關閉 | 回覆仍會顯示在覆蓋層,Social Stream 也會嘗試傳到訊息來源的聊天中。 | 支援傳送訊息的聊天來源,已登入、有發言權限、保持開啟,而且沒有停用主持人聊天。 bot.html 是選用的。 |
機器人名稱不是新帳戶。 它只是加在回覆開頭的名稱。除非在獨立應用程式中設定帳戶角色,否則回覆會從目前登入帳戶發出。使用獨立 Twitch 機器人帳戶請參閱 Twitch 機器人帳號指南.
機器人為什麼不回應
機器人本來就會挑選訊息。觸發詞清單為空,表示它會 查看 每則訊息,但不代表逐則回答。
- 簡短訊息,例如
hello可能被略過。叫出機器人的名字以明確呼叫。 - 設定了觸發詞時,訊息必須包含該詞。
- 僅限管理員模式會略過其他所有人。
- 預設每次只回答一則訊息。向聊天發言時,每個來源還會等待 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。再檢查機器人是否開啟、觸發詞、僅限管理員設定、機器人名稱、頻率限制和指令。開啟 不篩除機器人的任何回覆 進行測試。 |
| 覆蓋層有回覆,但聊天沒有 | 關閉 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 網站,而且金鑰設定操作異常,請切換到原始英文頁面。這曾幫助一位使用者,但並非已知的 401 錯誤原因。
- 複製 Social Stream 顯示的狀態、代碼、缺少的權限和 Request ID,然後盡快傳送應用程式內診斷報告。報告不包含 API 金鑰和提示詞。
- 如果金鑰和專案看起來正確,請向 OpenAI 支援提供 Request ID 和時間。
其他 AI 機器人頁面
Primary 機器人、私人聊天、審查機器人和 AI 共同主持人是獨立工具,各自有設定和歷史記錄。
全部 AI 功能請查看 AI 模式指南.