前言¶
在 DeepSeek Harness(DSH)里做 B 站直播相关能力时,常见需求是:让模型能读实时弹幕、在人工授权后再发言,而不是再搭一套 QQ 机器人或独立的 Node/Go 挂机服务。社区里也有「刷 B 站」类插件,但侧重点在推荐流浏览与评论,和直播间事件不是同一条路。
下面介绍维护者 rentaoyan0628-collab 发布的 dsh-bili-danmaku-lite(联网工具分类)。它把直播间边界收在「看弹幕、发弹幕、挂着听、可选自动陪聊与可选语音转写」上,且进房与发弹幕都卡在用户手里;包名里的 lite 指运行开销小,不是砍掉上述能力。
这是什么¶
dsh-bili-danmaku-lite 是跑在 DSH 宿主里的 B 站直播弹幕插件:实时读取直播间弹幕、在用户授权后发送弹幕,并提供可选的 AI 自动陪聊;不依赖 QQBridge 或 QQ 机器人。
该包原名为 dsh-bili-live,已停止发新版;改用新包名安装即可。插件在宿主里的运行时 id 仍是 bili-live,配置目录($DSH_HOME/bili-live)、放行名单与发弹幕日志沿用,不会丢。当前 npm 包版本为 0.5.0(MIT 许可证)。
与常见「关键词命中就回复」的弹幕机器人相比,这里默认放行名单为空则任何房间都进不去,发弹幕总开关默认关闭;模型只能申请进房或带 confirm=true 请求发送,放行与开关由人在设置页完成。
核心功能¶
能力按触发方划分如下(均来自项目 README)。
| 能力 | 谁触发 | 说明 |
|---|---|---|
| 查房间信息 / 最近弹幕 | 模型 | 只读:是否在播、标题、分区、在线人数等 |
| 监听实时弹幕若干秒 | 模型 | 只读:弹幕、礼物、SC、进场等 |
| 发弹幕 | 模型(需 confirm=true)或设置页 |
默认关;同一房间 60 秒 1 条;每次写日志 |
| 申请进入某房间 | 模型 | 只写待批申请,放行必须人来点 |
| 挂着听 | 模型或设置页 | 后台 worker 收弹幕写 hint,可向 webhook 白名单内的地址 POST |
| 自动陪聊 | 设置页开关 | 读增量弹幕(含可选转录)→ 模型判断是否接话 → 队列发送 |
| 听声音 / 语音转写(v0.4 起) | 模型或设置页 | 拉流转文字,只转写不发弹幕;不抽帧、不看画面 |
| 高光时间点(v0.5.0,可选) | 离线脚本 + bili_highlights |
直播结束后读本机日志分析弹幕密度与反应,不联网 |
轻量体现在:不常驻重进程、不默认下载模型,闲时几乎不占 CPU;重活仅在打开对应开关时启动。
模型侧主要工具包括:bili_live_info、bili_live_feed、bili_live_send、bili_live_request、bili_live_watch_start / watch_status / watch_stop、bili_live_audio_start 等转写相关工具,以及 v0.5.0 的 bili_highlights。完整列表见 GitHub README。
安装与启用¶
宿主要求:dsh >= 0.1.7-rc.1,node >= 22。
从 GitHub 安装到 desktop profile:
dsh plugin --profile desktop add github:rentaoyan0628-collab/dsh-bili-danmaku-lite
或通过 npm(包页发布者 n0y0t):
dsh plugin --profile desktop add dsh-bili-danmaku-lite
勿与旧包 dsh-bili-live 同时安装,运行时 id 相同会冲突。
安装插件后还需完成 Python 依赖与 B 站凭证,步骤如下。
-
确认插件已在 profile 的 bundles 中(自带
cordis.patch.yml插入默认全关配置)。 -
在插件专用 venv 中安装 Python 依赖(勿装进系统 Python):
python -m venv "$DSH_HOME/bili-live/.venv"
"$DSH_HOME/bili-live/.venv/bin/python" -m pip install -r requirements.txt
Windows 下将 bin/python 换为 .venv/Scripts/python.exe。插件查找解释器顺序:设置页「Python 路径」→ 家目录 .venv → PATH 中的 python。
- 在本机放置 B 站登录凭证
$DSH_HOME/bili-live/bili_credential.json:
{ "sessdata": "...", "bili_jct": "...", "buvid3": "...", "dedeuserid": "..." }
只读能力部分可不登录;发弹幕必须有凭证。该文件仅落本机运行目录,不进仓库与发布包。
- 打开 DSH 设置页 →「B站直播」→「重新自检」,看到 Python 就绪 / 已有 B站 凭证 后再用。
配置主文件为 $DSH_HOME/bili-live/config.json,设置页为其前端。例如发弹幕默认关闭(sendEnabled: false),webhook 与自动陪聊等也在此配置。
典型用法¶
经过上面的安装与自检,可按 README 建议顺序使用。
-
先放行:设置页「放行名单」填写房间号 / UP 主昵称 / UID 并「放行」。名单为空则任何房间都进不去。
-
再挂机(可选):在「挂着听」里填房间;webhook 从「挂机叫醒 · webhook 白名单」下拉选择。模型调用
bili_live_watch_start时若 webhook 不在白名单,会返回status: webhook_not_allowed,worker 不会启动。 -
要它开口:打开「允许发弹幕」。之后模型调用
bili_live_send且confirm=true,或在设置页手动发送。每次发送(含草稿、被拦、失败)写入logs/danmaku.jsonl。 -
自动陪聊(可选):在设置页选择 provider / 模型、写人设、定节奏后启用。模型多数会回
SKIP保持沉默;默认约 4 分钟不重复、每小时 8 句、单句 40 字内。
若需 听声音:需 ffmpeg 在 PATH(或设置 DSH_BILI_LIVE_FFMPEG),并在 venv 或指定解释器中安装 faster-whisper 或配置 whisper.cpp;在设置页「听声音」对已放行房间「开始听」。转写文本默认只留最近约 5 分钟,仅作上下文,不代替画面。
v0.5.0 直播结束后,可用仓库内 python/highlights_analyze.py 与 highlights_index.py 分析本机 danmaku.jsonl 等日志,生成索引后用 bili_highlights 查询;规则与路径见 README「高光时间点」一节。
适用场景与注意¶
适合谁:已在用 DSH、希望把 B 站直播间当作模型可读可写(但写操作受控)的数据源,又不想维护独立弹幕机器人栈的开发者或主播侧实验。
权限与安全:插件以当前 DSH 进程权限运行;B 站 cookie 仅本机配置目录。挂机 webhook 只允许预先放行的 http(s) 地址;v0.4.x 起对认证不可用时的敏感接口、解释器路径、webhook 等有安全收紧,安装前建议在 GitHub 阅读源码与 MIT 许可证。
生态说明:DSH 社区插件目录(如 SkillHub)为独立站点,与 DeepSeek / 幻方无官方从属关系;本文事实以项目 README 与 package.json 为准。
结尾¶
dsh-bili-danmaku-lite 把 B 站直播弹幕、授权发送、挂机监听与可选陪聊/转写收进 DSH 插件边界,强调「人能决定能不能进、能不能说」,而不是尽量多说话。
- 目录页:https://www.skillhub.cn/plugins/rentaoyan0628-collab/dsh-bili-danmaku-lite
- GitHub:https://github.com/rentaoyan0628-collab/dsh-bili-danmaku-lite