AI 共同主持指南

停駐面板控制項、私人聊天機器人和 AI 舞台疊加畫面如何協同運作。

功能說明

共同主持有兩種工作流程:持續對話的語音夥伴,位於 cohost.html,以及將已核准文字傳送到以下目標的手動停駐面板操作: cohost-overlay.html.

停駐面板控制

舞台疊加畫面連線後,以滑鼠右鍵點擊停駐面板中的聊天訊息,選擇 共同主持。停駐面板可以朗讀訊息、向 AI 提問,或產生輕度調侃草稿。

AI 舞台疊加畫面

疊加畫面顯示頭像、對話泡泡,並可選擇使用瀏覽器文字轉語音。把這個瀏覽器來源放進 OBS 即可。

私人聊天機器人

回答和輕度調侃透過私人聊天機器人橋接呼叫已設定的 LLM 服務。朗讀不需要 AI。

多模態共同主持

cohost.html 透過相同的下列參數開啟時,會連接到 SSN 即時聊天串流: session。預設的僅上下文模式讓 AI 記住近期觀眾訊息,在直播主提問時進行討論。

設定停駐面板右鍵共同主持功能

  1. 使用你的工作階段開啟 Streaming Chat 停駐面板: dock.html?session=YOUR_SESSION_ID.
  2. 將 AI 舞台疊加畫面新增至 OBS: cohost-overlay.html?session=YOUR_SESSION_ID。新增 &tts ,僅用於文字回覆流程。
  3. 若要使用 AI 回答,請在彈出選單中設定 LLM 服務。快速測試時可選擇 SSN 託管試用 LLM,它使用 llm.socialstream.ninja.
  4. 啟用 聊天機器人和 AI 服務 > 聊天機器人-私人介面 > 啟用私人聊天機器人選項.
  5. 以滑鼠右鍵點擊停駐面板中的訊息,選擇 共同主持。偵測到舞台疊加畫面後才會顯示選單。停駐面板的訊息列暫不支援用鍵盤開啟此快顯選單;鍵盤使用者可使用以下頁面上的文字輸入框或語音控制項: cohost.html.
cohost.html 控制頁面,顯示媒體裝置、AI 服務設定、系統指令和即時聊天狀態
此 cohost.html 控制頁面:選擇攝影機和麥克風,選擇 AI 服務,設定系統指令,並查看 Live Chat 狀態面板。

提示: 使用相同的 session 值,用於停駐面板和共同主持疊加畫面。 &tts 適用於文字疊加畫面流程。控制器原生音訊啟用時,SSN 會抑制重複的疊加畫面 TTS; &forcetts 會刻意覆寫這項保護。

簡單 AI 選項

llm.socialstream.ninja 可透過下列選項使用: SSN 託管試用 LLM ,在試用服務可用期間可作為簡單免費的測試選項。

  • 開啟 聊天機器人和 AI 服務 > 設定 LLM 服務提供者.
  • 選擇 SSN 託管試用 LLM(實驗性).
  • 預設試用設定中,將端點、權杖和模型留空。
  • 長期使用時,如果試用服務被關閉或限流,請使用自己的權杖或本機服務。

語音對話支援

  • OpenAI Realtime: 將以下頁面中選取的麥克風音訊傳輸 cohost.html 直接傳送給 OpenAI,構成一次原生語音到語音對話。語音對話與即時聊天上下文保留在同一個共同主持工作階段中。
  • SSN 桌面版: 使用本機 Whisper,麥克風選擇位於 cohost.html。首次使用會下載約 42 MB,之後轉錄可離線執行。
  • Chrome/Chrome 擴充功能連結: 擴充功能在 Chrome 分頁中開啟託管的共同主持頁面。OpenAI Realtime 透過短期用戶端密鑰使用 WebRTC;文字回覆服務使用 Chrome 語音辨識,可能需要連網。
  • 其他瀏覽器: 不保證語音辨識一定可用。即使沒有語音辨識,共同主持文字聊天、即時聊天輸入、攝影機或螢幕輸入,以及已設定的 LLM 回覆仍可運作。

使用 OpenAI Realtime 時,診斷面板應顯示 正在聆聽(OpenAI WebRTC)。使用桌面 Whisper 時,應顯示 正在聆聽(桌面 Whisper) ,然後在以下位置顯示辨識文字: 辨識內容.

隱私權: 所選麥克風、明確選擇的攝影機或螢幕影格,以及所選 Live Chat 模式分享的觀眾訊息,都會傳送給該 AI 服務。觀眾訊息被視為不可信上下文,不能授權共同主持工具操作。請從彈出選單開啟產生的共同主持控制器連結,並妥善保密;其中的私有授權憑證在 12 小時後到期,僅限目前 SSN 工作階段使用,頁面載入後會從網址列中移除。

