Skip to content

dsh-bili-allinone

Verified

dsh-bili-allinone · v0.0.2 · MIT · Web UI

DSH 插件:多分类刷B站、主动分享、自动回复 @ / 评论 / 私信

Install

dsh plugin add dsh-bili-allinone

Confirm the layer applied with dsh --profile default --dump-config — see the install guide.

Source

Published to npm without a public repository. Inspect the package contents before installing.

Tags

Creators

Readme

dsh-bili-allinone | 刷B站

一个 DSH 插件:按你写的内容分类刷 B站、读字幕挑视频、主动分享,并自动回复 @ / 评论 / 私信。

当前版本:0.0.2(npm:[email protected],见 https://www.npmjs.com/package/dsh-bili-allinone) 本地开发源码在 C:\Users\Microsoft\dsh-plugins\dsh-bili-allinone,通过 junction 挂到 DSH profile。 改完代码或设置后,重启一次 DSH 才生效。

一分钟了解

  • 需要 Python 3.10+ 或 uv(有一个就够;都没有时插件会自己下 uv)
  • 不装「本地转写」约 84 MB;装了约 1 GB(Whisper 模型占大头)
  • 两个独立开关:刷视频(主动找视频、分享)和评论与回复(被动回复别人)
  • 分享和回复都会以你的账号发言,默认克制:分享每轮最多 1 条;回复只回最近的消息

它做什么

主动(刷视频栏)

  • 按「刷视频内容」里的分类(一行一类)分别搜索、分别挑,不混成一个主题
  • 逐条读字幕原文再判断;没字幕时可开本地转写,否则跳过,并在报告里写「因无字幕跳过 N 条」
  • 挑中后按「分享」规则主动评论 @ 或私信(分享开关控制,每轮最多 1 条)

被动(互动栏)

  • 只回复:@你、回复你评论、私信你的人
  • 独立间隔、独立读取范围、独立条数上限
  • 与刷视频开关完全分开:刷视频关了,别人找你照样回

日志

  • 刷视频、评论与回复各有一份日志报告:每「打开一次 → 手动关掉」算一条,覆盖这段时间里的每一轮 (例:10:00 打开、12:00 关掉 ⇒ 一条 10:00–12:00 的记录,展开是这两小时的全部视频 / 评论 / 私信)
  • 可展开 / 复制 / 删除;还没关掉时标「运行中」,关掉那一下收尾并写好结束时间

安装 / 更新

  • 已发布到 npm:包名 dsh-bili-allinone,当前 0.0.2
  • 安装 / 升级:dsh plugin --profile <你的 profile> add dsh-bili-allinone,或在 DSH 插件市场搜索「刷B站」/ dsh-bili-allinone
  • 本地开发:dsh plugin --profile <你的 profile> add link:<插件目录>(源码目录见上)
  • 装 / 升级 / 改名后都要重启一次 DSH(bundle 层要重启才组装);之后在设置 →「刷B站」里用
  • 依赖一般不用重装;本地改代码后重启 DSH 即可

首次使用

  1. 装主依赖:设置 →「环境与账号」→「装主依赖」。在插件目录建独立 venv,装 4 个包(bilibili-api-python / aiohttp / qrcode / mcp<2),走国内镜像,进度写 install.log
  2. 扫码登录:点「扫码登录」,手机 B站 扫页面上的码;确认时选「记住我 / 长期」
  3. 凭证只存在本机:<插件目录>\bili_credential.json

设置页

分成 刷视频 / 互动 / 设置 三栏:

刷视频

项 说明
刷视频 打开就立刻刷;关闭后不刷、不主动 @ / 私信,那一段日志随即收尾
时间 每天只在这段时间内自动刷(支持跨零点),默认全天
每分钟刷几条视频 0–50,可为小数;0.5 = 2 分钟一条;0 = 不自动刷。每轮挑这么多条,轮次间隔按它计算(高速率时受 60 秒最小间隔限制)
刷视频内容 一行一个分类;每行分别理解、分别搜索、分别挑;不换行就是一整段;保存后生效
分享 右侧总开关:打开才主动分享。下面可设几分钟分享一条(0.1–1000,0.1 = 6 秒;每轮最多 1 条;0 = 不主动分享)、分享方式(只评论 / 只私信 / 都发)、要 @ 谁、私信发给谁(最多 10 个 UID,可折叠)
日志报告 每次开启到关闭一条(不是每轮一条),标题带年月日与起止时间;参数在最前,下面汇总这段时间刷到的视频链接(可点击)、已 @ / 已私信的人、评论 / 私信内容

互动

项 说明
评论与回复 右侧总开关:只负责回复 @你 / 回复你评论 / 私信你的人;不参与刷视频分享
自动回复间隔(分钟) 0–120;多久检查一次未读;0 = 不自动检查
读取时间范围(小时) 0–48;回复时最多回看多久内的消息;0 = 只看每个会话最新一条
每次最多回几条 1–10;只控制自动回复,不影响刷视频分享
日志报告 每次开启到关闭一条;展开是这段时间的逐条「时间 + 在哪里回复 + 回复内容」,评论和私信都有

设置

项 说明
工作区 填放 AGENTS.md 的目录;这里的人设对整个插件生效(刷视频 / 评论 / 自动回复 / 私信统一风格);保存后生效。留空 = 不读人设、按中性说话
环境与账号 装主依赖 / 测一下 / 扫码登录;显示环境与登录状态
本地转写 默认关;打开后还要点「装转写依赖」,没装时没字幕的视频会跳过
插件地址 显示插件目录;按钮:打开日志文件夹 / 清除日志与归档 / 打开插件目录

设置同时写在插件 config.json 和 DSH 原生「插件设置」;在插件页改以插件页为准,并在原生设置里显式设过的字段以原生设置为准。

省 token 的做法:会话每天重置一次;判重只内联最近 100 个 BV;归档只写挑中的;回复轮没新消息不启动。

日志与文件

位置 内容
<插件目录>\out\<日期>.md 刷视频报告原文(模型每轮追加一段,设置页会把它按「开启时段」汇总)
<插件目录>\out\reply-log.md 自动回复原文(模型每条追加一行,设置页同样按时段汇总)
<插件目录>\digest\<月份>.md 归档(只记挑中的视频)
<插件目录>\rounds.json 设置页日志报告的列表数据(一条 = 一段「开启 → 关闭」)
<插件目录>\duty.log 插件运行日志(满了轮转 duty.log.1)
<插件目录>\seen.md 视频判重表
<插件目录>\reply-seen.md 回复判重表
<插件目录>\config.json 插件配置
<插件目录>\bili_credential.json B站登录凭证

「清除日志与归档」会清空 out/、digest/ 和日志列表;不动 seen.md / reply-seen.md / 配置 / 凭证。

红线

  • 不泄露账号、路径、聊天内容等隐私
  • 主动分享按设置和间隔来:不刷屏、同一视频不重复评论、不吵架
  • 回复由独立的「评论与回复」开关控制;不参与争论,不确定就写「没查到」而不是编
  • 分享失败 / 被限流时宁可不发,也不硬撞

它是怎么跑的

  • 插件内部起一个 Python MCP(内置 vendor/bilibili-mcp),提供搜索 / 字幕 / 评论 / 分享 / 回复 / 私信读取能力
  • 刷视频或回复到点时,起一个 dsh --profile headless 轮次,把 prompts/duty.md + 本轮设置交给它
  • 那一轮的工作目录是插件目录(沙箱只让它写自己目录);你在「工作区」填的 AGENTS.md 由插件读进来、前 3000 字内联进提示词
  • 工具白名单按轮次给:
    • 刷视频轮:搜索 / 字幕 / 评论 / 视频信息;分享开关打开才加发评论,配了分享方式才加发私信
    • 回复轮:字幕 / 评论 / 视频信息 / 回复评论 / 发私信 / 读私信 / 看通知
  • 会话每天重置一次,避免历史越背越长;刷视频判重只内联最近 100 个 BV
  • 章程升级:插件记着上次铺的 duty.md(charter.sha256);你没改过就自动升级,改过就保留你那份、新版放 duty.md.new

常见问题

  • 设置页不出现 / 插件没生效:确认 DSH 已重启、junction 存在;看 duty.log 有没有报错
  • 装依赖卡住 / 二维码不出:先确认 Python/uv 可用,再看 install.log;点「重装主依赖」再试一次
  • 桌面版 DSH 上自动跑卡住:先关「刷视频」开关,确认 profile 后再开
  • 本地转写没反应:只打开开关不够,还要点「装转写依赖」;没装时没字幕的视频会跳过
  • 分享为什么没到 6 秒一条:分享发生在刷视频轮里,实际最快受刷视频轮间隔限制;刷视频轮越密,分享才能越快
  • 评论 / 私信没发出去:检查分享开关、分享方式、要 @ 谁 / 私信 UID、分享频率是否 > 0
  • 自动回复不动:检查「评论与回复」开关、自动回复间隔、读取范围、B站 是否已登录
  • 未分组里有一条会话:那是插件的 headless 会话(工作目录是插件目录,不属于 DSH 工作区);插件会复用它,一般不用管
  • 日志会不会占很多空间:日志和归档都是文本,增长很慢;用「清除日志与归档」或手动删 out/、digest/ 即可

依赖与致谢

  • 内置 bilibili-mcp(MIT,Copyright (c) 2026 AGI_Ananas)
  • Python 依赖 4 个:bilibili-api-python / aiohttp / qrcode / mcp(mcp 必须 <2)
  • 本插件只做「挑什么、什么时候挑、要不要说话」这一层

路线图

  • 0.0.2(当前,已发布 npm):日志报告改成「一段开关 = 一条」(开启到手动关闭的整段时间),不再是每轮一条
  • 0.0.1:内置 MCP、扫码登录、多分类刷视频、分享、自动回复、日志报告、清除日志与归档
  • 下一步:每轮 token / 花费记账、周末时段、可配置数据目录、「停掉这一轮」按钮
  • v0.2:用 JS 重写接口,去掉 Python 依赖

许可证

MIT(内置 vendor/bilibili-mcp/ 另见该目录 LICENSE)