DSH Plugins Marketplace

DSH Plugins

Plugins

/

Tools & Capabilities

/

dsh-bili-live

k

dsh-bili-live

Manifest valid★ 1

Bilibili Live Assistant (DD Version): Automatically patrol live rooms to watch streams, listen to audio and view visuals, write live notes, and rate streamers

UI (client)hasBundlePatch

dsh-bili-live · 直播助手(DD版)

挂在你自己的 B站 账号上,安静地看直播,离场时留一张笔记,顺手给主播打个分。

守几个主播,或者按喜好关键词自己巡场。进房后三路一起采:弹幕长连接、音频切片转写、定时抽帧看画面;看满设定的时长就走,走之前算一次分、写一张笔记,分数够好的推给你另一个账号。 平时一句话不说,只有被叫到、或者听到你设的关键词才接一句。

适用于 DeepSeek Harness(DSH)桌面版 / Web 版。


它能做什么

能力说明
👀看弹幕长连接接收弹幕,只读不发。守指定主播(行序即优先级),或按喜好关键词自动巡场。
👂听声音拉直播音频流切片,本机 faster-whisper 转写。不花 token、不联网。听到关键词会接话,也会写进笔记。
🖼看画面定时从视频流里抽一帧(PyAV 解码,不落临时视频),总结时把画面一起交给模型。
⭐给主播打分十维评分(另有一项恶意的隐藏扣分),权重自己调。守的主播和巡场遇到的都会打;看不满 60 秒不打分。
📝写笔记一场直播一张 txt:评分明细、发生了什么、大肥鱼的评价、最热闹的一分钟、弹幕摘录、主播原话。
🎛手动切台设置页顶上:「换个随机直播间」立刻换一个(不用等看满时长);也可以填房间号或主播 UID 直接进指定直播间。手动切进去的算随机巡场——照样打分,看满设定时长照样换台。
📬高分推送分数过线时把这场推给指定的 B站 账号(B站 不允许发给自己,要填另一个 UID)。只推随机巡场遇到的,守的主播分数只留在笔记里。

一场直播的流程

进房(守名单或随机巡场)
   ↓
三路同时采:弹幕长连接 / 15 秒音频切片 / 每 2 分钟一张画面
   ↓
离场(主播下播、被更高优先级顶掉、看满巡场时长、你点了停止)
   ↓
算分 → 模型写笔记 → 过线推送 → 删掉这一场的切片与截图

随机巡场

关注名单留空(或关掉「启用关注名单」)时,插件自己挑台:

  1. 没看过的、命中喜好关键词的房间优先
  2. 没命中但也没看过的
  3. 实在没得挑才回到最近看过的(记最近 12 间)

还有一种情况也会随机逛:开着关注名单、但名单上的主播一个都没在播。默认就会按上面的顺序随机进一个直播间(设置页「名单里全都没在播时,也去随机逛」可关掉;关掉就只在名单里干等,绝不进别人的直播间)。他们一开播,下一轮检查就会切回优先级更高的那位。

默认每间看 30 分钟就换;看不满 60 秒被切走的那一场不打分、不推送。

评分怎么算

十个维度,评的是这个主播的水平,不是「这场热不热闹」。每项先按各自满分线归一(跨数量级的走对数,比率走线性),再按权重加权,满分 10 分:

维度默认权重满分线归一
粉丝付费率(挂牌付费者 ÷ 本场出场人数)19%10%线性
直播互动(每百人每分钟弹幕)16%12 条对数
观众参与(发言人数 ÷ 本场出场人数)12%25%线性
粉丝浓度(挂牌人数 ÷ 本场出场人数)12%15%线性
作品获赞(每稿获赞)10%随粉丝数浮动,见下表对数
更新频率(月投稿)8%5 稿/月线性
路人付费率(未挂牌付费者 ÷ 本场出场人数)8%25%线性
弹幕热度(条/分)7%6对数
人气规模(同接)5%30 人对数
路人转化率(新增粉丝团 ÷ 本场出场人数)3%10%线性

作品获赞的满分线按粉丝数浮动(获赞是作品数据,跟今晚来了多少人没关系:237 人房的果宝 33882 赞/稿,10097 人房的大东彦只有 5279):

粉丝数1万5万20万50万100万200万500万1000万+
满分线300/稿600150030006000120003000060000

锚点之间线性插值;粉丝数拿不到时退回 600,不连累主播。

权重在设置页自己填百分数,不用凑满 100(算分时按合计归一),填 0 就是完全不看那一项。

