dsh-feed-scroll:讓 DSH Agent 聚合多站內容並準備羣聊分享素材

前言

在 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
羽毛球分组比赛记分
小程序二维码

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

小夜