deepseek-harness
tiwe0/GeoChat会话隔离的 GeoGebra 画布,提供 20 个原生工具用于作图、场景读回、文字排版检查与动画采样,并内置 55 个数学技能和离线 Applet 资源。
让你的 AI 伙伴自己去刷 B站,然后回来跟你说话。
插件不再自己"跑一轮然后写一份日报给你看"——它只负责派一个子代理去看,
子代理读字幕、翻评论、挑出值得的,写一份给伙伴看的内部报告;
再由你的伙伴(你自己的 AI)用自己的口吻决定怎么告诉你:公开评论只写一两句勾人,私信可以详细。
本仓库是 c1overzz/dsh-bili-scroll 的改版(fork),
基于它的 0.1.10,沿用 MIT 许可并保留原作者署名与 LICENSE。感谢原作者把底子打好。到点(或你点「现在跑一轮」)
↓
插件往「你指定的那个会话」里塞一句(文案可在设置页改):到谷时啦,去 B 站刷一轮吧~
↓
你的伙伴看到这句 → 调 bili_scan → 插件派出一个子代理
↓
子代理只负责「看」:搜视频 → 扫标题 → 看简介 → 读整段字幕 → 翻评论区
↓
交回一份内部报告(标题 / BV号 / 讲了什么 / 为什么值得 / 评论区反响)
↓
伙伴按设置决定怎么告诉你:评论 @ 你 / 私信你 / 两个都发报告同时追加写入 /bili-duty/out/.md,想回看随时能翻。
· 上游 · 本版 谁去刷 · 插件自己起一个 headless dsh 会话 · 你的伙伴派一个子代理 花谁的钱 · 那一轮用的模型(默认官方) · 可指到便宜/免费的中转,不占官方额度 结果给谁 · 写日报文件,插件自己发评论 · 写内部报告给伙伴,伙伴自己决定怎么说 说给谁听 · 只有公开评论 · 评论 @ / 私信 / 两个都发 在哪儿发生 · 固定的 headless profile · 你指定哪个会话,就在哪个会话里聊 改提示词 · 改 prompts/duty.md 文件 · 设置页里直接编辑 本地转写 · 有(要装 Whisper,约 1 GB) · 已移除 回楼中楼 · 插件自动替你回(人机味) · 把 @ 和回复递给你的伙伴,让伙伴自己回 检查更新 · 有 · 有(设置页点一下,查自己的仓库) 子代理记录 · 会清理 · 全留着,以后能回看当时刷了什么
子代理根本看不到;有门槛时会自动多抓几倍再筛,免得筛完一条不剩
{owner} {direction} {n} 占位符,改完不用重启每天最多自动刷几轮,面板显示「今天已自动刷 X / N 轮」—— 手动跑不占额度bili_scan(主入口)bili_search bili_subtitle bili_comments bili_replybili_send_message bili_status bili_config bili_whoami bili_login_start bili_login_poll bili_setup
tools/ 开发脚本/config 白名单丢字段、pythonPath 落成 python 导致二维码画不出编排器每 60 秒看一次表,几件事同时成立才跑:
举例:设「每天 5 轮」「间隔 180 分钟」,晚上那一轮会这样走 ——
18:00 → 21:00 → 00:00 → 03:00 → 06:00 (5 轮用完就停)想跑得密(比如周末狂刷):把间隔调到 5 分钟、每天轮数调到 50 —— 一分钟一跳的表照样能一轮接一轮地来。
⚠️ 没投出去不算数:目标会话没醒着、或者派子代理失败,这一轮的额度会退回去,下一个周期还能重试。
机器上要有 `Python 3.10+` 或 `uv` —— 有一个就够:
uv 最好:单文件、解压就能用、不用管理员、不用进 PATH;先直连 GitHub,不通走国内加速,下载完核对官方 sha256;
%USERPROFILE%.dsh\bili-duty\bin 加白;不想加白就自己装一份 uv 或 Python 3.10+。
需要 DSH ≥ `0.1.7-rc.1`。版本不满足时内核会静默跳过这个插件(装了跟没装一样,不报错)。
在 DSH 里:设置 → 插件 → 安装,填这一行;或者命令行:
github:Yuuyuko-uu/dsh-bili-subagentdsh plugin --profile desktop add github:Yuuyuko-uu/dsh-bili-subagent本版暂未发布到 npm(账号还在等),所以先用 GitHub 地址装。
上架之后就能简写成 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 github:Yuuyuko-uu/dsh-bili-subagent⚠️ 必须先卸再装:直接装可能拿到缓存里的旧副本,装完还是老的。
⚠️ 装完重启一次 DSH才会用新代码。
不会。 设置存在 DSH 家目录(%USERPROFILE%.dsh)里,不在插件代码里;卸载只删代码:
.dsh\bili-duty\config.json (还有 state.json、B站登录凭证)所以卸载 → 重装,刷视频的设置、每天刷了几轮、B站登录状态 都还在。
三件小事提醒:
bilibili-api-python / aiohttp / mcp<2 / qrcode。走国内镜像,通常几十秒(进度写 install.log)。
⚠️ 确认时选「记住我 / 长期」,选 24 小时的话明天就得重扫。 凭证只落在本机:/bili-duty/bili_credential.json,不上传任何地方。
区块 · 说明 什么时候自己跑 · 三档:只手动 / 只在谷时 / 全天都跑。「只在谷时」时会展开「中午谷时 12:00–14:00」「晚上/夜间谷时 18:00–09:00」两个勾选框;只要是自动(不是只手动),下面还有一个两轮之间至少隔几分钟(默认 180,最少 5、最多 720)。按这个节奏一轮一轮轮转,跑到「每天最多自动刷几轮」用完为止;手动跑不受间隔限制。谷时口径依据 DeepSeek 定价:工作日 9:00–12:00、14:00–18:00 是高峰,其余(含整个周末)都是谷时 派子代理刷的模型 · 选 provider + 模型(联动下拉,选中即存)。默认「跟当前会话一样」;也可以指到免费或便宜的中转,那样就不花官方额度的钱 自动刷在哪个会话 · 到点时往哪个会话里递话。不选 = 自动挑最近聊过的那个;连一个都没有才临时新建(用完自动释放) 提示词(可改) · 四段都能自己写,留空都 = 用内置默认:① 子代理提示词(派出去的子代理看;{owner} {direction} {n});② 投递提示(报告交回时附给伙伴看,告诉它怎么发评论/私信;{owner} {mention} {commentQuota} {uid} {commentBlock} {dmBlock});③ 自动刷触发语(到点塞进目标会话的那一句;{owner});④ 评论怎么写(发公开评论时照它写;{owner} {mention} {quota} {style} —— {style} 每次从几种口吻里随机挑一种,省得每条都一个调门)。「称呼」改了,四段里的名字一起变 一轮挑几条 · 每次最多挑几条(1–10)。和「每天最多自动刷几轮」是两件事 挑什么样的 · 两道硬门槛:最低播放量、至少发布几天。不达标的视频在搜索那一步就被滤掉,子代理根本看不到(0 = 不过滤);有门槛时会自动多抓几倍再筛,免得筛完一条不剩 它会不会替你说话 · 「自动评论并 @ 你」开关 + 每轮几条(0–20)+「要 @ 谁」(留空 = 不发评论);再往下是投递方式:只发评论 / 只私信 / 评论+私信 日报写多细 · 完整 / 薄 / 不写。薄只留「值不值得 + 链接」 环境与账号 · 装主依赖、测一下、扫码登录 它的地盘 · 插件家目录、今天的报告、打开文件夹
设置同时落在两处:插件自己的 config.json 和 DSH 原生「插件设置」。以设置页(DSH 原生那层)为准——那才是真正生效的值。
工具 · 干什么 bili_scan · 主入口:派一个子代理去刷,拿回内部报告 + 投递提示 bili_search · 搜视频(可排序) bili_subtitle · 取 AI 字幕全文(判断内容就靠它) bili_comments · 取热门评论 bili_reply · 在视频下发评论(@ 就是写在正文里的纯文本) bili_send_message · 发私信 bili_status · 今天跑了没、挑了几条、额度剩多少、下次什么时候开 bili_config · 读 / 改设置(不用开设置页) bili_whoami · 看登录的是谁 bili_login_start / bili_login_poll · 扫码登录 bili_setup · 建 venv、装依赖
⭐ 两者都开时,有一道硬闸:这一轮还没发评论就发不出私信(会被顶回去让你先评论)。 因为实测模型会习惯性跳过评论、只顾着发私信。评论"调过就算"(失败也解锁),不会把伙伴卡死。
⚠️ B站 对「陌生人私信」会限流、可能不弹提醒 —— 建议先让两边互关。