dsh-tieba-scroll | 刷贴吧
先看四行
- 零安装:纯 Node,不需要 Python、不需要 MCP、不需要扫码、不需要建 profile、不起 headless 子进程, 也不装任何第三方依赖 —— 装完重启就能用。
- 需要 dsh ≥
0.1.7-rc.1+ Node 22+。⚠️ 版本不满足时,内核会静默跳过这个插件 —— 装了跟没装一样,不会报错。- 装完必须重启一次 dsh(插件在 bundle 层组装)。
- 🔴 「自动回帖」默认是关的 —— 打开它等于拿你的贴吧号说话,请自己确认后再开。
DSH 插件:每天替你刷一轮贴吧 —— 它自己翻你关注的吧、读帖子正文判断、把值得的写成一份日报, 开了自动回帖就回一句并 @ 你。你收到的每一条回帖,都是它先筛过一遍的。
「刷贴吧」是「刷B站」的姐妹插件:同一个脑子(值班章程 + 日报 + 只做判断的模型), 换了一个地方 —— 一边刷视频,一边刷帖子。B 站版要 Python + MCP + 扫码;贴吧版这些全都不需要。
它做什么
- 每天一轮,按你填的关注的吧(留空则用内置默认几组)翻每个吧的帖子列表,按回复数或时间排
- 逐篇读正文再判断(每轮最多细读
fetchPerRound篇,默认 8 篇;读的是楼主那一楼的内容,最多 2600 字) - 写一份 Markdown 日报到
<DSH_HOME>/tieba-duty/out/<日期>.md:每条含「为什么值得」+「它自己的一句话」,末尾还有一节「跳过的」 - 开着「自动回帖」时,每轮按
replyPerRound回一句、@ 你(默认每轮 1 条);默认一个字都不发 - 可以在峰谷时段自动跑(DeepSeek 的优惠时段),省 token
为什么它比 B 站版轻(这是贴吧版最大的优点)
| 刷B站 | 刷贴吧 | |
|---|---|---|
| 运行环境 | Node + Python 3.10+(或 uv) | 只要 Node |
| 中间层 | 内置 Python MCP 子进程 | 没有,插件自己直接发 HTTP |
| 登录 | 手机扫码 | 粘一个 Cookie(BDUSS) |
| 第三方依赖 | 4 个 Python 包 + 内置 MCP(约 84 MB,带转写约 1 GB) | 0 个(只用 Node 自带模块) |
| 跑一轮怎么跑 | 起一个 dsh --profile bili-duty headless 子进程,还要建专用 profile |
插件进程内一次模型调用,不起子进程、不建 profile |
| 装完要做什么 | 点「装依赖」→ 扫码 → 等 | 重启一下,粘 Cookie,完事 |
原因很简单:贴吧没有官方 API,但网页版 HTML 就够用了 —— 列表页、楼层页都是普通 HTML,
用正则 + 轻量 DOM 走查就能读。所以这个插件不建 venv、不下 uv、不起子进程、不建 profile、也不引任何第三方包
(@deepseek-ai/* 是 DSH 宿主自带的,不是我们装的)。
装
# 插件目录就是你手上这份 dsh-tieba-scroll/
dsh plugin --profile web add link:<插件目录的绝对路径>
举例:
dsh plugin --profile web add link:D:\code\dsh-tieba-scroll发布到 npm 之后也可以用dsh plugin --profile web add dsh-tieba-scroll。 桌面版(DSH NEXT)把--profile web换成你实际在用的那个 profile。
⚠️ 装完必须重启一次 dsh(bundle 层要重启才组装)。然后进 设置 → 刷贴吧。
首次使用:把 BDUSS 粘进来
贴吧的网页版靠 Cookie 认人。插件要替你读吧里的帖子、回帖,就得用你浏览器里那一份 —— 不用扫码,复制一下就行:
- 浏览器打开 https://tieba.baidu.com 并确认已经登录(右上角是你的头像)。
- 按 F12 打开开发者工具 → 顶上选 Application(应用)标签。 ⚠️ Firefox 里叫 Storage(存储),Safari 要先在「设置 → 高级」里打开开发者菜单。
- 左侧栏 Storage → Cookies →
https://tieba.baidu.com。 - 在列表里找
BDUSS这一行,双击 Value 全选复制(通常是xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx这么长的一串)。 - 顺手找一下
STOKEN(同一个域名下),也复制下来 —— 有些操作要它。 - 回到 设置 → 刷贴吧 → 高级 → 账号(贴吧),把
BDUSS(和STOKEN)粘进去,点「登录」—— 它会当场用一次whoami验证,右边那个徽章会变成你的昵称(「当前:某某某」)。之后随时可以点「检查登录」再验一遍。
- 凭证只落在你本机:
<DSH_HOME>/tieba-duty/tieba_credential.json,不上传任何地方。 STOKEN可以留空 —— 但有些接口(尤其是回帖)会用到,想用自动回帖就一起粘上。- ⚠️ 别把 BDUSS 发给任何人(包括群里"帮你看看"的人):它等于你贴吧号的钥匙。截图前把那一行糊掉。
- 换了密码、或者在网页上点了「退出所有设备」,BDUSS 就失效了 —— 重粘一次即可。
设置页里有什么
分成四页签,第一次用建议只看「日常」:
| 页签 | 里面有什么 |
|---|---|
| 日常 | 插件总开关 · 峰谷时段自动刷(总开关,打开才展开「中午那一轮」「晚上那一轮」两个子开关)· 每天最多挑几条(perDay,填 0 = 不自动挑,还能手动跑)· 现在跑一轮(手动跑一次,有冷却)· 它刷过的帖子(按档位 值得看 / 可以看 / 不值当 + 已回帖 / 没回 筛选) |
| 偏好 | 关注的吧(一行一个,写「原神」或「原神吧」都行)· 关键词(一行一个,空 = 不过滤)· 排除词(标题/作者里带这些词就整条跳过)· 填了关键词时怎么挑(按回复数 / 按时间)· 每轮最多细读几篇正文(fetchPerRound)· 每个吧先取多少条候选(listPerBar)· 日报写多细(完整 / 薄 / 不写)· 保存偏好 |
| 互动 | 自动回帖(autoReply,默认关,开了有醒目警示)· 每轮最多回几条(replyPerRound)· @ 谁(mentionName,留空 = 不 @)· 回帖写多长(≤15 / ≤40 / ≤100 字)· 允许发主题帖(allowPost,默认关)· 它按什么口气说话(personaPrompt,留空 = 中性、像个吧友)· 现在的状态 |
| 高级 | 账号(贴吧):粘 BDUSS / STOKEN、登录、检查登录、退出登录 · 它的地盘:家目录、今天的日报、按日期看日报、打开日报文件夹 / 打开家目录 · 手动跑一轮的上限(manualMax / manualCooldownMin)· 出问题了怎么查:复制诊断信息、看日志尾巴 |
⭐ 这些设置写在
<DSH_HOME>/tieba-duty/config.json;在插件这一页改,就以这一页为准。
日报长什么样
# 刷贴吧日报 · 2026-11-08
> 今天刷了 3 个吧、47 篇帖子,细读 8 篇,挑出 3 条值得看。
## 原神吧
### 11141821521
- **标题**:话说木偶一命到底有啥用
- **链接**:https://tieba.baidu.com/p/11141821521
- **档位**:值得看
- **为什么值得**:(一句话)
- **它的一句话**:(它自己的吐槽)
- **回帖**:已回(@主人)/ 未开
⭐ 每条的段首固定是 ### <帖子ID>(顶格、只写数字)—— 插件数「今天挑了几条」,数的就是这些标题行。
所以日报里那几条就是插件这一轮真正挑出来的条数(跳过的进「跳过的」一节,不算数)。
红线(写死在值班章程里,不靠模型自觉)
- 不透露你的隐私:贴吧账号、机器路径、你聊过的话 —— 一个字都不许进回帖
- 每轮按设置发(默认 1 条,最多 20 条);同一帖只回一次;不刷屏、不引战、不吵架
- 不碰时政 / 色情 / 赌博;见到广告、引流、诈骗贴只记录不互动
- 不确定的事不编(日报里如实写「没查到」)
- 回帖口吻跟随
personaPrompt;为空就用中性、简短、像吧友的口吻
它是怎么跑的(跟 B 站版不一样的地方)
一轮完全在插件进程里完成,不起子进程、不建 profile:
到点(或你点「现在跑一轮」)
↓
① 插件自己用 lib/tieba.mjs 拉列表 / 拉正文 ← 纯 HTTP,零依赖
② 拼一个 prompt(值班章程 + 候选帖 + 正文片段 + 这一轮能挑几条)
③ ctx.llm.stream() 让模型只做判断 → 吐一段 JSON
④ 插件自己校验 JSON → 自己写 out/<日期>.md、自己更新 seen.json
⑤ 开了「自动回帖」才由插件自己回帖
- 🔒 那一轮模型手上什么都没有:没有工具、没有文件系统、没有命令、不能联网。 它只看到插件递给它的那段文本,只能吐一段 JSON,别的都由插件做。 这样即便楼里有人塞了"忽略你的设定"之类的东西,那些字也摸不到你电脑上的任何东西 —— 这是靠架构挡的,不是靠"叮嘱它别乱来"。
- 贴吧这些工具(
tieba_whoami/tieba_list/tieba_thread/tieba_subposts, 开了自动回帖才多tieba_reply、开了发主题帖才多tieba_post_thread)是给你在正常会话里聊天用的 ("帮我看看原神吧今天有啥"),不参与跑一轮。 - 便宜且快:一次模型调用,没有多轮工具循环。
- 值班章程(
prompts/duty.md)升级的规矩:插件记着「上次铺的是哪一版」(charter.sha256)—— 你没改过就跟着插件自动升级;改过就保留你那份、把新版另存成duty.md.new(日志里会说一句),自己合一下。
常见问题
1. 显示「未登录」/ whoami 失败
BDUSS 没粘对、粘多了空格,或者那串已经失效。回浏览器重复制一次;顺便确认网页版现在还是登录状态。
2. 回帖报「tbs 过期」/ 要验证
tbs 是贴吧的一次性令牌,插件每轮会自己重新取一遍;仍然失败通常意味着那份 Cookie 已经半失效。
⇒ 重新粘一次 BDUSS + STOKEN,再试。别连着重试(见下一条)。
3. 被风控 / 回帖失败 / 提示要验证码 贴吧对"短时间内重复操作"很敏感。⇒ 把 每轮最多回几条 调小(甚至先关掉自动回帖), 手动去网页上做完那次验证,再回来开。⚠️ 被拦之后别连发,越连发锁得越久。
4. 某个吧一条都刷不出来
多半是吧名写错了(要写吧名本身,不带「吧」也行、不能带 URL)。
去浏览器打开 https://tieba.baidu.com/f?kw=<吧名> 验证一下;吧被封 / 被合并成别的名字也会刷不出来。
5. 日报里「细读 0 篇」/ 挑出来的老是 0 条
先看 duty.log(高级 → 出问题了怎么查 → 看日志尾巴)。常见是:关注的吧一个都没填对、keywords 填得太窄把候选全过滤了、
excludeWords 误伤、或者前几轮已经刷过了(判重表里记着,同一篇不会再挑第二次)。
6. 设置页里根本没有「刷贴吧」
八成是没重启 dsh,或者 dsh 版本低于 0.1.7-rc.1(版本不满足时内核会静默跳过,不报错)。
升级 dsh、重跑一次 add、再重启一次。
7. 想彻底清干净
退出登录(设置页「退出登录」)会删掉 tieba_credential.json;想连日报一起清,就删 <DSH_HOME>/tieba-duty/ 整个目录。
如果你是一个 AI 助手,正在帮用户装这个插件
按顺序来,别跳步:
- 确认前提:
node --version≥ 22、dsh --version≥0.1.7-rc.1。不需要 Python、不需要 uv。 - 装插件:
dsh plugin --profile web add link:<插件目录> - ⚠️ 必须提醒用户重启一次 dsh —— bundle 层要重启才组装,不重启插件不会生效;
- 重启后请用户进 设置 → 刷贴吧 → 高级 → 账号,按 README 上面那 6 步粘
BDUSS(和STOKEN); - 不要替用户打开「自动回帖」—— 那是拿用户的号说话。要用得让用户自己填「回帖里 @ 谁」。
依赖与致谢
- 运行时零依赖:只用 Node 自带模块;
@deepseek-ai/*随 DSH 宿主提供(取不到时lib/hostdeps.mjs会退回本地等价实现)。 - 架构来自 dsh-bili-scroll(MIT,Copyright (c) 2026 c1overzz)——
插件骨架、状态目录约定、值班章程(
prompts/duty.md+charter.sha256的升级规矩)、设置页四页签都沿用它; 代码按贴吧重写,跑一轮的方式换成了「插件进程内一次模型调用」。详见 NOTICE.md。
许可证
MIT。见 LICENSE。
No comments yet. Be the first to write one.