dsh-bili-pond
Manifest validdsh-bili-pond · Bilibili Fish Pond Every day, send the fish down to Bilibili to scoop up a few worth-watching videos, then write up the daily report and @ you.
dsh-bili-pond · B站鱼塘
每天派鱼去 B站 捞几条值得看的。自动运行和评论默认关闭,要用在自己开。
DeepSeek Harness 插件。一次配置,之后它自己去 B站 检索、读字幕(没字幕时可本地转写)、 按你给的口味筛出值得看的,写成日报,需要的话在评论区 @ 你。
| 每天自动跑 | 可配每天几轮 + 两轮间隔(默认每小时 1 轮),可限谷时;手动跑不占自动额度 |
| 按你的口味筛 | 读 AGENTS.md 里的人设与准则,不是通用推荐 |
| 真读内容 | 字幕优先;没字幕走本地 Whisper 转写;不看标题瞎猜 |
| 模型自选 | 从你 DSH 里真实注册的线路里挑,不写死 |
| 日报可读 | 渲染 markdown,不是一坨纯文本 |
| 进度可见 | 跑的时候实时显示阶段、已用时、今日已挑;输出可展开 |
| 失败说人话 | 没跑成会讲清原因和下一步点哪,不用自己翻日志 |
截图
设置页就在 DSH 里(设置 → B站鱼塘),下面几张是实际界面:
| 总览 | 运行环境与模型 |
|---|---|
![]() | ![]() |
| 评论与私信(安全闸) | 内容筛选与日报 |
|---|---|
![]() | ![]() |
关于本项目的来源(重要)
本项目基于 dsh-bili-scroll 0.1.10 衍生:
MIT License · Copyright (c) 2026 dsh-bili-duty contributors
但不是 fork,也不跟随上游版本。调度、模型选择、报告渲染、内容筛选、投递逻辑与安全闸均已重写, 与原项目不再兼容(配置字段、条目 id、API 路径都变了)。详见「与原版的差异」。
如果你的需求是「大体按原版跑」,请去用原项目;想要下面这些,用这个。
装之前
- DSH 桌面版(或能跑
dsh命令的环境),版本>= 0.1.7-rc.1 - Node >= 22
- 一个能用的模型线路:headless 那一轮要调模型。可以用 DSH 账号、API Key, 或者 WorkBuddy 这类 provider 插件
- 装完重启 DSH(插件代码只在启动时加载)
安装
dsh plugin --profile desktop add dsh-bili-pond
装完重启 DSH。
其他装法:
# 从 GitHub(npm 不可用时)
dsh plugin --profile desktop add github:YOYOLnFu/dsh-bili-pond
# 从本地目录
dsh plugin --profile desktop add link:/path/to/dsh-bili-pond
第一次使用(3 步)
-
设置 → B站鱼塘 → 安装运行环境 在插件的数据目录(
~/.dsh/bili-duty,见下面「数据都在哪」)里建独立 Python 环境(.venv)并装依赖。几十秒到两分钟。 完成后pythonPath会自动指向它。 -
扫码登录 B站 点「扫码登录」,手机 B站 → 我的 → 扫一扫。 ⚠️ 确认时选「记住我 / 长期」,选 24 小时的第二天就得重扫。 凭证只存在本机
<DSH_HOME>/bili-duty/bili_credential.json。 -
填人设与口味(推荐) 设置页「检索与上下文 → 工作区路径」填一个目录,点旁边的「建模板」, 它会在那个目录里生成一份
AGENTS.md(我是谁 / 关心什么 / 不关心什么 / 判断标准 / 说话口吻), 照着改就行。之后每轮都会把这份文件读进提示词,按它筛内容。 留空 = 按中性语气,不扮演任何人。
然后点「立即运行一轮」看看效果。跑的时候设置页顶部会出现「本轮进度」卡片: 当前阶段、已用时、今日已挑几条,运行输出可以展开看。
如果没跑成,卡片里会直接写原因和下一步点哪(比如「模型线路没通 → 去高级设置重选一条」), 不用自己去翻日志。
设置项
自动运行
| 项 | 默认 | 说明 |
|---|---|---|
| 自动运行 | 关 | 总开关。关着只能手动跑 |
| 每天最多几轮 | 6 | 0 = 不限 |
| 两轮间隔 | 60 分钟 | 默认 60 ⇒ 每小时最多 1 轮 |
| 只在谷时跑 | 关 | 开启后自动轮只排在谷时窗口(12–14 / 18–09) |
排班规则:五级闸门依次判断 —— 总开关 → 每天挑选配额 → 每天轮数配额 → 两轮间隔 → 谷时窗口。
中午保底:夜间窗口有 15 小时,按间隔能跑 15 轮,容易把额度吃光导致中午轮不到。 所以夜间的最后一轮会扣着留给中午;过了 14:00 中午没跑成则释放,不白等一整天。
手动那一轮不占自动额度(不写窗口标记、不计轮次)。
每轮与每天上限
| 项 | 默认 | 说明 |
|---|---|---|
| 每轮最多挑几条 | 3 | 一轮里最多挑中几个视频 |
| 每天最多挑几条 | 18 | 全天上限。默认 18 = 6 轮 × 3 条 |
| 每天最多转写几次 | 10 | 熔断。到上限后只挑有字幕的视频 |
⚠️ 默认值必须自洽:每天轮数 × 每轮条数 ≤ 每天上限,否则每天上限先触发,
「每天几轮」就成了空头支票。
⚠️ 上限提醒:每天 > 24 条 / 每轮 > 5 条 / 每天 > 12 轮 时卡片顶部会弹警告。
一天 120 条 ≈ 每 12 分钟发一条评论,B站 对高频评论 + 固定 @ 同一人有明确的反垃圾识别,
小号很可能当天被封。
内容筛选
| 项 | 默认 | 说明 |
|---|---|---|
| 只看多长的视频 | 0 ~ 60 分钟 | 0 = 该端不限。长视频转写很慢 |
| 字幕优先 | 开 | 先挑有字幕的,省掉转写 |
| 最多查几条字幕 | 3 | 查完还没字幕,就转写优先级最高的那条(不无限翻页) |
发布与互动
评论和私信是两个独立开关,互不影响 —— 都开就是「评论 + 私信」。
| 项 | 默认 | 说明 |
|---|---|---|
| 评论行为 | 关闭 | 关闭 / 发评论 / 发评论 + 回复楼中楼 |
| 每轮评论上限 | 1 | 0 = 不发评论。上限跟着「每轮最多挑几条」走(挑 3 条就只能设 ≤ 3) |
| 在评论里 @ 谁 | 空 | 填 B站 UID,点「识别」自动带出昵称。留空 = 不发评论 |
| 私信 | 关 | 独立开关。打开后才发私信 |
| 私信收件人 UID | 空 | 只能发给这个人,见下面的安全闸。填完点「识别」可确认发给谁 |
页面上「评论行为」下方会实时写「本轮会做:…」(只生成报告 / 只发公开评论 / 只发私信 / 评论 + 私信), 口径与后台判据一致,不用自己推组合。
高级设置(折叠)
运行模型线路 / 具体模型 / 本地语音转写 / 运行环境 / 数据目录。
安全闸
这个插件会用你的账号说话,所以有几道硬闸:
- 评论默认关。要「自动评论」「@ 谁」两个都填了才发。
- 私信只能发给设置里那一个 UID。模型传别的 UID 会被直接拒绝 (包括视频 UP 主、评论区里的人)。被拒了不许换 UID 重试。
- 转写熔断:每天最多 N 次,防止机器一直满负荷。
- 评论前必须真读内容:字幕或转写原文,不许拿标题简介硬编。
跑一轮会发生什么
dsh --profile headless --patch <插件生成的 overlay> <提示词>
那一轮里:
- 按关键词搜(或按你 AGENTS.md 的口味)
- 判重(
seen.md,看过的不再看) - 按时长过滤
- 字幕优先 → 没有就本地转写(受熔断限制)
- 判断值不值得 → 挑中
每轮最多挑几条条 - 可选:发评论(@ 你)/ 发私信(给你)/ 回复楼中楼
- 写日报(markdown)+ 归档(
digest/年月.md)
跑的时候能看见进度:设置页顶部会出现「本轮进度」卡片,显示当前阶段(检索 / 读字幕 / 转写 / 写报告 / 发评论)、已用时、今日已挑几条,运行输出默认收起、点开可看。 一轮还没结束时,「立即运行一轮」按钮会变灰并显示已用时 —— 同一时间只允许一轮。
没跑成会说明原因:几秒就退出、模型线路不通、没登录、网络失败这些常见情况, 卡片里直接给一句人话和下一步点哪。
工作目录 = 插件的数据目录(~/.dsh/bili-duty,见下一节),那一轮被沙箱关着,只写得进这里。
数据都在哪
插件的运行数据全部集中在一个目录里,下面简称为「数据目录」:
| 系统 | 数据目录 |
|---|---|
| Windows | %USERPROFILE%\.dsh\bili-duty\ |
| macOS / Linux | ~/.dsh/bili-duty/ |
也就是「~/.dsh 这个 DSH 配置文件夹下的 bili-duty 文件夹」。
它跟插件安装位置无关 —— 装插件是在 ~/.dsh/profiles/<profile>/node_modules/ 里,
重装或升级插件不会碰数据目录,所以数据不会丢。
那个目录里的东西:
| 文件 | 内容 |
|---|---|
config.json | 插件自己的配置(以这份为准) |
duty.md | 值班章程(模型每轮读的规则,你可以改) |
seen.md | 判重表(看过哪些、发过哪些评论) |
out/日期.md | 每天的日报 |
digest/年月.md | 归档(可检索) |
bili_credential.json | B站 登录凭证(只存本机) |
duty.log | 事件日志:每轮开始/结束、用时、挑中几条、发布结果(不长) |
run.log | 最近一轮的原始输出(模型边说边打印的全在里面,每轮清空) |
.venv | Python 环境 |
.venv-asr | 转写环境(可选) |
目录名沿用
bili-duty(从原项目继承)。改目录名会丢失判重表、凭证和历史报告。
与原版的差异
| 方面 | 原版 dsh-bili-scroll | 本项目 |
|---|---|---|
| 包名 / 条目 id | dsh-bili-scroll / bili-scroll | dsh-bili-pond / bili-pond |
| 自动运行 | 峰谷是总开关,只有窗口内才跑 | 自动是主开关;峰谷降级为可选项 |
| 排班 | 每个窗口跑一次 | 每小时最多 1 轮、可配间隔、中午保底 |
| 配额 | 单一 perDay | 拆成每轮 / 每天两级,默认值自洽 |
| 模型 | 固定跟随 profile | 设置页自选线路与型号,开跑前预检 |
| 时长过滤 | 无 | 有(分钟范围) |
| 字幕优先 | 无 | 有(最多查 N 条) |
| 转写熔断 | 无 | 有(每日上限) |
| 报告 | <pre> 纯文本 | markdown 渲染 |
| 日志 | 平铺 | 可折叠 |
| @ 谁 | 填昵称 | 填 UID 自动解析昵称 |
| 私信 | 有配置但工具没放行(发不出去) | 修好 + 只能发给自己 |
| 同步提示 | 回读误报「N 项未能同步」 | 修正(写成功即成功) |
保留的原版部分:vendor/bilibili-mcp/(第三方 B站 MCP,MIT · Copyright (c) 2026 AGI_Ananas)、
lib/ 里的工具函数、以及「插件 + headless 跑一轮」的整体架构。
桌面版 DSH(NEXT / 0.2.x)请注意
桌面版是 Electron 安装包,不是 npm i -g 装的,所以有几处和命令行版不同:
- 跑一轮用的是 Electron 里 spawn 的 node ⇒ 必须带
ELECTRON_RUN_AS_NODE=1, 否则它当成"再开一个 Electron 应用"、什么都不干就以 0 退出(插件已处理)。 dshCLI 不在 PATH 上 ⇒ 插件会去应用目录里找;找不到会在duty.log里明说 「请在设置里把 dsh 路径指过去」。- 改完插件代码要重启 DSH(HMR 不监视 node_modules)。
装不上 / 卡住时
装依赖卡住、或扫码时一直不出二维码
插件会自动下一份 uv 到自己的数据目录(免管理员、不用 PATH),依次试
直连 GitHub → 国内加速代理 → PyPI 镜像,并核对官方 sha256。
如果这条链路全不通:
- 手动放一份
uv.exe到%USERPROFILE%\.dsh\bili-duty\bin\—— 插件会用那一份、跳过下载(PATH 里本来就有uv的话直接用那个)。 - 或者自己装 Python 3.10+(安装时勾 Add to PATH),再点一次「安装运行环境」。
- 杀软拦了下载:把
%USERPROFILE%\.dsh\bili-duty\bin\加白。
装完显示"就绪"但其实跑不起来
pythonPath 没指向 .venv。设置页「高级设置 → 运行环境」里能看到实际路径,
应该是 .venv\Scripts\python.exe(Windows)或 .venv/bin/python。
常见问题
「测一下」报 MCP 子进程退出 / No module named 'mcp'
运行环境没装好,或 pythonPath 没指向 .venv。点「安装运行环境」,
确认 pythonPath 指向 .venv/Scripts/python.exe。
跑一轮报 MISSING_CREDENTIAL
headless profile 没有可用的模型凭证。要么给那个 profile 配好线路,
要么在设置页「高级设置 → 运行模型线路」里选一条它真有的(选不到的会置灰)。
一轮跑很久 本地转写很慢(CPU,一条几分钟)。减少关键词、调低每轮条数、或把时长上限设小。
登录失效(发评论返回 -101) B站 cookie 会提前失效。重新扫码即可。
开发
npm run check # 全部四层:双端自检 + 141 条静态断言 + 14 条迁移测试 + 7 条配额钳制测试
拆开跑:
node --import ./tools/register.mjs selfcheck.mjs # 双端预检(不碰真数据目录)
node tools/_check-1016.mjs # 141 条静态断言
node tools/test-migrate.mjs # 老配置迁移(perDay / peakValley / dmMode)
node tools/test-comment-cap.mjs # 评论上限 ≤ 每轮挑中数
npm publish 前会自动跑 npm run check,不过就不发。
改完代码要重启 DSH 才生效(插件代码只在启动时加载,HMR 不监视 node_modules)。
许可
MIT。许可全文见 LICENSE;衍生关系与第三方代码的版权声明见 NOTICE。 内置的 B站 MCP 来自 bilibili-mcp(MIT)。
Comments
Loading…
Similar plugins
by c1overzz
DSH 插件:每天替你刷一轮 B站,读字幕挑出值得的、写一份日报,值得的 @ 你
★ 336
↓ 5.3k/wk
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-bili-scrollby jokerwen666
等你的小鲸鱼跑任务时随机播放b站视频,愉快做监工
★ 0
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add dsh-bili-taskmasterby annasleepy
给 dsh-bili-scroll 补上 B站 点赞/收藏/关注/转发/发动态(默认关 + 代码级硬上限)
★ 0
MIT
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-bili-interactby ShingStars
DSH 插件:每天替你刷一轮 B站(读字幕、写日报)+ 四个免费模型渠道(LobsterAI / Qoder 中国版 / Cline / Raccoon)。合并自 dsh-bili-scroll 与 dsh-our-free-model。
★ 0
JavaScript
Oct 19, 2026
dsh plugin --profile web add dsh-bili-free-scrollby Debuger-114514
DSH 插件:右下角一只罐子,按你的兴趣轴去 B站 搜片、按互动率筛、让大模型当策展人挑五条并写理由
★ 4
MIT
JavaScript
Oct 21, 2026
dsh plugin --profile web add dsh-bili-jarby piaobo123
Desktop BigFish companion for DSH: real-time balance, out-of-browser desktop Q&A, 7 custom animations, 53 meme lines.
★ 4
↓ 889/wk
MIT
Python
Sep 15, 2026
dsh plugin --profile web add @piaobo_gz/dafeiyu-buchibaifan


