前言¶
在 DeepSeek Harness(DSH)里跑 agent,常见需求是「从外网拉热点、读正文、把值得看的东西推到 QQ 群」。手工复制链接、另存封面图,再让模型写一句点评,步骤分散且难去重。社区插件 dsh-feed-scroll(维护者 ChencLi819,分类:联网工具)把拉取、读取、封面落盘和计划唤醒串成一条工具链;分享文案由模型生成,插件只负责内容与素材,不预设表达方式。
下面介绍它的定位、能力与安装用法。事实以 GitHub 仓库 README 为准。
这是什么¶
dsh-feed-scroll 是 DSH 插件(npm 包名 dsh-feed-scroll,当前版本 0.1.0,MIT 许可证)。它为 agent 提供内容聚合与分享能力:从 Bilibili、知乎、掘金、贴吧、Hacker News、少数派、IT之家、GitHub 等源拉取条目,读取正文、热评、字幕与视频关键帧,并将选定条目以「封面图 + 链接」的形式准备为可发送素材;支持按计划自动执行一轮拉取。
插件声明依赖宿主 tools 服务;若要与 QQ 群打通发送与定时推送,需配合 @tencent-connect/dsh-qqbot(可选,README 要求 >= 0.5.0)。
核心功能¶
内容聚合与读取¶
| 能力 | 说明 |
|---|---|
| 内容聚合 | 11 个内容源(含 auto 混合拉取并按兴趣权重排序),覆盖热门、排行、搜索、热搜、推荐流 |
| 内容读取 | 正文、热评、字幕;Bilibili 支持视频关键帧雪碧图(10×10,供视觉模型分析) |
| 去重与排序 | 记录已读;分享记录的标题关键词累积为兴趣画像,用于后续排序加权 |
内容源 ID 包括:bilibili-hot、bilibili-rank、bilibili-search(需 query)、bilibili-trending、zhihu-hot、juejin、tieba-hot、hackernews、sspai、ithome、github、auto(默认)。
站点读取能力有差异:知乎未登录访问会 403,插件会返回失败原因;多数 B 站字幕需登录态,未获取时会明确说明。
分享素材与图片¶
- feed_share:下载封面图并落盘至 QQ 发送白名单目录(默认
mediaDir为~/.dsh-qqbot/media),返回本地路径;实际发图由模型调用qqbot_send_file完成。 - grab_image:任意图片直链落盘,按来源附加 Referer、识别格式、WebP 转码(可选依赖
sharp)、等比缩放。
计划任务与会话保活¶
- 默认约每 80 分钟在 10:00–23:00 内唤醒,每日上限 9 次(均可通过配置与
feed_watch调整)。 - 安装脚本可将
im-qqbot的sessionIdleTimeout从 30 分钟调整为 12 小时,避免会话超时后推送被静默丢弃;并提供feed_watch的diag/recover用于排查与恢复会话。
兼容性与依赖¶
| 项目 | 要求 |
|---|---|
| DSH | >= 0.1.7-rc.1 |
| Node.js | >= 22.13.0 |
| 宿主 | 必须注入 tools |
@tencent-connect/dsh-qqbot |
>= 0.5.0(可选,分享与计划任务链路) |
sharp |
可选,WebP 转码;未安装时部分图片走直链交给 qqbot |
安装与启用¶
通过 DSH CLI(推荐)¶
Web profile:
dsh plugin --profile web add dsh-feed-scroll
或从 GitHub 安装:
dsh plugin --profile web add github:ChencLi819/dsh-feed-scroll
Desktop profile:
dsh plugin --profile desktop add dsh-feed-scroll
安装完成后重启 DSH,或在 profile 的 cordis.patch.yml 中修改任一配置值以触发重载。
仓库脚本(Windows PowerShell 示例)¶
node tools/install.mjs
脚本会软链装入 profile、登记 bundle,并将 QQ 机器人会话闲置超时调整为 12 小时。检查状态:
node tools/install.mjs --check
node tools/install.mjs --profile-dir <path>
手动注册¶
在 cordis.patch.yml 中插入:
- insert:
- id: feed-scroll
name: dsh-feed-scroll
配置示例¶
默认值可在 cordis.patch.yml 中深合并覆盖,例如:
- id: feed-scroll
config:
proactive:
maxPerDay: 5
defaultEveryMinutes: 120
quietFrom: 9
promptEnabled: true
常用项包括 stateDir(默认 ~/.dsh/feed-scroll)、mediaDir、proactive.* 开关与时间窗、promptEnabled / promptText 等,完整表见仓库 README「配置」一节。
典型用法¶
插件注册 6 个工具,输出均为 { text: string }。推荐数据流(与 README 一致):
feed_scroll → feed_read → feed_share → qqbot_send_file(模型写文案 + 链接)
1. 拉一批未读条目¶
调用 feed_scroll,例如默认 source=auto、count=6(上限 10)。可用 mood 传入空格分隔关键词做加权;include_seen=true 时可包含已读。
B 站搜索示例:source=bilibili-search,必填 query,可选 sort 为 totalrank / new / hot。
2. 读详情再决定是否分享¶
feed_read 传入 feed_scroll 返回的 id 或任意 http(s) 链接。parts 可选 text、comments、subtitles、frames(逗号分隔);max_chars 默认 1200,最大 4000。
3. 准备封面并记录分享¶
feed_share 传入条目 id;comment 仅写入账本,不参与发送。返回封面本地路径后,由 agent 调用 qqbot_send_file 发图,并由模型生成群里的分享话术与链接。
4. 定时刷一轮¶
feed_watch:action=add 可设 every_minutes(最小 30,默认 80)、source 等;list / pause / resume / remove 管理任务;出问题时用 diag 与 recover。
5. 查历史¶
feed_history 可查近期浏览与分享;only_shared=true 时仅已分享条目。
适用场景与注意¶
适合谁:已在 DSH 中跑 agent、并(可选)接入 dsh-qqbot 的开发者或小团队;希望 agent 主动逛多站热点、去重后把素材推到群,而不是每次人工找链接。
运行权限:插件以当前 DSH 进程权限访问网络与本地状态目录(如 ~/.dsh/feed-scroll/state.json)。安装前请自行审阅 源码与 MIT 许可证,确认数据源与落盘路径符合你的环境策略。
生态说明:DSH 社区插件目录(如 SkillHub 条目)为独立站点,与 DeepSeek / 幻方无官方从属关系;本文不引用未在 README 中出现的用户案例或数据。
已知限制:依赖各站公开接口与 HTML 抽取,接口变更可能导致单源失败;知乎正文读取在未登录场景下不可用;计划任务依赖 QQ 会话登记与超时配置,Web/桌面客户端消息含 rpcId 时不会误登记为非 QQ 会话。
结尾¶
dsh-feed-scroll 把多站聚合、深度读取、封面落盘和定时唤醒封装为一套 DSH 工具,分享表达仍交给模型,职责边界清晰。若要安装或查参数细节,可看社区目录页与仓库:
- 目录页:https://www.skillhub.cn/plugins/ChencLi819/dsh-feed-scroll
- GitHub:https://github.com/ChencLi819/dsh-feed-scroll