dsh-tieba-scroll:在 DSH 里自动读贴吧、写日报与签到

前言

在 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);卸载插件不会删除这些目录。

典型用法

先做账号与吧名,再手动跑一轮确认采集结果,最后再考虑自动签到、谷时任务或回帖。

  1. 贴 BDUSS:设置页「① 账号」→ 保存并测试,直至显示「登录态有效」。获取方式:电脑浏览器登录贴吧 → F12 → Application → Cookies → https://tieba.baidu.com → 复制 BDUSS 的 Value(带不带前缀均可)。
  2. 填吧名:bars 一行一个;也可点「读取已关注的吧」一键填入(会替换框内内容)。
  3. 刷一轮:点击「刷一轮贴吧」,先只采集,确认读到的标题与正文符合预期。

需要模型按工具链操作时,插件暴露例如 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
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye