前言¶
在 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