DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-bili-live

r

dsh-bili-live

Identified

DSH 插件:B站直播间弹幕(看/发/挂机/可选自动陪聊),进房与发弹幕都卡在人手里

Machine translated

dsh-bili-live

DeepSeek Harness (DSH) Bilibili Live Plugin / B站直播弹幕 AI 插件:实时读取 Bilibili 直播间弹幕、在用户授权后发送弹幕,并提供可选的 AI 自动陪聊。无需 QQBridge 或 QQ 机器人。

English: An independent DeepSeek Harness plugin for Bilibili live chat (danmaku): read live room events, send messages with user-controlled permissions, and optionally use AI to decide when to reply. No QQ bot required. v0.2 is text only; v0.4 adds optional audio transcription (speech-to-text of the stream) — still no video / no vision.

关键词 / Keywords: DSH plugin · DeepSeek Harness · Bilibili Live · B站直播 · 弹幕 danmaku · AI auto chat · live room assistant

给 DeepSeek Harness(DSH)用的 B站直播间插件:看弹幕、发弹幕、挂着听、可选自动陪聊。

v0.4 范围:弹幕 + 配置 + 可选「听声音」(把直播里的说话转成文字,给自动陪聊当上下文)。 不看画面:不抽帧、不做视觉理解。 所有「进入某房间」「发弹幕」的动作都在人手里 —— 模型只能申请,放行在设置页里点。

它能做什么

能力谁触发说明
查房间信息 / 最近弹幕模型只读。是否在播、标题、分区、在线人数
监听实时弹幕若干秒模型只读。弹幕 / 礼物 / SC / 进场
发弹幕模型(要 confirm=true)或设置页默认关;同一房间 60 秒 1 条;每次写日志
申请进入某房间模型只写一条待批申请,放行必须人来点
挂着听模型或设置页后台 worker 收弹幕写 hint,够得着时 POST 到你的 webhook
自动陪聊设置页开关定时读增量弹幕(有转录时也读转录)→ 调一次模型判断要不要接话 → 写进队列由 worker 发
听声音 / 语音转写(v0.4)模型或设置页后台拉流 → 分段 → 语音识别成带时间戳的文字;只转文字,不发弹幕;默认只留最近 5 分钟

它和「刷B站」插件、以及网上那些直播弹幕机器人,差别在哪

这套东西不是「又一个直播间挂机脚本」。它是在 DSH 里跑的插件,边界画得很死:

维度这个插件刷B站那类插件常见的直播弹幕机器人
只管一件事直播间:看弹幕 / 发弹幕 / 挂着听推荐流浏览、挑视频、发评论、写报告通常是「关键词命中就回复」
进哪个房间默认谁都进不去,放行名单为空就全拒;模型只能写申请,放行必须人在设置页点不涉及配好 cookie 就全站可进,或写死房间号
什么时候说话默认发弹幕总开关关着;开了也要 confirm=true、每房间 60 秒 1 条自动评论可关命中关键词立刻发,多是无人复核
自动陪聊先「判断要不要接」,模型回 SKIP 就沉默;默认 4 分钟不重复、每小时 8 句、单句 40 字内无「收到弹幕就生成一句回复」的占多数
记录每次发送(含草稿/被拦/失败)都写 logs/danmaku.jsonl,事后能查「打算发什么、最后发没发」有报告多半只 log 错误
依赖一个 Python venv + DSH 自己DSH往往要 Node/Go 服务、Redis、数据库、自建面板
人格与记忆不自己存对话历史,人格交给宿主(DSH 的 prompt / 记忆),插件只负责「进房、看、说」宿主负责多数内置自己的 prompt 和会话库
音视频只做耳朵(v0.4:可选转写,默认关;不抽帧、不看画面);转写文本只留最近几分钟不含有些项目会录 15 秒音频做 ASR 或抽帧做视觉,代价是带宽、显存和隐私
凭据B站 cookie 只落本机运行目录,不进仓库、不进发布包同有的项目要求填在配置文件里并提交

一句话:别人做的是「让机器人尽量多说话」,这里做的是「让人始终有权决定它能不能进、能不能说」。

安装

从 GitHub 源码安装到 desktop profile:

dsh plugin --profile desktop add github:rentaoyan0628-collab/dsh-bili-live

npm 安装方式(请先确认 npm 包页面 已有发布版本;发布者为 n0y0t):

dsh plugin --profile desktop add dsh-bili-live

安装插件后仍需完成下面的 Python 依赖和 B站凭证配置。v0.2.0 尚未完成独立插件端到端运行验证,适合愿意反馈问题的用户使用。

  1. 把整个目录放进 DSH 的插件位置(或 npm i 到 profile 里),然后在 dsh.profile.bundles 里列出 dsh-bili-live。 插件自带的 cordis.patch.yml 只插入一条默认配置(默认全关)。

  2. 装 Python 依赖(装进插件自己的 venv,别装进系统 Python):

    python -m venv "$DSH_HOME/bili-live/.venv"
    "$DSH_HOME/bili-live/.venv/Scripts/python.exe" -m pip install -r requirements.txt   # Windows
    # "$DSH_HOME/bili-live/.venv/bin/python" -m pip install -r requirements.txt          # macOS / Linux
    

    插件会按这个顺序找解释器:设置页里填的「Python 路径」→ 家目录下的 .venv → PATH 里的 python。

  3. 放 B站 登录凭证:$DSH_HOME/bili-live/bili_credential.json

    { "sessdata": "...", "bili_jct": "...", "buvid3": "...", "dedeuserid": "..." }
    

    只读功能(info / feed)不登录也能用一部分;发弹幕必须有凭证。 这个文件落在本机运行目录,不进仓库、不进发布包。

  4. 打开 DSH 设置页 →「B站直播」→ 「重新自检」看到 Python 就绪 / 已有 B站 凭证 才算装好。

怎么用

  1. 先放行:设置页「放行名单」→ 填房间号 / UP主昵称 / UID → 「放行」。 名单为空 = 哪个房间都进不去,这是刻意的。
  2. 再挂机(可选):「挂着听」里填房间,webhook 可留空(留空就只写 hint,不打扰任何人)。
  3. 要它开口:把「允许发弹幕」打开。之后模型调 bili_live_send(带 confirm=true)或你在设置页手动发都能用。
  4. 自动陪聊(可选):选 provider / 模型、写人设、定节奏,然后勾「启用」。 它大多数时候会选择沉默(模型回 SKIP),只在真有意思时才说一句。

听声音(v0.4.0,可选)

把直播里的说话转成文字,给自动陪聊当上下文。只做耳朵:不抽帧、不看画面、不存音频(PCM 只在管道里过一遍,不落盘)。

前提

  1. ffmpeg 在 PATH 里;不在就设 DSH_BILI_LIVE_FFMPEG 指向可执行文件。
  2. 装转写引擎(选一个):
    • faster-whisper(CPU):pip install faster-whisper 到插件用的那个 venv;装在别的 venv 就用 DSH_BILI_LIVE_ASR_PYTHON 指过去。
    • whisper.cpp(能吃 AMD 显卡的 Vulkan 版):装好后设 DSH_BILI_LIVE_WHISPERCPP 指向 whisper-cli.exe,再放一个模型文件(ggml-*.bin),设 DSH_BILI_LIVE_WHISPERCPP_MODEL。
  3. 转写不必用插件自己的 Python:配置里的 audio.asrPython(设置页「转写解释器」那个输入框)可以指向另一个已经装好 faster-whisper 的解释器。为了不让网页随手把本机任意程序设成解释器,这里只接受 $DSH_HOME 之下的路径;别处的会被 403 拒掉,要改就直接改配置文件。

GPU

  • faster-whisper 走 CTranslate2,只认 CUDA。AMD 卡开 cuda 一定失败 —— 插件会把原始报错原样显示在设置页,然后自动退回 CPU,不会假装成功。AMD 卡上常见原文是 RuntimeError: CUDA failed with error CUDA driver version is insufficient for CUDA runtime version(其实是根本没有可用的 CUDA 设备)。
  • 想在 AMD 卡上用,只有 whisper.cpp 的 Vulkan 版(本仓库不代编译,需要自己装 VS Build Tools + Vulkan SDK)。
  • 设置页有「转写自检」按钮,就是真去点一次 CUDA 拿报错;慢,但能确认到底行不行。

