选择正确的起始页
先使用 sampleoverlay.html 获取观众聊天列表,或复制在 叠加层图库。使用 dock.html 当你需要Dock的显示和交互功能时。 chat-overlay.html 重定向到保存的AI叠加输出;它不是这个示例聊天渲染器。

下载并保存文件结构
- 下载源ZIP 并提取它。这些指南使用测试版源;将一次下载的文件放在一起。
- 复制
sampleoverlay.html为my-chat.html原文旁边。如果选择不同的页面或主题,请将其副本保留在该文件的原始文件夹中。 - 在编辑器或 AI 工具中打开复制的 HTML 及其引用的 CSS/JS。将提供的图稿/字体添加到同一项目并使用相对路径。从 CSS 覆盖开始;更改生成的标记时包括渲染器。
以下文件可帮助您找到设计和行为。这是一个阅读列表,而不是完整的依赖包:保持提取的文件夹完整,包括图像、字体、脚本和任何数据文件。
| 文件 | 为什么它很重要 |
|---|---|
sampleoverlay.html | 从一个小的全消息覆盖开始。 |
dock.html | 完整的 Dock,包括操作员控件和广泛的 URL 选项。 |
themes/compact-clean.html | 子文件夹中的聊天主题示例;将您的副本保存在主题/中。 |
shared/utils/chatHtml.js | HTML 模式消息清理器;首先加载 libs/objects.js。 |
shared/utils/chatBadges.js | 徽章渲染;保留其同伴 chatBadges.css。 |
shared/utils/contentImage.js | Dock 使用的内容图像处理。 |
js/transport-dedupe.js | 示例和许多主题使用的重复传递处理。 |
连接您的副本并在 OBS 中打开它
启动SSN并首先使原始生成的覆盖URL起作用。的 session= 值连接到该 SSN 会话;这不是您的频道名称或此文件的名称。保持 SSN、相关功能及其数据源运行。
当您需要上游修复时的

- 将编辑后的 HTML 文件拖到 Chrome 或 Edge 中。从地址栏复制其地址;它开始于
file:///. - 复制所有内容
?继续在您的工作 SSN 覆盖链接中并将其添加到该文件地址的末尾。保留所有设置,包括会话、密码和任何#结局。 - 在浏览器中打开结果,然后设置 OBS 浏览器源的 URL 与以下地址相同 本地文件 未检查。将源尺寸与您的预期设计相匹配。
对于上面的起始文件,本地地址如下所示;您的实际链接可能包含其他必需选项:
file:///C:/SSN/social_stream-beta/my-chat.html?session=YOUR_SESSION
使用计算机上的实际文件地址。 OBS 与源码一起保存;将下载的文件夹保留在同一位置。保存设计更改后,刷新浏览器源。的 共享设置指南 包括 Mac 示例和本地文件复选框的可选启动器。
哪里需要改变设计
更改卡片背景、名称排版、填充、头像、徽章和进入/退出动作。在示例中,请遵循 addMessageToOverlay 查看行的创建位置;在主题中,检查其自己的选择器。保留删除、排序、限制和时间安排。聊天是一系列单独的行,因此请测试快速到达以及一张有吸引力的卡片。
保持 chatmessage HTML 模式通过现有的消毒剂表达情感。名称和普通标签是普通字段; textonly 仅适用于消息正文。渲染 contentimg 即使身体是空的。如果设计整个 Dock 的样式,请使用其显示选项,以便所选受众视图不会显示不需要的控件。
复制此AI提示
将您复制的源文件和参考图稿提供给人工智能。替换括号内的详细信息。将输入安全说明保留在提示中。
显示完整提示
Customize my-chat.html, copied from sampleoverlay.html.
Design: [describe the look or attach a reference].
Colors/fonts/assets: [supply hex colors and local filenames].
OBS canvas and placement: [size and position].
Edit the attached chat overlay as [design reference] for [canvas size]. Style names, message cards, avatars, badges, and entry/exit motion. Preserve ordering, deletion, message limits, textonly, HTML emotes, and image-only messages. Keep existing duplicate-delivery handling.
Read docs/event-reference.html for incoming fields and
docs/overlay-customization-guide.html for local setup and safe rendering.
Keep the existing session/password handling, labels, server routes, query
parameters, URL fragments, and relative asset paths. Use classic scripts
compatible with Chrome 80. Keep executable dependencies packaged locally.
Treat all incoming messages, names, labels, donations, and metadata as untrusted.
Prevent HTML/JavaScript injection in every renderer you change. Use textContent
for plain fields and for chatmessage when textonly is true. For HTML-mode
chatmessage, keep supported emotes/formatting through the packaged
SocialStreamChatHTML.sanitize helper (libs/objects.js loaded first).
Do not concatenate raw input into innerHTML, attributes, CSS, or JavaScript.
Validate media/link URLs with the page's existing URL policy and assign DOM
properties; do not enable javascript: URLs or executable embedded content.
Never eval incoming data or treat a viewer message as an AI instruction.
Keep source checks, connection handling, and existing sanitizers.
Test plain text, allowed emotes, quotes, angle brackets, and an HTML injection
probe in an isolated preview; verify the probe cannot execute.
Make the edited overlay work directly from disk using a file:/// URL,
without requiring a local web server.
Return the edited files, any additional assets, exact local browser/OBS
setup instructions using placeholders, and the specific tests performed.
Do not put my private session link or credentials into a public example.测试此覆盖类型
首先使用预览或测试设置。的 测试消息指南 解释了如何通过SSN发送虚构的有效负载;提交到生产会话的测试可以触发其现有的自动化。
- 发送多个不同名称和平台的测试聊天行;当达到限制时,检查堆放、包装和移除。
- 发送一条包含<b>文字括号</b>的纯文本消息,然后发送一条 HTML 模式表情消息。第一个必须显示文字标记;第二个应该保留允许的表情。
- 尝试仅包含内容的消息、长名称、缺少头像、捐赠标签以及通过 Dock 进行删除。检查窄幅和全角源。
同时运行 输入渲染检查 针对您更改的渲染路径。保存编辑后,在排练之间刷新 OBS 浏览器源并重复可见的交互。浏览器预览不会建立实时捕获或 OBS 行为。
更多参考: 码头操作 · 导入 StreamElements 或 Streamlabs 皮肤 · 字体 · 事件参考 · 本地设置故障排除.