前言¶
在 DeepSeek Harness(DSH)的 Web 界面里长时间看会话、调插件或写配置时,若想同时跟某一间 B 站直播间的弹幕互动,常见做法是另开浏览器标签或独立窗口。页面一切换,直播信息就脱离当前工作区,注意力也容易在两个界面之间来回跳。
dsh-bili-danmaku-overlay 把 B 站直播弹幕做成浮层,挂在 DSH Web UI 上,并在路由切换后仍保持挂载。你可以在 DSH 里继续原有操作,同时盯着一间或多间直播间的弹幕流。下面介绍插件定位、能力、安装步骤与配置要点;事实依据为仓库 README 与 package.json。
这是什么¶
- 名称:
dsh-bili-danmaku-overlay(社区目录:Mooling0602/dsh-bili-danmaku-overlay) - 维护者:Mooling0602
- 分类:趣味换装(社区目录标注)
- 一句话:在 DSH Web UI 中以始终可见的浮层展示 B 站直播间弹幕(
description与 README 一致) - 许可证:MIT(README 与 package.json)
- 当前包版本(package.json):1.1.0
插件面向 DSH Web profile(dsh.client.platform: web),通过 cordis.patch.yml 由 dsh 自行打入 bundle;发行物为已构建的 JavaScript,安装侧无需本地编译。
核心功能¶
以下均来自 README 的功能列表与说明。
- 直播弹幕与连接:支持直播弹幕;自动重连;直播 WebSocket 不可用时回退到历史弹幕拉取。
- 多房间:可同时打开多个房间,每个房间独立窗口。
- 圆形入口(B 站电视风格):展示整体状态与最新弹幕;点开菜单可管理各房间,并重新打开本浏览器曾连接过的房间。
- 窗口交互:窗口标题使用房间真实标题;双击可临时改名;右下角拖拽调整大小;可最小化到仅标题栏,或收起到圆球;上述操作不中断该房间的数据流。
- 未开播房间:先显示 “not live”;按 “View danmaku” 可查看列表并解锁输入。
- 其它:在线人数、发送弹幕、以及覆盖全部服务端选项的插件设置页。
- 状态提示:窗口左上角状态点悬停可读精确状态:未开播、连接失败、正在读历史弹幕、已连接等。
说明(README Notes):在线人数为真实人数,而非部分 B 站接口返回的“人气值”。
安装与启用¶
插件在 DSH 进程权限下运行;安装前请自行审阅 GitHub 源码 与 MIT 许可证,并确认与当前 DSH 版本兼容。
1. 安装¶
官方命令如下(勿改仓库路径):
dsh plugin --profile web add github:Mooling0602/dsh-bili-danmaku-overlay
安装后 重启 dsh。包内自带 cordis.patch.yml,由 dsh 自动插入 bundle;无需在本机执行编译步骤。
2. 指定默认房间¶
重启后打开插件设置页,将 defaultRoom 设为要观看的房间。留空则每次需手动输入房间号。
3. 卸载¶
dsh plugin --profile web remove dsh-bili-danmaku-overlay
凭证配置¶
插件不自行管理 B 站登录态,而是从 ~/.dsh/.credentials.yaml 读取 SESSDATA 与 bili_jct(由你维护):
refs:
BILIBILI_SESSDATA: <your SESSDATA>
BILIBILI_JCT: <your bili_jct>
获取方式(README):浏览器登录 bilibili.com → 开发者工具 → Application → Cookies(https://www.bilibili.com)→ 复制上述两项。
- 仅观看:需要
SESSDATA。 - 发送弹幕:还需要
bili_jct。
典型用法与设置¶
服务端选项(插件设置页)¶
README 中各项可在设置页修改并 立即生效:
| 选项 | 默认值 | 说明 |
|---|---|---|
defaultRoom |
空 | 启动时打开的房间;空则每次输入 |
autoConnect |
false |
加载时是否连接默认房间 |
historyLimit |
200 |
单窗口保留的历史行数 |
historyFetch |
50 |
每次历史请求拉取条数 |
pollMinMs |
100 |
历史轮询最快间隔;出错时退避 |
statsIntervalMs |
60000 |
在线人数刷新间隔 |
heartbeatMs |
30000 |
上游 socket 心跳 |
showEnterMessages |
true |
是否显示进场提示 |
showSuperChat |
true |
是否显示 Super Chat |
requestTimeoutMs |
12000 |
请求超时 |
若希望打开 DSH Web 即连默认房,可将 autoConnect 设为 true,并事先配好 defaultRoom。
前端选项(仅浏览器本地)¶
配置页中的 Front-end settings 不写入 dsh 配置,滑块改完即生效:
| 选项 | 范围 | 默认 |
|---|---|---|
| Ball diameter | 32–96px | 48px |
| Window zoom (DPI) | 50–300% | 100% |
| Window size | 240–720 × 180–760px | 320 × 300px |
缩放影响窗口内文字、间距、按钮以及圆球后方房间列表,不改变窗口外框尺寸;100% 时与页面浏览器缩放一致。块右上角 Reset 可恢复三项默认,未改动时按钮禁用。
日常使用流程(可复现)¶
- 完成安装、重启 dsh、配置凭证与
defaultRoom(可选autoConnect)。 - 在 DSH Web UI 中通过圆球入口打开菜单,添加或重连房间;多房间时各自独立窗口。
- 未开播房间按需点 “View danmaku” 看历史并输入弹幕;已连接时可直接收发(发送需
bili_jct)。 - 需要密集盯弹幕时,可调整窗口大小、最小化或收起圆球,数据流仍继续。
适用场景与注意¶
适合谁
- 经常在 DSH Web 界面内工作,又想同步看 B 站直播弹幕的开发者或智能体使用者。
- 需要同时跟多间直播间、且希望浮层不随 DSH 内页面切换而卸下的场景。
注意
- 插件凭证来自本机
~/.dsh/.credentials.yaml,等同将你的 B 站 Cookie 交给当前 dsh 进程使用;请勿在不可信环境随意安装第三方插件。 - 社区目录 skillhub.cn 为独立生态站点,与 DeepSeek / 幻方无官方从属关系;DSH 本身奉行「一切皆插件」,本仓库亦为社区贡献。
- 二次开发:源码为 TypeScript,修改
src/后需npm run build;client.js刷新页面即可,Host 侧index.js需重启 dsh(README Development 节)。
结尾¶
dsh-bili-danmaku-overlay 把 B 站直播弹幕做成 DSH Web UI 上的常驻浮层,支持多房间、重连与历史回退,并区分观看与发弹幕所需的 Cookie 字段。经过上面的安装与设置步骤,即可在同一浏览器里兼顾 DSH 工作与直播弹幕。