怎么开

设置页「听声音」→ 填已放行的房间 → 选模型(tiny/base/small/medium)和设备(GPU 优先 / 只用 CPU / 强要 CUDA)→「开始听」。 模型也可以直接调工具:

工具作用
bili_live_audio_start开听觉(房间必须已放行)
bili_live_audio_stop关掉(留空=全部房间)
bili_live_audio_status谁在听、哪个引擎/设备、GPU 有没有失败、最近听到什么
bili_live_transcript读最近几条转录(带时间戳)
bili_live_asr_probe体检:能不能用 GPU、whisper.cpp / DirectML 在不在

代价

  • CPU 转写吃资源:small 模型在普通台式机上大约是「十几秒一段、延迟十几到几十秒」。想更快就降模型或加大 window。
  • 转写一定有错字,自动陪聊的提示里已经写明「这是语音转写、可能有错,别当画面描述」。
  • 文本会随自动陪聊的 prompt 交给你选的那个模型供应商。不想要就只开转写、不开自动陪聊。

给模型的工具

工具作用
bili_live_info房间信息 + 最近弹幕(只读)
bili_live_feed监听 N 秒实时弹幕(只读)
bili_live_send发弹幕(默认草稿,confirm=true 才真发;总开关关着会被拒)
bili_live_request申请进入某房间(只写待批,不自行放行)
bili_live_watch_start / watch_status / watch_stop挂机 worker 的开关与状态
bili_live_log最近的发送日志(含草稿/被拦/失败)
bili_live_watching我此刻在看的房间(放行名单 + 开播状态 + 最近说过什么)
bili_live_doctor环境自检(Python / 依赖 / 凭证路径)
bili_live_audio_start / audio_stop / audio_status听声音(语音转写)的开关与状态
bili_live_transcript读最近的语音转写(带时间戳)
bili_live_asr_probe转写体检:GPU 能不能用、whisper.cpp / DirectML 在不在

配置

配置在 $DSH_HOME/bili-live/config.json,设置页就是它的前端。

{
  "pythonPath": "",
  "botName": "大肥鱼",
  "sendEnabled": false,
  "autoChat": {
    "enabled": false,
    "provider": "", "model": "",
    "persona": "你是直播间里的一个普通观众,说话短、口语、不客套。",
    "tickSec": 20, "windowSec": 150,
    "minLines": 2, "minGapSec": 240, "perHour": 8, "maxChars": 60
  },
  "audio": { "model": "small", "device": "auto", "window": 15, "overlap": 2, "keep": 300 }
}
  • sendEnabled:发弹幕总开关。默认 false(先看后发)。
  • botName:它在房里的名字,用来判断「有人点名」。
  • autoChat.minGapSec / perHour / maxChars:两次开口的间隔、每小时上限、单句字数上限。
  • audio.device:auto(先试 GPU,失败退 CPU)/ cpu / cuda;window 每段秒数;overlap 相邻段重叠;keep 转录文本保留秒数。

安全:设置页那几个接口怎么守的(v0.3.0)

