六步完成设置
- 在 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 模式指南.