分母分两套:crowd = max(同接, 30) 只给「每百人弹幕」用,防止个位数房间算出「每百人 125 条」这种鬼数字;heads = max(同接, 5) 给其余所有「人数 ÷ 同接」的指标(参与、浓度、两个付费率、转化),只防 1~4 人的极端比例。付费率以前误用了 30 人兜底,30 人以下的小房间会被整体腰斩(15 人的房 3 个路人付费本来是 20%,除以 30 只剩 10%)。

档位

分数档位
≥ 9S · 顶尖
≥ 8A · 很强
≥ 6B · 中上
≥ 4C · 一般
≥ 2D · 偏弱
< 2E · 很弱

恶意内容扣分(隐藏项)

弹幕里出现带节奏、网络暴力、粗鄙语言时,结算会额外问一次模型:恶意弹幕条数超过阈值(默认 10 条)才扣分,最多扣 5 分,扣到 0 为止。本场只要有封禁(房管或主播封过人,系统自动封也算),就一律不扣分——现场已经制止过了。判定前会先分清是开玩笑(熟人互损、玩梗、跟风复读)还是真恶意,拿不准的一律不算。

接口只告诉你「谁被封了」,不告诉你为什么封,所以没法区分「封恶意弹幕」和「封广告刷屏」——一律按免责处理,宁可少扣,不冤枉已经管过场的主播。碰到「弹幕确实脏、但有人封过」这种分不清的情况,大肥鱼会在评价里如实交代一句:看到了一些不干净的弹幕,但现场已经封禁处理,分不清封的是不是这些,这次先不扣分。

只审弹幕,不审语音——转写有错字、分不清主播和连麦者,拿它扣分容易冤。

这一项不出现在直播助手正文里,只在评分日志和笔记的评分行后面挂一段算式:

评分:6.5/10(B 档 · 中上)|8.5 − 2 = 6.5

同接取的是 getOnlineGoldRank 返回的真实在线人数,不是页面上那个虚高几百倍的「人气值」。

直播笔记长什么样

2026-10-17 · 某主播 的直播
==============================================
直播间:https://live.bilibili.com/00000
开播标题:今天随便聊聊
观看时段:20:01 ~ 21:20(1 小时 19 分)
弹幕:共 1234 条,89 人发言
语音:转写出 210 段主播说的话
同接峰值:76 人在看
评分:7.6/10(B 档 · 还行)
 同接 76(13.2 分) · 发言人数 30(14.8 分) · 弹幕 10(13.7 分) · 月投稿 50(20 分)
 付费 10(10 分) · 大航海 0(0 分) · 获赞率 507(5 分) · 互动率 13(2.4 分)
==============================================

【这场直播大概发生了什么】
(模型写的 100~180 字现场笔记)

【大肥鱼的评价】
(模型写的 60~120 字主观看法:值不值得看、什么路数)

【最热闹的一分钟】
21:03 前后(12 条)

【弹幕摘录】
21:03 观众A:……

模型不可用时不会整张空白,会退化成「本地统计版」(时长、条数、最热闹的一分钟、高频词)。

安装

# 从 GitHub
dsh plugin --profile desktop add github:你的用户名/dsh-bili-live

# 或从本地目录
dsh plugin --profile desktop add link:/绝对路径/bili-live

装完重启 DSH,侧边栏「设置 → 直播助手(DD版)」就是它的设置页。

听声音需要本机 ASR 环境(可选)

语音转写用本机 Python + faster-whisper,两部分都要有:

# 1. 建 venv 并装依赖
python -m venv ~/.dsh/bili-live/.venv-asr
~/.dsh/bili-live/.venv-asr/Scripts/pip install faster-whisper

# 2. 下载模型(首次转写会自动下,也可手动预热)
#    默认 medium,约 1.5 GB;机器吃力可在设置页切 small

找不到 Python 时插件只是「听不到声音」,弹幕、画面、评分、笔记照常工作。 抽帧只需要 av(PyAV)与 Pillow:

~/.dsh/bili-live/.venv-asr/Scripts/pip install av Pillow

隐私

  • 凭证只认自己扫的:插件自带扫码登录,不借用其它插件的登录态;没扫码就显示「还没有登录」。凭证存在插件家目录 ~/.dsh/bili-live/credential.json,每 10 分钟校验一次,过期自动掉线。
  • 语音转写在本机跑:音频不出本机,不花 token。只有「接一句话」和「写一张笔记」会调用模型。
  • 不采集你的账号信息:插件只读直播间的公开数据(房间信息、弹幕、音频流)。

