养鱼 · 梅林(dsh-bili-merlin)
一个会自己刷 B 站的 DSH 插件:按自己的作息醒来,挑视频、看懂它、写日记,把值得的分享给你。
基于 ALTERSSSS/dsh-bili-whale 改造而来,完全独立运行(不依赖原插件)。
它能做什么
自己干活(不需要你说话)
- 生物钟:按设定的作息窗口自己醒,掷骰子决定今晚看几个、跳过概率多少
- 选题:按你的口味捞候选,排除看过的、按弹幕密度和偏好命中排序(不看播放量)
- 看懂视频:官方字幕全文、弹幕热区(对齐字幕)、热评、封面、抽帧拼九宫格真的「看」画面
- 两本日记:一本公开的散文体日记,一本私人的「偏好校准」
- 判重:
seen 表记录,同一视频不重复刷
- 分享:只对排名第一的那条考虑分享,可以走评论区 @ 或私信,占独立额度
互动能力(每个都能单独开关 + 每日上限)
| 动作 | 命令 | 说明 |
|---|
| 点赞视频 | like-video <BV> --go | --undo 取消 |
| 投币 | coin <BV> --go | --coins 1 或 2,不可撤销 |
| 收藏 | fav <BV> --reason "…" --go | 需理由 ≥6 字,判据强制 |
| 关注 UP 主 | follow <mid> --go | --undo 取关 |
| 点赞评论 | like-comment <BV> <rpid> --go | --undo 取消 |
| 一键三连 | triple <BV> --go | 点赞+投币+收藏,--no-coin / --no-fav 可跳过 |
全部支持 --dry(只打印请求,不发送)和 --go(真发)。默认必须先 --dry 确认。
通信
- 私信白名单:只回名单里的人,一天每人最多 N 条,名单外一律不理
- 监听:评论回复、主人私信、直播间弹幕三种监听
- 通知推送:桌面通知 / B站私信 / Webhook(飞书/钉钉/企业微信/QQ机器人)/ 自定义命令
看板
- 观看记录卡片墙:封面 + 标题 + 状态色标,点卡片跳 B 站
- 环境自检:一键查 7 项(cookie、风控、ffmpeg、node 版本、互关、时差、磁盘),每项失败给「怎么修」
- 待审回复:她回别人之前,草稿先到你手里,你点「发」才发
设置页
六个模块分页(基本 / 作息 / 互动 / 推送 / 梅林 / 高级),不用在一页里翻到底。
安装
# 从 GitHub 安装
dsh plugin --profile <你的profile> add github:<你的用户名>/dsh-bili-merlin
# 或本地路径
dsh plugin --profile <你的profile> add "link:<插件目录绝对路径>"
装完重启 DSH,设置页里会出现「养鱼 · 梅林」。
环境要求:Node ≥ 20、DSH ≥ 0.2.0-rc.1。
第一次使用:进设置 → 梅林 → 环境自检,全绿才算可用。然后填 B站 cookie(F12 → Application → Cookies → 复制 SESSDATA 和 bili_jct)。
配置在哪
| 内容 | 路径 |
|---|
| 主配置 | ~/.dsh/bili-whale.config.json |
| B站凭据 | ~/.bili-ai/credentials.json |
| 人设 | ~/.bili-ai/persona.md |
| 两本日记 | ~/.dsh/whale-diary.md、~/.dsh/whale-diary-private.md |
| 判重表 | ~/.bili-ai/seen.md |
| 生物钟状态 | ~/.dsh/whale-night.json |
| 事件流 | ~/.dsh/whale-log.jsonl |
这些都不在仓库里,是运行时数据。
来源与致谢
这个项目是改造,不是从零写的。分清楚:
来自原项目 dsh-bili-whale(作者 ALTERSSSS,MIT):
lib/scheduler.js —— 生物钟调度、监听、直播间监看(原封不动)
tools/ 下绝大部分命令 —— 选题、字幕、弹幕、debrief、日记、评论、动态、直播、限额闸等等
- 两本日记体系、判重表设计、分享判据
本仓库新增/改造的部分:
- 完全独立化(不再依赖原插件,自己起调度器、自带配置接口)
- 私信白名单(双向回复 + 每日限额 + 状态推进)
- 六个互动动作命令(点赞 / 投币 / 收藏 / 关注 / 评论点赞 / 三连)+ 动作开关系统
- 观看记录卡片墙、环境自检
- 设置页重构为六模块分页
声明
- B 站接口非官方,随时可能变;账号风控风险自担
- 所有写操作都过限额闸,但仍然建议先用
--dry
- 不要用它刷量、批量操作、养号 —— 那会封号,也违背这个项目的初衷
- 这个插件的使用场景是:让它像一个真实的人一样,慢慢刷、偶尔说两句
许可证
MIT,见 LICENSE。