dsh-bili-pond
让蓝色大肥鱼替你刷 B 站:帮你评论,把发现的有趣内容私信给你,还会写下日记;它也有记忆,能长期总结。视频按你的口味筛选并生成 Markdown 日报,也能守着评论区替你回话。开启「圈地自萌」后,它只回视频 UP 主本人主动邀请的楼中楼,普通观众喊话不算,绝不自己起新楼;评论、私信、自动运行和守护默认关闭。需 Node 22、DSH 0.1.7-rc.1+、已登录的 B 站账号、模型线路与 Python。
安装
dsh plugin --profile web add dsh-bili-pond
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✓ |
| 2 列装 | ✓ |
| 3 挂载 | ✓ |
| 4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
dsh-bili-pond · B站鱼塘
蓝色大肥鱼替你看 B 站、写日报、记住你的偏好、写下鱼日记;需要时还能守着评论区替你回话。
自动运行、自动评论默认关闭,要用再开。
DeepSeek Harness 插件。配置一次后,蓝色大肥鱼会自己检索视频、读字幕、本地转写、
按你的口味筛选并生成日报。它会用记忆把跨天的偏好和线索串起来,用肥鱼日记记录当天
看了什么、为什么挑中,也会把历史视频整理成可按天翻看的封面墙。
它也能拿一个小号守评论区:自己的视频下有人认真提问,就替主人回一句;
别人的视频下,只有白名单用户主动 @ 小号时才回。水评、广告、重复评论都不会回。
需要更克制时,可以打开「圈地自萌」:只接视频 UP 主本人的明确邀请,只回楼中楼,
不主动起新楼,没有邀请就保持沉默。
每天替你看 B 站 · 可配每天几轮与间隔,也能只在谷时跑;手动跑不占自动额度
按你的口味筛 · 读 AGENTS.md 里的关注方向、排除项和判断标准,不是通用推荐
真读内容 · 字幕优先;没字幕可本地转写;不靠标题和封面瞎猜
写过日报 · 渲染 Markdown 日报,并按月份归档,之后还能翻回来查
看过不重复 · 按视频 BV 号记账;下一轮再搜到同一个视频,直接跳过
会记忆 · 每轮只留下 2~3 条值得跨天保留的偏好、工具动向和踩坑线索,不把报告抄一遍
肥鱼日记 · 用大肥鱼自己的语气写当天看了什么、为什么挑中、有什么感受,不是操作日志
封面墙 · 把历史视频整理成标题、封面、UP、播放量和结论都可见的按天记录
守评论区跟评 · 自己的视频可代回;别人的视频只回白名单 @;水评和广告跳过
不刷屏 · 每轮、每天都有上限;同一条评论只回一次,并记录真实发送结果
圈地自萌 · 只回视频 UP 主本人邀请的楼中楼,普通用户喊话不算,绝不自己起新楼
模型自选 · 从你 DSH 里真实注册的线路里挑,不写死
截图
插件界面就在 DSH 里:可以从「设置 → B站鱼塘」进入,也可以点左侧的「B站鱼塘」图标。
下面几张是实际界面:
总览与封面墙 · 记忆
 · 
自动运行与内容筛选 · 封面墙与今日记录
 · 
