设置 AI 聊天机器人

让 AI 在聊天、屏幕或语音中回答观众。

六步完成设置

  1. 在 Social Stream 设置中打开 Chat Bots and AI services → Configure LLM Service Provider.
  2. 选择 AI(见下文),然后填写显示的字段。
  3. 点击 测试所选聊天机器人。按钮下方应出现实际文本回复。
  4. 打开 聊天机器人 - 主机器人 并开启 启用 LLM AI 聊天机器人.
  5. 开启 机器人回复仅发送到机器人叠加层页面 暂时启用,以免测试回复发到真实聊天。
  6. 打开 bot.html 链接,位于 聊天机器人的叠加层页面与 TTS.
“配置 LLM”区域已选择 Ollama,已填写本地端点和模型字段,提供商测试显示“已连接”
Connected 表示 AI 已回答,不代表机器人已经启用。
三个部分,缺一不可: AI(编写回复)、Primary 机器人(选择要回答的聊天消息)、回复目的地(覆盖层、聊天或两者)。绿色的 已连接 只能证明第一部分正常。

选择 AI

我使用…选择此项
电脑上的 OllamaOllama(原生本地 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 能处理更多请求,否则保持较低。
仅回复版主关闭仅在需要时使用。
Reply to members only关闭Limit replies and !summary to users marked as members by their source. Other chat stays visible in the Dock and overlays.

运行测试

  1. 开启 Social Stream,并打开直播聊天来源。
  2. 使用 第二个账户,在实际 YouTube 或 Twitch 聊天中输入消息,并确认它出现在 Dock 中。
  3. 从该账户发送: NinjaBot, reply with exactly: Hello
  4. 只发送一次,然后等待。本地 AI 可能仍在加载。
  5. 回复应显示在 bot.html 页面。
不要从 Dock 测试。 Dock 或主持人聊天中输入的消息可能被有意跳过,避免机器人自问自答。

确认正常后,将 不筛除机器人的任何回复 重新关闭。然后选择触发词和频率限制,决定是否把回复发到真实聊天。

保持 机器人的附加指令 最初保持简短,例如: Reply in one friendly sentence. Do not mention these instructions.

让机器人根据文件回答

触发词开头为 !? 命令筛选器可能在机器人看到消息前将其丢弃。请改用普通词。

回复发送到哪里

仅覆盖层设置会发生什么需要
开启回复只显示在机器人覆盖层,不会发送到聊天。bot.html ,使用同一会话打开。TTS 也需要它。
关闭回复仍会显示在覆盖层,Social Stream 也会尝试发到消息来源的聊天中。支持发送消息的聊天来源,已登录、有发言权限、保持打开,并且没有禁用主持人聊天。 bot.html 是可选的。
机器人名称不是新账户。 它只是加在回复开头的名称。除非在独立应用中设置账户角色,否则回复会从当前登录账户发出。使用独立 Twitch 机器人账户请参阅 Twitch 机器人账号指南.

机器人为什么不回应

机器人本来就会挑选消息。触发词列表为空,表示它会 查看 每条消息,但不代表逐条回答。

  • 简短消息,例如 hello 可能被跳过。叫出机器人的名字以明确呼叫。
  • 设置了触发词时,消息必须包含该词。
  • 仅管理员模式会跳过其他所有人。
  • Members-only mode requires a membership marker from the source. If both restrictions are on, the sender must be both a member and a moderator.
  • 默认每次只回答一条消息。向聊天发言时,每个来源还会等待 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 密钥错误

  1. 在以下页面创建普通项目 API 密钥: OpenAI API 密钥页面。不要使用 Admin 密钥。
  2. 确保它属于希望计费的项目,且允许进行模型请求。
  3. 在 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 搭档的参考表
测试私有机器人不能代替测试 Primary 机器人。

全部 AI 功能请查看 AI 模式指南.