插件在宿主里注册了 /dsh-bili-live/* 一组本地 HTTP 接口,给设置页用。这些接口能改配置、能动放行名单、能发弹幕,所以不是"能连上本机端口就算数":

  1. 先过 DSH 的信任栅栏 connection.requestRejection —— 宿主级鉴权(认 cookie/token),隧道或反代把 Host 改写成回环也挡得住;
  2. 再过本机同源 —— Host 必须是回环地址,Origin/Referer 必须同端口(挡掉浏览器里另一个本地页面借你的登录态驱动这些写接口);
  3. 栅栏拿不到时(老宿主)不静默放行,第 2 条就是唯一防线,两道都不成一律 403。

另外 网页端不许把插件指到任意可执行程序:pythonPath 只接受三种值——插件自己的 venv、本机自动探测到的解释器、或首次配置时填的 python 可执行文件;其它路径返回 403,要换请直接改 config.json(本机文件)。

发弹幕的房间授权不在这层放宽:真正的闸在 python/live_mcp.py 的 bili_live_send —— 房间不在 live-allow.json 里一律拒绝。

数据都在哪

$DSH_HOME/bili-live/(可用环境变量 DSH_BILI_LIVE_HOME 改):

config.json              插件配置
bili_credential.json     B站 凭证(本机,不进仓库)
live-allow.json          放行名单(只有人能改)
live-requests.jsonl      待批申请(模型写的)
live-chat/<房间>/        弹幕流、hint、queue、worker.log、watch.json
logs/danmaku.jsonl       每次发送(含草稿/被拦/失败)
logs/plugin.log          插件自己的日志

限制(有意不做)

  • 不看画面:不抽帧、不做视觉理解。
  • 听声音是可选的(v0.4):要自己装 ffmpeg + 一个转写引擎;不装也能正常用弹幕那一套。
  • 不自动进房:名单必须人来放行;没放行的房间连只读的 info/feed 都会被拒。
  • 弹幕发出去收不回:60 秒冷却 + 每小时上限只能减少手滑,不能撤销。
  • 不做开机自启 / 计划任务:worker 由插件进程拉起,插件停它就停。
  • 弹幕内容会交给你在设置页选的那个模型供应商 —— 本地缓存不等于全部在本地处理,详见 docs/PRIVACY.md。

排障

症状先看
设置页一直「Python 没就绪」设置页「重新自检」里的 tried 列表;缺依赖就按上面 pip 命令装,或手填解释器路径
工具报「找不到能用的 Python」同上;.venv 位置或 pythonPath 写错了
发弹幕被拒「允许发弹幕」没开;或房间不在放行名单;或 60 秒冷却没到
挂机起来了但没反应live-chat/<房间>/worker.log,以及房间是否在播
自动陪聊不开口模型选择、sendEnabled、minGapSec;插件日志里有「模型决定 SKIP」是正常行为

许可与来源

MIT。Python 侧基于 bilibili-api-python 写的直播弹幕/发送逻辑, MCP 用官方 mcp 的 FastMCP; 插件外壳照着 DSH 的插件约定写的。发布前请照 docs/RELEASE-CHECKLIST.md 走一遍。

Comments

Loading…

Similar plugins

dsh-bilibili-multiview

by Xinrea

DSH 插件:Niri 风格水平滚动多窗口 B 站直播页,支持上下分屏、Solo、弹幕与焦点音量闪避

Manifest valid

★ 0

MIT

JavaScript

Oct 17, 2026

dsh plugin --profile web add dsh-bilibili-multiview

by huashenglian

给 dsh 对话区叠加 B 站风格吐槽弹幕,可接入 LLM 生成弹幕。/Bilibili-style live-chat danmaku overlay for DeepSeek Harness Web — preset packs, optional LLM quips, drag ball, per-session pools.

Just for FunDevelopment & InfrastructureManifest valid

★ 11

↓ 410/wk

MIT

JavaScript

Oct 28, 2026

dsh plugin --profile web add dsh-livechat

by weizhida

这是dsh的插件,语音发送弹幕。在玩游戏时通过语音输入在b站发弹幕,不切出游戏可以正常操作

Development & InfrastructureManifest valid

★ 0

MIT

JavaScript

Oct 9, 2026

dsh plugin --profile web add dsh-voice-danmaku

by tuanzhanghao

在 DSH 侧边栏看 B 站:支持推荐流、1080P、弹幕、扫码登录与历史同步。不消耗 Token。

Manifest valid

★ 0

MIT

JavaScript

Oct 24, 2026

dsh plugin --profile web add dsh-bili-mini

by pyf2818

🎬 DSH (DeepSeek Harness) B站悬浮看片插件:边 coding 边刷视频。推荐/热门/排行/搜索/关注UP主、自动连播、迷你模式、历史持久化

UI & ExperienceManifest valid

★ 4

MIT

JavaScript

Aug 17, 2026

dsh plugin --profile web add @dsh-external/dsh-bili-widget

by c1overzz

DSH 插件:每天替你刷一轮 B站,读字幕挑出值得的、写一份日报,值得的 @ 你

Tools & CapabilitiesNotifications & IntegrationsTerminal & ClientsManifest valid

★ 1k

↓ 26.6k/wk

MIT

JavaScript

Oct 28, 2026

dsh plugin --profile web add dsh-bili-scroll