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