前言¶
用 Miniflux 收 RSS 時,未讀條目會不斷堆積;自己掃標題、再決定讀哪幾篇,往往要佔掉固定的一塊時間。常見做法是定時打開閱讀器,或把鏈接丟進稍後讀列表,但很少能自動產出「按主題歸納的簡報」,也很難按源打包成適合離線讀的電子書。
DeepSeek Harness(DSH)把能力拆成插件掛載到 Web GUI。下面介紹客戶端插件 dsh-miniflux(社區目錄 statou666/dsh-miniflux):連上 Miniflux 實例後,可按 cron 生成 AI 早晚報、AI 精選 EPUB,以及不調用模型的自選源 EPUB;設置頁在側欄,字段中英雙語。
這是什麼¶
dsh-miniflux 是面向 DSH Web GUI 的 Miniflux 插件(分類:客戶端)。npm 包名 dsh-miniflux,當前版本 0.9.1(MIT)。插件描述爲:AI 早晚報、精選與自選源 EPUB,配置集中在插件設置頁。
依賴 DSH >=0.2.0-rc.2。裝好後重啓一次 dsh web,左側欄會出現 Miniflux 入口;之後在「設置 → 插件 → Miniflux」改配置即可,文檔說明 volatile 字段可熱應用,一般不必再重啓進程。
核心功能¶
AI 早晚報¶
按 digestCron(標準 5 字段 cron,宿主機本地時區)從 Miniflux 拉取最近條目,由模型寫成分類簡報。回看範圍、條數上限分別由 lookbackHours、digestMaxItems 控制;輸出語言由 language 指定。
精選 EPUB¶
按 picksCron 定時運行(留空則關閉)。模型從近期文章中挑出約 3–5 篇,附帶挑選理由;若開啓 autoStar,選中條目會自動加星。重要性無本地打分公式,完全由模型按提示詞(影響面、時效性、信息增量、一手信源等維度)判斷。
自選源 EPUB(零 token)¶
按 feedEpubCron 與 epubFeedNames(逗號分隔的源名或 id,空表示全部源)把最近文章打包成 EPUB。純本地拼裝,不調用模型。按 RSS 源分章,文章在章內按時間倒序;閱讀器目錄爲「源 → 文章」嵌套結構,書內另有可見總目錄。篇數上限 feedEpubMax 默認 120、最大 500。生成完成後,收錄條目會標爲已讀。
圖片與 EPUB 技術行爲¶
- 可選
withImages內嵌圖片;下載後用魔數識別格式,WebP/AVIF 經系統 ffmpeg 轉 JPEG(無 ffmpeg 仍可運行,此類圖會被跳過)。 - 外網抓圖需代理時在設置填
imageProxy(例如http://user:pass@host:port),插件用curl走代理。 - EPUB 使用自實現的最小 ZIP 寫入器生成;默認輸出目錄爲空時用
$DSH_HOME/miniflux-epub,也可設epubDir絕對路徑。
模型來源¶
aiSource=dsh 時使用 DSH「設置 → Models」裏已配置的 provider 與 model(dshProvider / dshModel),走 ctx.llm.stream,無需再填 API key。aiSource=custom 時使用 aiBaseUrl、aiApiKey、aiModel,請求 OpenAI 兼容的 POST {base}/chat/completions。
Agent 工具與 HTTP 接口¶
Agent 側工具:miniflux_feeds、miniflux_search、miniflux_read、miniflux_digest、miniflux_epub、miniflux_feed_epub、miniflux_star。
HTTP:
GET /api/dsh-miniflux/status— 連通性與當前生效配置POST /api/dsh-miniflux/generate?what=digest|feed-epub&kind=morning|evening— 立即觸發生成
安裝與啓用¶
先做環境檢查:DSH 版本滿足 >=0.2.0-rc.2;若需要 EPUB 內嵌 WebP/AVIF 圖,系統應安裝 ffmpeg。
從 npm 安裝(README 寫明發布後可用):
dsh plugin --profile <name> add dsh-miniflux
本地 link 安裝(開發或已有源碼目錄時):
dsh plugin --profile <name> add link:/path/to/dsh-miniflux
link: 方式不會自動安裝 npm 依賴,需在插件目錄先執行一次 npm install;若改用 npm 發佈的包,dsh plugin add dsh-miniflux 會自行處理依賴。
安裝完成後重啓 dsh web 進程以掛載插件;之後 Miniflux 側欄與設置頁即可使用。
Miniflux 連通必填 minifluxUrl 與 minifluxToken,並用 enabled 總開關控制是否工作。
典型用法¶
1、在設置頁完成 Miniflux 與 AI 配置¶
打開「設置 → 插件 → Miniflux」,填寫實例地址與 API token。選擇 aiSource 爲 dsh 或 custom,並填對應的模型或自定義接口字段。cron 示例:早晚報 digestCron 可設爲 30 7,18 * * *(每天 7:30 與 18:30);精選、自選源分別用 picksCron、feedEpubCron,留空即關閉對應任務。
2、按需限定自選源與 EPUB 輸出¶
在 epubFeedNames 中列出要打包的源;控制 feedEpubMax、withImages、epubDir。需要代理抓圖時配置 imageProxy。
3、手動觸發生成(不等到 cron)¶
在已啓用插件的前提下,可對服務發起:
POST /api/dsh-miniflux/generate?what=digest&kind=morning
POST /api/dsh-miniflux/generate?what=feed-epub
what 取 digest 或 feed-epub;早晚報還可通過 kind=morning|evening 區分場次(以實際部署的 DSH Web 鑑權方式爲準)。
4、在 Agent 對話中調用工具¶
將 Miniflux 相關工具交給 DSH Agent,可在對話裏查源、搜索、讀文、生成簡報或 EPUB、加星等,與定時任務共用同一套配置。
適用場景與注意¶
適合已經在用 Miniflux 聚合 RSS、並希望把「讀 feed」變成「定時簡報 + 離線 EPUB」的 DSH 用戶;自選源 EPUB 適合零 token、只要結構化離線閱讀的場景。
安裝前建議自行查看插件源碼與 MIT 許可證;插件以當前 dsh 進程權限運行,Miniflux token、自定義 aiApiKey、圖片代理等敏感配置會落在設置與運行環境中,應按個人安全策略保管。社區目錄 skillhub.cn 與 GitHub 倉庫爲社區維護信息,與 DeepSeek / 幻方無官方從屬關係;DSH 生態本身是「一切皆插件」的掛載模型,本文事實以插件 README 與 package 元數據爲準。
結尾¶
經過上面的步驟,dsh-miniflux 把 Miniflux 未讀流接到 DSH:cron 驅動 AI 早晚報與精選 EPUB,自選源 EPUB 本地打包且不耗模型 token,Web 側欄統一配置,Agent 工具與 HTTP 接口可手動補跑任務。