OpenAI Realtime 設定

  1. 在 SSN 彈出選單中選擇 ChatGPT API,新增 OpenAI 專案 API 金鑰,並使用 測試所選聊天機器人.
  2. 開啟產生的 cohost.html?session=YOUR_SESSION_ID 連結,來自彈出選單。其私有且會到期的共同主持授權憑證可授權 Realtime,無需啟用獨立的私人聊天機器人選項。
  3. 選擇 OpenAI Realtime。標準金鑰保留在 SSN 擴充功能或桌面應用程式的背景服務;共同主持頁面僅取得有效期很短的 Realtime 用戶端密鑰。
  4. 明確選擇你說話時使用的麥克風,保持 音訊回覆 保持選取,然後按 啟動共同主持.
  5. 選用:將視訊來源保持為 無視訊 (預設),或明確選擇 螢幕分享 或攝影機。OpenAI 在每次直接語音或文字要求時接收一張目前圖像,而非連續視訊;這可能增加 API 費用和延遲。
  6. 將 Live Chat 保持為 僅上下文 — 提問時才回答。問它「聊天裡在說什麼?」,就能讓同一個語音 AI 討論近期觀眾訊息。
  7. 在 OBS 中擷取共同主持瀏覽器或應用程式的音訊。OpenAI 原生語音僅從以下頁面播放: cohost.html; cohost-overlay.html 接收頭像和文字,不接收同一條音訊串流。如果支援,請在以下位置選擇虛擬音訊線: 共同主持輸出 ,以便在 OBS 中獨立路由音訊。
  8. 保持舞台疊加畫面的對話泡泡可見,或提供字幕,讓 AI 回覆不只透過音訊傳達。

此功能使用 OpenAI API 計費,並透過 WebRTC 建立一個 SSN Realtime 對話,獨立於 chatgpt.com。回覆最多輸出 512 個 token;診斷面板顯示累計 token 用量和測得的首次輸出延遲。直播主打斷時,OpenAI 會自動截斷尚未播放的音訊。SSN 最多保留 20 則近期聊天訊息,最長 90 秒,包括付費支持、會員、管理員、事件和來源頻道的上下文,隨後刪除這些暫存內容。SSN 會檢查靜默工作階段、重新連接失敗的傳輸,並在 60 分鐘上限前切換到新工作階段。恢復後的工作階段會重新套用系統指令和效能設定,但不包含先前的語音對話。

OpenAI 的速度、品質與費用

  • 模型: Mini 通常更快且費用更低。Full quality 能力更強,費用也更高。
  • 推理強度: Minimal 或 Low 通常可降低回覆延遲和計費輸出用量。High 或 Extra high 可改善複雜問題的回答,但可能更慢且更貴。連線期間變更會即時生效。
  • 輪流發言速度: Fast 最多等待約 2 秒來判斷一句話是否結束;Balanced 約 4 秒;Patient 約 8 秒。Fast 回應較快,但可能打斷自然停頓。
  • 診斷: 延遲顯示從一輪發言結束到首次出現文字或音訊的時間,並在可行時獨立標出模型延遲。即使要求相似,網路狀況和服務負載仍可能不同。

選用的直播控制

OpenAI Realtime 支援下列 Spotify、OBS 場景和精選聊天工具。SSN Configured LLM 目前僅支援 Spotify;其他共同主持服務暫未開放這些工具。

  1. 在 SSN 彈出選單中,僅啟用你需要的共同主持工具:Spotify、OBS 場景或精選聊天。
  2. 對於 OBS,請輸入精確的允許場景名稱,以逗號分隔,並保持 actions.html 連接到 OBS,或使用具備完整權限的 OBS 瀏覽器來源。
  3. 開啟 cohost.html,開啟 共同主持直播控制 ,並為該控制器啟用相同的工具。
  4. 直接提出要求,例如「切換到 BRB」「顯示最後一則訊息」或「清空精選聊天」。觀眾訊息不能授權工具操作,每次直播主直接提出的要求最多執行一個改變直播狀態的工具。

工具存取受允許清單限制,並非通用 API 存取。OBS 只能選擇 SSN 設定中列出的場景。精選顯示要求使用近期擷取的聊天訊息,並要求 Streaming Chat 停駐面板已開啟;工具回覆回報的是指令送達,不代表 OBS 或疊加畫面已完成操作。

頁面如何通訊

停駐面板與疊加畫面使用現有的 Social Stream 工作階段橋接。訊息以下列形式傳送: overlayNinja 訊息資料,並依標籤指定目標。

由共同主持朗讀: 停駐面板將選取的聊天訊息直接傳送到 cohost-overlay.html.

回答/輕度調侃: 停駐面板向 SSN 背景服務傳送私人聊天機器人要求,在面板中顯示 AI 草稿,只有直播主點擊朗讀後才傳送給疊加畫面。

{
  "action": "cohostOverlay",
  "target": "cohost-overlay",
  "meta": {
    "command": "say",
    "text": "The line the avatar should say",
    "speak": true,
    "emotion": "happy"
  }
}

可用操作

操作 需要 結果
由共同主持朗讀 已連線 cohost-overlay.html 在疊加畫面中朗讀選取的聊天訊息。
回答 私人聊天機器人 + 已設定的 LLM 或託管試用 LLM 建立簡短回答草稿,供直播主核准。
輕度調侃 私人聊天機器人 + 已設定的 LLM 或託管試用 LLM 建立簡短、輕鬆幽默、內容溫和的草稿,供直播主核准。
朗讀 核准面板草稿 將已核准的文字傳送到 AI 舞台疊加畫面。
複製 核准面板草稿 複製草稿,不傳送到疊加畫面。

