中文EN

dsh-bili-subagent

tools已测通过npmMIT

派子代理去刷 B站,回报值得看的视频,带每条视频的笔记、卡片墙,以及 @/回复/私信转发的收件箱。

下载量 / Downloads
6,568
依赖体积 / node_modules
0.49 MB
测试时间 / Tested
2026-11-06
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-bili-subagent

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-bili-subagent | 刷 B站(子代理版)

让你的 AI 伙伴自己去刷 B站,然后回来跟你说话。
插件不再自己"跑一轮然后写一份日报给你看"——它只负责派一个子代理去看,
子代理读字幕、翻评论、挑出值得的,写一份给伙伴看的内部报告;
再由你的伙伴(你自己的 AI)用自己的口吻决定怎么告诉你:公开评论只写一两句勾人,私信可以详细。
本仓库是 c1overzz/dsh-bili-scroll 的改版(fork),
基于它的 0.1.10,沿用 MIT 许可并保留原作者署名与 LICENSE。感谢原作者把底子打好。

它现在怎么干活

到点(或你点「现在跑一轮」)
   ↓
插件往「你指定的那个会话」里塞一句(文案可在设置页改):到谷时啦,去 B 站刷一轮吧~
   ↓
你的伙伴看到这句 → 调 bili_scan → 插件派出一个子代理
   ↓
子代理只负责「看」:搜视频 → 扫标题 → 看简介 → 读整段字幕 → 翻评论区
   ↓
交回一份内部报告(标题 / BV号 / 讲了什么 / 为什么值得 / 评论区反响)
   ↓
伙伴按设置决定怎么告诉你:评论 @ 你 / 私信你 / 两个都发

报告同时追加写入 <DSH_HOME>/bili-duty/out/<日期>.md,想回看随时能翻。

和上游(dsh-bili-scroll)的区别

· 上游 · 本版

谁去刷 · 插件自己起一个 headless dsh 会话 · 你的伙伴派一个子代理

花谁的钱 · 那一轮用的模型(默认官方) · 可指到便宜/免费的中转,不占官方额度

结果给谁 · 写日报文件,插件自己发评论 · 写内部报告给伙伴,伙伴自己决定怎么说

说给谁听 · 只有公开评论 · 评论 @ / 私信 / 两个都发

在哪儿发生 · 固定的 headless profile · 你指定哪个会话,就在哪个会话里聊

改提示词 · 改 prompts/duty.md 文件 · 设置页里直接编辑

本地转写 · 有(要装 Whisper,约 1 GB) · 已移除

回楼中楼 · 插件自动替你回(人机味) · 把 @ 和回复递给你的伙伴,让伙伴自己回

检查更新 · 有 · 有(设置页点一下,查自己的仓库)

子代理记录 · 会清理 · 全留着,以后能回看当时刷了什么

本版加了什么(相对上游)

  • ⭐ 派子代理去刷:刷站的不再是插件,而是你的伙伴派出去的一个子代理 —— 看和说彻底分开
  • ⭐ 挑什么样的(两道硬门槛):最低播放量、至少发布几天。不达标的视频在搜索那一步就被滤掉,

子代理根本看不到;有门槛时会自动多抓几倍再筛,免得筛完一条不剩

  • ⭐ 投递方式自己选:评论 @ / 私信 / 两个都发;两者都开时,这一轮没发评论就发不出私信
  • ⭐ 自动刷在哪个会话:到点只往你选的那个会话说一句,能看着它干活、也能接着追问
  • 子代理的模型可换:provider + 模型联动下拉,指到免费中转就不花官方额度
  • 提示词全在面板里改:称呼 + 子代理流程,支持 {owner} {direction} {n} 占位符,改完不用重启
  • 额度口径明确:每天最多自动刷几轮,面板显示「今天已自动刷 X / N 轮」—— 手动跑不占额度
  • 13 个工具:bili_scan(主入口)bili_search bili_subtitle bili_comments bili_reply

bili_send_message bili_send_dynamic bili_status bili_config bili_whoami bili_login_start bili_login_poll bili_setup

  • 删掉的:本地转写(约 1 GB)、headless/overlay、工作区、关注关键词、上游的群答疑与 tools/ 开发脚本
  • 修掉的:DSH 原生设置下「改了又弹回去」、/config 白名单丢字段、pythonPath 落成 python 导致二维码画不出

自动刷是怎么触发的

编排器每 60 秒看一次表,几件事同时成立才跑:

1. 自动刷时段不是「只手动」(三档:只手动 / 只在谷时 / 全天都跑)

2. 今天自动刷的轮数 < 每天最多自动刷几轮

3. 「只在谷时」时,现在得落在某个窗口里:中午 12:00–14:00 或 夜间 18:00–09:00;整个周末整天都算谷时(「全天都跑」不看这条)

4. 离上一轮已经隔够 两轮之间至少隔几分钟(默认 180 分钟 = 3 小时)

举例:设「每天 5 轮」「间隔 180 分钟」,晚上那一轮会这样走 ——

18:00 → 21:00 → 00:00 → 03:00 → 06:00   (5 轮用完就停)

想跑得密(比如周末狂刷):把间隔调到 5 分钟、每天轮数调到 50 —— 一分钟一跳的表照样能一轮接一轮地来。

⚠️ 没投出去不算数:目标会话没醒着、或者派子代理失败,这一轮的额度会退回去,下一个周期还能重试。

适配哪个 DSH 版本(不用操心)

这个插件跟着 DSH 一起更新:作者这边跑的就是最新版的 DSH,最新版插件永远是给最新版 DSH 写的。

所以看到「不适配 / 不支持」之类的提示,基本都是装到了旧版本 —— 升级到最新版、重启一次 DSH 就好。

