功能說明
共同主持有兩種工作流程:持續對話的語音夥伴,位於 cohost.html,以及將已核准文字傳送到以下目標的手動停駐面板操作: cohost-overlay.html.
停駐面板控制
舞台疊加畫面連線後,以滑鼠右鍵點擊停駐面板中的聊天訊息,選擇 共同主持。停駐面板可以朗讀訊息、向 AI 提問,或產生輕度調侃草稿。
AI 舞台疊加畫面
疊加畫面顯示頭像、對話泡泡,並可選擇使用瀏覽器文字轉語音。把這個瀏覽器來源放進 OBS 即可。
私人聊天機器人
回答和輕度調侃透過私人聊天機器人橋接呼叫已設定的 LLM 服務。朗讀不需要 AI。
多模態共同主持
cohost.html 透過相同的下列參數開啟時,會連接到 SSN 即時聊天串流: session。預設的僅上下文模式讓 AI 記住近期觀眾訊息,在直播主提問時進行討論。
設定停駐面板右鍵共同主持功能
- 使用你的工作階段開啟 Streaming Chat 停駐面板:
dock.html?session=YOUR_SESSION_ID. - 將 AI 舞台疊加畫面新增至 OBS:
cohost-overlay.html?session=YOUR_SESSION_ID。新增&tts,僅用於文字回覆流程。 - 若要使用 AI 回答,請在彈出選單中設定 LLM 服務。快速測試時可選擇 SSN 託管試用 LLM,它使用
llm.socialstream.ninja. - 啟用 聊天機器人和 AI 服務 > 聊天機器人-私人介面 > 啟用私人聊天機器人選項.
- 以滑鼠右鍵點擊停駐面板中的訊息,選擇 共同主持。偵測到舞台疊加畫面後才會顯示選單。停駐面板的訊息列暫不支援用鍵盤開啟此快顯選單;鍵盤使用者可使用以下頁面上的文字輸入框或語音控制項:
cohost.html.
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 設定
- 在 SSN 彈出選單中選擇 ChatGPT API,新增 OpenAI 專案 API 金鑰,並使用 測試所選聊天機器人.
- 開啟產生的
cohost.html?session=YOUR_SESSION_ID連結,來自彈出選單。其私有且會到期的共同主持授權憑證可授權 Realtime,無需啟用獨立的私人聊天機器人選項。 - 選擇 OpenAI Realtime。標準金鑰保留在 SSN 擴充功能或桌面應用程式的背景服務;共同主持頁面僅取得有效期很短的 Realtime 用戶端密鑰。
- 明確選擇你說話時使用的麥克風,保持 音訊回覆 保持選取,然後按 啟動共同主持.
- 選用:將視訊來源保持為 無視訊 (預設),或明確選擇 螢幕分享 或攝影機。OpenAI 在每次直接語音或文字要求時接收一張目前圖像,而非連續視訊;這可能增加 API 費用和延遲。
- 將 Live Chat 保持為 僅上下文 — 提問時才回答。問它「聊天裡在說什麼?」,就能讓同一個語音 AI 討論近期觀眾訊息。
- 在 OBS 中擷取共同主持瀏覽器或應用程式的音訊。OpenAI 原生語音僅從以下頁面播放:
cohost.html;cohost-overlay.html接收頭像和文字,不接收同一條音訊串流。如果支援,請在以下位置選擇虛擬音訊線: 共同主持輸出 ,以便在 OBS 中獨立路由音訊。 - 保持舞台疊加畫面的對話泡泡可見,或提供字幕,讓 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;其他共同主持服務暫未開放這些工具。
- 在 SSN 彈出選單中,僅啟用你需要的共同主持工具:Spotify、OBS 場景或精選聊天。
- 對於 OBS,請輸入精確的允許場景名稱,以逗號分隔,並保持
actions.html連接到 OBS,或使用具備完整權限的 OBS 瀏覽器來源。 - 開啟
cohost.html,開啟 共同主持直播控制 ,並為該控制器啟用相同的工具。 - 直接提出要求,例如「切換到 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,使疊加畫面和自動化收到的資料保持一致。