狀態與疑難排解

  • 如果缺少共同主持選單,表示在同一工作階段中沒有偵測到共同主持疊加畫面。
  • 如果回答或輕度調侃無法使用,表示 SSN 橋接或私人聊天機器人無法使用。
  • 主聊天機器人疊加畫面開關是選用項目,不會啟用停駐面板右鍵共同主持操作。
  • 如果 cohost.html 看不到聊天時,請確認 URL 中的下列參數一致: session ,與彈出選單保持一致,並確認 Live Chat 設為 Context、Questions 或 All。
  • 僅上下文 目前僅在使用 OpenAI Realtime 時將聊天內容分享給 AI。其他服務會監聽聊天串流,但不會把它輸入模型。
  • 將麥克風靜音 停止向共同主持傳送音訊。 將共同主持語音靜音、音量滑桿、輸出裝置選擇器,以及 停止朗讀 控制播放。 將共享的系統音訊靜音 是獨立選項,僅對支援螢幕輸入的服務顯示。
  • 如果直播控制工具無法使用,請同時在 SSN 彈出選單和以下位置啟用: 共同主持直播控制。OBS 還需要在允許清單中至少包含一個精確的場景名稱。
  • 使用 測試疊加畫面 傳送一則無害的可見測試文字,然後確認它出現在 OBS 的 AI 舞台疊加畫面中。
  • 如果共同主持知道聊天內容卻不說話,這是以下模式的正常行為: 僅上下文:問它聊天在說什麼。Questions 或 All 模式會從共同主持頁面自動朗讀回覆,但不會把回覆發布到 YouTube、Twitch 或 Kick 聊天。
  • 如果桌面版顯示 正在聆聽(桌面 Whisper) ,但始終沒有填入 辨識內容,確認選取的麥克風沒有靜音,並等待首次模型下載完成。
  • 如果 Chrome 始終沒有填入 辨識內容,允許使用麥克風,檢查作業系統的預設麥克風,確認能存取網際網路,並驗證 Chrome 語音辨識是否可用。
  • 如果 OpenAI Realtime 顯示文字但沒有播放音訊,請檢查 音訊回覆、瀏覽器音訊權限,以及 OBS 對瀏覽器或應用程式音訊的擷取。使用 &tts ,僅用於獨立的文字疊加畫面流程。
  • 如果 OpenAI Realtime 回覆較慢,嘗試 Mini、Low 推理強度和 Fast 輪流發言速度,再比較診斷面板中的延遲。較高推理強度和 Patient 輪流發言速度會刻意犧牲速度,以換取更深入的回答或更長的停頓。
  • 如果 OpenAI Realtime 中斷連線,請讓共同主持保持執行並等待重試。診斷面板會區分資料、對等連線、服務提供者或健康檢查故障。恢復後的工作階段保留選取的系統指令和效能設定,但無法恢復先前的語音對話。
  • 如果回答、輕度調侃或 SSN Configured LLM 要求逾時,請檢查 Social Stream 已開啟、工作階段一致、私人聊天機器人已啟用,且所選 LLM 服務可存取。OpenAI Realtime 不需要私人聊天機器人。
  • 如果 Local Gemma 無法從預設資源主機下載模型檔案,請將資源主機設為你自己鏡像的 Gemma 資料夾。
  • 如果託管試用 AI 停止回應,可能已被停用或限流;請改用自己的權杖、Ollama 或自訂 API。
  • 如果開啟了多個疊加畫面,請確認疊加畫面標籤與停駐面板目標一致。預設標籤為 cohost-overlay.

常用 URL 參數

  • session=YOUR_SESSION_ID — 停駐面板與疊加畫面加入同一個房間所必需。
  • tts 或 speak=1 — 讓疊加畫面使用瀏覽器 TTS 朗讀。
  • forcetts — 即使共同主持控制器已在播放音訊,也允許疊加畫面使用 TTS;這會刻意產生第二路聲音。
  • label=cohost-overlay — 設定疊加畫面的目標標籤。
  • name=NinjaBot — 設定疊加畫面上的顯示名稱。
  • avatar=https://... — 使用自訂頭像圖片。
  • position=bottom-right — 控制舞台位置。
  • scale=1.2 — 縮放疊加畫面。
  • status — 在疊加畫面上顯示連線和狀態文字。

設計說明

  • 在停駐面板或手動文字流程中,疊加畫面負責畫面顯示和選用的 TTS 播放。對於 OpenAI 原生語音,請獨立擷取 cohost.html 的音訊;舞台疊加畫面不會重播同一條 WebRTC 音訊串流。
  • 停駐面板是操作控制介面,因此直播主的核准過程不會出現在直播畫面中。
  • 產生的回覆不會自動朗讀,必須先由直播主核准。
  • 非標準指令細節放在 meta,使疊加畫面和自動化收到的資料保持一致。