真遇到新版对不上(比如 DSH 刚升级、插件还没跟上),提个 issue,作者会跟着改。

当前实测对照:插件 0.8.5 ↔ DSH 0.2.1-rc.3(2026-10-26)

装之前(一条前提,30 秒)

机器上要有 Python 3.10+ 或 uv —— 有一个就够:

  • 有 uv 最好:单文件、解压就能用、不用管理员、不用进 PATH;
  • 都没有也没关系:点「装主依赖」时插件会自己下一份 uv 到自己的家目录(免管理员),

先直连 GitHub,不通走国内加速,下载完核对官方 sha256;

  • ⚠️ 杀软报这个下载:把 %USERPROFILE%\.dsh\bili-duty\bin\ 加白;

不想加白就自己装一份 uv 或 Python 3.10+。

需要 DSH ≥ 0.1.7-rc.1。版本不满足时内核会静默跳过这个插件(装了跟没装一样,不报错)。

装

在 DSH 里:设置 → 插件 → 安装,填这一行;或者命令行:

dsh-bili-subagent
dsh plugin --profile desktop add dsh-bili-subagent
也可以在 npm 上直接看到这个包(含历史版本):<https://www.npmjs.com/package/dsh-bili-subagent>
上面那条要是碰到网络问题(npm 抽风、或者想固定某一次的代码快照),可以改用 tarball 直链,不用 git:
dsh plugin --profile desktop add https://codeload.github.com/Yuuyuko-uu/dsh-bili-subagent/tar.gz/refs/heads/main
也发布到 npm 了:dsh plugin add dsh-bili-subagent(不用 git)。
上架之后就能简写成 dsh plugin add dsh-bili-subagent。
⭐ 最省事的一条:把仓库链接贴给你自己的 dsh,说「帮我装这个插件」。

⚠️ 装完必须重启一次 dsh(插件在 bundle 层组装,不重启不生效)。然后进 设置 → 刷B站。

装完起不来?先看这个

如果 DSH 弹「The application could not start」,错误里有 Unexpected token ''、is not valid JSON、

readProfileManifest —— 那是 profile 的 package.json 被存成了 UTF-8 带 BOM。

跟插件无关:内容都是对的,只是开头多了三个看不见的字节,DSH 读它就崩。

先找出来(不同装法位置不一样,别猜 —— 真正的 profile 目录里同时有 cordis.yml、cordis.patch.yml、package.json;机器上别处那些同名的都不算):

Get-ChildItem C:\,D:\,E:\ -Directory -Filter profiles -Recurse -Depth 4 -ErrorAction SilentlyContinue |
  ForEach-Object {
    Get-ChildItem $_.FullName -Directory -ErrorAction SilentlyContinue | ForEach-Object {
      $p = Join-Path $_.FullName 'package.json'
      if ((Test-Path (Join-Path $_.FullName 'cordis.patch.yml')) -and (Test-Path $p)) {
        $b = [System.IO.File]::ReadAllBytes($p)
        $bom = ($b.Length -ge 3 -and $b[0] -eq 0xEF -and $b[1] -eq 0xBB -and $b[2] -eq 0xBF)
        "{0}   BOM={1}" -f $p, $bom
      }
    }
  }

输出里 BOM=True 的那一行,就是要修的文件(标准安装在 C:\Users\<你>\.dsh\profiles\<档名>\package.json)。

去掉 BOM(路径换成上面那一行):

$p = "把上面 BOM=True 那一行的路径粘到这里"
[System.IO.File]::WriteAllText($p, [System.IO.File]::ReadAllText($p), (New-Object System.Text.UTF8Encoding($false)))

然后重启 DSH 就好,数据一点没丢。实在进不去时,那个错误框里的

「Disable third-party plugins, back up profile patch, and restart」 能先起来,再一个个开回去定位。

⚠️ 手动改 profile 里的文件,一律存 UTF-8 无 BOM。让 AI 帮你改时,别让它用
Set-Content -Encoding UTF8 或 Out-File -Encoding utf8(Windows 自带的这两个默认带 BOM)。

更新到最新版

最省事:把这个仓库的地址丢给你自己的 DSH,说「帮我更新这个插件」。装完重启一次 DSH。

也可以点 设置 → 刷B站 最上面的「检查更新」 —— 有新版会提示,还能一键复制更新命令。

命令行(--profile 照你平时那个写,桌面端一般 desktop、网页端 web):

dsh plugin --profile desktop remove dsh-bili-subagent
dsh plugin --profile desktop add dsh-bili-subagent
⚠️ 必须先卸再装:直接装可能拿到缓存里的旧副本,装完还是老的。
⚠️ 装完重启一次 DSH才会用新代码。

我的设置会不会丢?

不会。 设置存在 DSH 家目录(%USERPROFILE%\.dsh\)里,不在插件代码里;卸载只删代码:

.dsh\bili-duty\config.json   (还有 state.json、B站登录凭证)

所以卸载 → 重装,刷视频的设置、每天刷了几轮、B站登录状态 都还在。

三件小事提醒:

  • 别用「重装 DSH」来更新插件 —— 那是两件事,重装可能动到 profile。
  • 新版本新加的设置项会用默认值(以前没这一项),想要自己的值就再填一次。
  • 设置项改名/换单位时(比如「隔几小时」→「隔几分钟」)会自动换算,不用你管。

首次使用(两步)

1. 装主依赖 —— 设置页点「装主依赖」:在插件自己的家目录建独立 venv,装

bilibili-api-python / aiohttp / mcp<2 / qrcode。走国内镜像,通常几十秒(进度写 install.log)。

2. 扫码登录 —— 点「扫码登录」,用手机 B站 扫。

⚠️ 确认时选「**记住我 / 长期*

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:13,最后更新 2026-11-03

链接

GitHub · Homepage · npm

同类插件