前言¶
在 DSH 里做工作流时,常见做法是手写脚本定时抓网页,再把结果塞进对话或本地文件。百度贴吧没有面向个人的稳定开放 API,手机版页面又要自己维护登录态和解析逻辑;若还要控制请求频率、撞验证码时停手,代码量会迅速膨胀。下面介绍社区插件 dsh-tieba-scroll(维护者 Nekomeow114):把读帖、日报、签到和可选回帖收进 DSH 的设置页与工具集,并支持按 DeepSeek 谷时在 headless 配置下后台跑一轮。
这是什么¶
dsh-tieba-scroll 是分类为「工作流」的 DSH 插件,当前 npm 包版本为 1.6.0(MIT)。它通过逆向解析贴吧手机版页面完成列表、楼层、签到与回帖,不是官方 API;贴吧改版或频繁请求可能导致解析失效或风控,账号与发布内容由使用者自行承担。
插件在 SkillHub 目录 可检索;源码与说明见 GitHub:Nekomeow114/dsh-tieba-scroll(仓库约 3 stars)。
核心功能¶
资料中列出的能力如下,安装前应以 README 与本地源码为准。
- 多吧阅读:按配置的吧名拉取帖子列表,读楼层正文,并附带帖子内图片链接。
- 日报:将「今天在聊什么、哪条值得点开」写成 Markdown,保存在本地
reports/。 - 签到:每天一次;未关注的吧可在签到前自动关注(
autoFollow,默认开)。 - 回帖(默认关闭):按接话、共鸣、玩梗、答疑等意图生成回复,并受每轮/每日/间隔/去重等多道限制(见下文)。
- 人设与语气:人设可直写或从文件导入;另有语气样本供回帖参考;
toneGate默认拦截客服腔表述。 - 日记:公开日记与私人日记各有开关;私人内容读取需显式确认。
- 定时:单点时间,或开启「峰谷自动刷」后在中午谷(12–14)/ 晚上谷(18–次日 9)触发;模型轮在独立子进程中执行,关闭设置页也会跑完当前轮。
- 风控熔断:遇到验证码后暂停请求(默认 30 分钟,可配置
breakerMin)。 - 自检:一键检查
curl、凭证、吧名、目录与 headless 环境。
网络层使用 curl 子进程与 cookie jar(同一凭证下 Node fetch 登录态不可靠);请求串行,间隔由 requestGapMs 控制(最低 300ms)。
安装与启用¶
环境要求:Node 22+、系统自带 curl(Windows 10+ 亦自带)。DSH 引擎版本需满足 dsh >= 0.1.7-rc.1(见 package.json)。
在 web 配置下安装并重启一次 DSH,然后进入 设置 → 刷贴吧:
dsh plugin --profile web add dsh-tieba-scroll # npm(发布后)
dsh plugin --profile web add github:Nekomeow114/dsh-tieba-scroll # 或从仓库
若要用设置页里的谷时定时,还需在 headless 配置中安装同一插件:
dsh plugin --profile headless add dsh-tieba-scroll
插件以当前 DSH 进程权限运行;安装前应自行审阅仓库源码与许可证,勿将 BDUSS 等凭证提交到版本库。配置与敏感文件落在 $DSH_HOME/tieba-duty/(如 cookie.txt、config.json,权限 600);卸载插件不会删除这些目录。
典型用法¶
先做账号与吧名,再手动跑一轮确认采集结果,最后再考虑自动签到、谷时任务或回帖。
- 贴 BDUSS:设置页「① 账号」→ 保存并测试,直至显示「登录态有效」。获取方式:电脑浏览器登录贴吧 →
F12→ Application → Cookies →https://tieba.baidu.com→ 复制BDUSS的 Value(带不带前缀均可)。 - 填吧名:
bars一行一个;也可点「读取已关注的吧」一键填入(会替换框内内容)。 - 刷一轮:点击「刷一轮贴吧」,先只采集,确认读到的标题与正文符合预期。
需要模型按工具链操作时,插件暴露例如 tieba_list、tieba_thread、tieba_sign、tieba_report_write、tieba_diary_write 等工具;回帖使用 tieba_reply 且需 confirm: true,并受配置闸门约束。
开启 峰谷自动刷 后,到达谷时窗口会执行(每天每窗口一次,两次自动轮间隔至少 6 小时):
dsh --profile headless "<prompts/duty.md>"
日志写入 $DSH_HOME/tieba-duty/logs/run-YYYY-MM-DD.log,单次超时 20 分钟。
配置与回帖限制¶
主要配置项默认值见 README 表格,持久化在 $DSH_HOME/tieba-duty/config.json,可通过 /api/tieba-duty/config 读写。与阅读节奏相关的几项:
| 项 | 默认 | 说明 |
|---|---|---|
readPerRound |
5 | 每轮读取帖子数 |
requestGapMs |
1200 | 请求间隔(毫秒) |
dedupeDays |
7 | 已读帖子在该天数内不再推荐 |
autoReply |
关 | 允许回帖 |
replyPerRound / replyPerDay |
1 / 3 | 每轮 / 全天回帖上限 |
replyGapSec |
30 | 两条回复最小间隔 |
回帖默认关闭。开启 autoReply 后还须满足:toneGate 过滤客服腔;每轮/每日条数与 replyGapSec;同一帖子一天只回一次;正文 4–400 字且不支持链接。可选在末尾 @昵称(需带空格)。
跨插件与数据目录¶
插件之间不 import 对方代码,仅在 $DSH_HOME/shared/ 下用 JSON/JSONL 契约交换能力(如 tieba.round.start、tieba.reply 事件)。若安装了 dsh-memory,集成信息可通过 /api/tieba-duty/integrations 查看;未安装则跳过,不报错。
数据目录结构(节选):
$DSH_HOME/tieba-duty/
├─ cookie.txt # BDUSS
├─ config.json
├─ state.json # 计数、签到、去重、熔断
├─ reports/ # 日报
├─ diary/ # public.md / private.md
└─ logs/
适用场景与注意¶
适合需要在 DSH 对话或 headless 任务里定期扫几个固定贴吧、落本地日报、并顺带签到的开发者;需要主动灌水或高频互动时,应默认保持 autoReply 关闭,并拉大 requestGapMs,接受随时可能触发的验证码熔断。
已知限制包括:贴吧改版会导致解析失效;不支持消息通知与楼中楼;无吧内搜索;无法改头像昵称。Windows 下 npm 的 dsh 为 .cmd 启动器,插件通过 cmd.exe 调起并将长 prompt 写入文件,避免引号与换行被命令行拆坏。
结尾¶
dsh-tieba-scroll 把贴吧手机页的读、报、签与可选回帖封装成 DSH 工作流插件,并给出谷时调度与人设/日记等扩展点。使用前请阅读仓库免责声明,并仅在理解风控与账号风险的前提下配置凭证与吧名。
- 目录页:https://www.skillhub.cn/plugins/Nekomeow114/dsh-tieba-scroll
- GitHub:https://github.com/Nekomeow114/dsh-tieba-scroll