成本

动作token
听声音、抽画面0(本机计算)
接一句话约 800
写一张笔记约 8k ~ 9.5k(含 3 张画面)

一场 3 分钟的小直播约 9k token;长时间挂机时,也可以把「总结参考画面」关掉来省。

边界与注意事项

  • 弹幕发送受 B站 风控约束:需要登录 cookie 与 buvid3;冷却与每日上限是为了不刷屏被封,别调得太激进。
  • @ 识别是文本层面:B站 弹幕里的 @ 不一定带结构化字段,按「文本里出现名字/别名」判断,可能偶尔误判。
  • 部分直播间有发言等级限制:发不出去时日志里有报错,插件照常观看,只是说不了话。
  • 弹幕与语音记录只在内存里:进程中途退出,这一场就没了(只在正常离场时落盘)。
  • 跟随 DSH 进程:关掉 DSH 就停止守候,插件不常驻后台。
  • B站 不允许给自己发私信:高分推送要填另一个账号的 UID,留空则分数只写进笔记。

目录结构

index.js            宿主端:轮询开播、进退房间、读弹幕、触发回复、算分、写笔记(含 /api/bili-live/* 路由)
client.js           浏览器端:设置页那一页(自注册模块)
lib/live.mjs        与 B站 直播接口打交道(房间信息 / 弹幕长连接 / 发弹幕 / 拉流地址 / 随机房间)
lib/audio.mjs       音频拉流与切片(FLV 增量解析,只留音频 tag)
lib/asr.mjs         常驻转写进程的宿主侧封装(faster-whisper)
lib/vision.mjs      画面抽样(FLV 切片 → 抽帧)
lib/rating.mjs      十维评分:采集、归一、加权
lib/moderation.mjs  恶意内容审核(隐藏扣分,只审弹幕)
lib/recap.mjs       直播记录器 + txt 笔记落盘
lib/auth.mjs        扫码登录
lib/llm.mjs         借宿主 llm 服务生成回复与总结(失败静默降级)
lib/config.mjs      配置默认值与归一化
lib/cleanup.mjs     离场清理(切片、截图)
tools/asr_worker.py 转写工作进程(stdin/stdout 一行一条 JSON)
tools/grab_frame.py 抽帧进程(stdin 送 FLV,stdout 回 JPEG)
vendor/qrcode.js    二维码生成(MIT,qrcode-generator 1.4.4)
cordis.patch.yml    告诉 DSH:这个插件要跑起来

License

MIT

Comments

Loading…

From the same category

reactive-resume

DeepSeek Harness plugin for Reactive Resume: bridges your resumes and job applications into a Harness session over MCP.

Tools & CapabilitiesManifest valid

★ 41.7k

↓ 121/wk

MIT

Aug 24, 2026

dsh plugin --profile web add dsh-plugin-reactive-resume

by Tencent

Let AI agents use your real, logged-in browser without interrupting your work. CLI + extension for browser automation across any shell-capable AI agent.

Tools & CapabilitiesManifest valid

★ 9.3k

↓ 8.7k/wk

MIT

TypeScript

Oct 20, 2026

dsh plugin --profile terminal add @wxg-prc-cpg/browser-skill-dsh-plugin

by dsh-market

The plugin market inside DeepSeek Harness — browse, search, one-click install · DSH 可视化插件市场

Tools & CapabilitiesManifest valid

★ 7.8k

↓ 163.6k/wk

MIT

TypeScript

Oct 20, 2026

dsh plugin --profile web add dshmarket

by yjh051108

dsh-routing-suite — injector + router-standard kit: install the runtime injector first, then the task-aware reasoning-mode router preset (measured P1-P23).

Tools & CapabilitiesManifest valid

★ 7k

MIT

JavaScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by Q00

Agent OS: the agent gets smarter on its own. We just hold the line: Interview-gated, staged evaluation, budgeted evolution loop. MCP server, 14 runtimes: Claude Code, Codex CLI, Gemini CLI, OpenCode,

Tools & CapabilitiesManifest valid

★ 6.3k

MIT

Python

Oct 20, 2026

Index only — not installable

by superdesigndev

OpenRouter for agent tools. Join community here: https://discord.gg/6mQYYfFMAn

Tools & CapabilitiesManifest valid

★ 5.9k

NOASSERTION

Python

Oct 21, 2026

dsh plugin --profile web add treg-dsh