1.3.14 新版重点:跟得上你正在用的模型
- 跟随宿主默认模型:设置页没选线路时,值班轮直接抄你在 DSH 里正在用的默认模型(账号登录那条也算),
不再硬套 headless 自带的 API Key 线路。
- 不再误报「B站 没登录」:模型线路缺凭据、账号登录没生效这类,现在明确归到「模型线路」,
不会让你白扫一次码。
- 谁递的:这条来自社区 PR #1(@Wine90)—— 他把现场报错贴得很清楚,
才定位到这一层。
1.3.13 新版重点:会点赞了
- 点赞 / 收藏默认关:要你在设置里亲手打开。打开了也不是「见一个点一个」。
- 必须写清理由:模型得先写一句为什么值得点(至少 6 个字),写不出理由就不许点 —— 工具层直接拒。
- 判据不写死:严格 / 标准 / 宽松三档,外加一行「补充判据」,按你自己的口味调。
- 有额度、有熔断:每轮点赞硬顶 5 条,每天点赞硬顶 10 条、收藏硬顶 8 条;撞上 B站 风控
(-352 / -412)自动停 30 分钟,不硬着头皮继续点。
- 能收回来:历史页的卡片上有「已赞」角标,点两次即可撤销(撤销也会真的请求 B 站)。
- 一条视频最多一种表态:点赞和收藏二选一,不做三连、不投币(硬币不可逆)。
1.3.12 新版重点:蓝色大肥鱼开始学会克制
这次更新不只增加功能,也把「什么时候不发言」写进了产品边界:
- 记忆:每轮最多保留 2~3 条真正值得跨天使用的观察,下次筛选时不用从白纸开始。
- 肥鱼日记:一天一篇,用大肥鱼自己的语气写当天看了什么、为什么挑中、有什么感受。
- 封面墙:把日报里的视频变成可翻阅的视觉记录,哪些挑中、跳过、归档和回复过都能看见。
- 圈地自萌:只扫描视频 UP 主本人发出的一级评论,只识别“鱼来”“大肥鱼快来”这类明确邀请;
普通观众喊话不算,带“别来 / 不要来 / 别刷”的否定评论直接排除。
圈地模式不会发表新楼。回复固定挂到 UP 邀请评论的楼中楼,同一个账号对同一个
BV + 邀请评论 ID 只回一次;没有邀请就一个字都不发。视频照样看,日报、日记、
记忆和私信照常工作,只是不再去没被邀请的评论区里刷存在感。
评论区守护
评论区守护是独立功能,不是圈地自萌。它让一个小号替主人守评论区:
- 自己的视频:有人留下有内容的评论,小号会替主人回一句;不用先 @ 它。
- 别人的视频:只有设置里加入白名单的用户,主动 @ 小号时才回,不会主动去别人评论区串门。
- 不回复什么:纯水、纯表情、哈哈哈、666、前排、广告、加群和链接都会跳过。
- 不会冒充主人:回复里会说明“主人这会儿在忙,我先替他回一句”,并换着句式说。
- 看得见发了什么:设置页有守护记录,扫到什么、跳过什么、真正发出去什么都能核对。
评论区守护默认关闭,要继续打开总开关才会工作。
关于本项目的来源(重要)
本项目基于 dsh-bili-scroll 0.1.10 衍生:
MIT License · Copyright (c) 2026 dsh-bili-duty contributors
但不是 fork,也不跟随上游版本。调度、模型选择、报告渲染、内容筛选、投递逻辑与安全闸均已重写,
与原项目不再兼容(配置字段、条目 id、API 路径都变了)。详见「与原版的差异」。
如果你的需求是「大体按原版跑」,请去用原项目;想要下面这些,用这个。
装之前
1. DSH 桌面版(或能跑 dsh 命令的环境),版本 >= 0.1.7-rc.1
2. Node >= 22
3. 一个能用的模型线路:headless 那一轮要调模型。可以用 DSH 账号、API Key,
或者 WorkBuddy 这类 provider 插件
4. 装完重启 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 步)
1. 设置 → B站鱼塘 → 安装运行环境
在插件的数据目录(~/.dsh/bili-duty,见下面「数据都在哪」)里建独立 Python 环境(.venv)并装依赖。几十秒到两分钟。
完成后 pythonPath 会自动指向它。
2. 扫码登录 B站
点「扫码登录」,手机 B站 → 我的 → 扫一扫。
⚠️ 确认时选「记住我 / 长期」,选 24 小时的第二天就得重扫。
凭证只存在本机 <DSH_HOME>/bili-duty/bili_credential.json。
3. 填人设与口味(推荐)
设置页「检索与上下文 → 工作区路径」填一个目录,点旁边的「建模板」,
它会在那个目录里生成一份 AGENTS.md(我是谁 / 关心什么 / 不关心什么 / 判断标准 / 说话口吻),
照着改就行。之后每轮都会把这份文件读进提示词,按它筛内容。
留空 = 按中性语气,不扮演任何人。
然后点「立即运行一轮」看看效果。跑的时候设置页顶部会出现「本轮进度」卡片:
当前阶段、已用时、今日已挑几条,运行输出可以展开看。
如果没跑成,卡片里会直接写原因和下一步点哪(比如「模型线路没通 → 去高级设置重选一条」),
不用自己去翻日志。
大页面首页还放了常用快捷开关:评论模式(关闭 / 圈地自萌 / 普通评论)、私信、自动运行、评论区守护、
自动转写,以及「跑一轮 / 刷新 / 更多设置」。看过、回过、今日 token 和经验也并在这条快捷区里。
评论和私信各自只显示 UID 是否绑定;未绑定私信 UID 时不能直接从首页打开私信,点状态可跳到设置页。
值班、守护和自动刷 B站 使用插件自己的独立会话目录,不会混进 DSH 主界面右侧的「对话任务」。
大页面里的设置采用单列排版,避免不同高度卡片在双列网格里留下空白。左侧只保留顶部图标入口。
设置项
自动运行
项 · 默认 · 说明
自动运行 · 关 · 总开关。关着只能手动跑
每天最多几轮 · 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 · 查完还没字幕,就转写优先级最高的那条(不无限翻页)
查重规则
- 视频按 BV 号判重:挑中的视频会记进数据目录里的
seen.md。下一轮搜到同一个 BV,直接跳过,不重新读字幕、不重复写日报,也不再次发评论。 - 不是按标题相似度猜:同一个视频以后改了标题,仍然认得出来;换了新 BV,才会当成一条新视频。
- 评论按评论 ID 判重:评论区守护回复过哪一条,就记下对应评论 ID,同一条评论不会重复回。
- “挑中”不等于“已评论”:
seen.md的「看过的视频」只负责视频判重;
只有「评论记录」里真正成功的评论,才会阻止后续补评论。
- 记录读不到时不乱猜:如果
seen.md读取失败,不会把它当成“全部没看过”;这一轮会明确报错并宁可少做,避免重复打扰。 - 想重看某一条:在数据目录的
seen.md里删掉对应 BV 记录即可。不要随意删除整份文件,否则历史视频可能被重新处理。
普通手动轮和自动值班轮会拿到bili_seen_read/bili_seen_append;直接运行裸dsh headless,或运行“守护评论区”轮,不会有这两只工具。
评论区守护
项 · 默认 · 说明
守护评论区 · 关 · 打开后,小号才会替你查看评论
自己的视频下不用 @ 也回 · 开 · 有内容的评论就代回;关闭后只处理白名单里的人
每天最多回几条 · 30 · 跨所有视频合计的硬上限,范围 0–500
白名单 UID · 空 · 只决定“别人的视频下,谁 @ 小号时可以回”
守最近几条视频 · 1 · 最多可调到
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:8,最后更新 2026-10-30