dsh-rss-digest
RSS/Atom feed subscription, scheduled fetching, deduplication, LLM-powered summarization, and daily Markdown digests — as a dsh (DeepSeek Harness) bundle. 适合想自动汇总订阅资讯为每日摘要的用户;需配置数据路径与抓取间隔。
Install
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:JohnXu22786/rss-digestREADME
Read the full README ↗Configuration reference
All fields are optional; apply(ctx, config) always receives fully defaulted
values.
| Field | Default | Description |
|---|---|---|
dataPath | '' | Store file path. '' resolves to $DSH_RSS_DIGEST_DATA, else $DSH_HOME/data/rss-digest/store.json, else ./.dsh-rss-digest/store.json. |
sources[] | [] | Initial subscriptions merged at startup: { url, title?, enabled? }. Duplicate URLs are ignored. |
fetch.enabled | true | Whether the periodic poller runs. |
fetch.intervalMinutes | 60 | Poll interval (min 5). |
fetch.onStartup | true | Run one cycle ~10 s after startup. |
fetch.requestTimeoutMs | 15000 | Per-request timeout. |
fetch.sizeLimitBytes | 1048576 | Max accepted document size. |
fetch.retries | 2 | Retries for transient failures (network / 5xx / 429 / 408). |
fetch.maxItemsPerSource | 50 | Parsed items kept per source per cycle (newest kept). |
fetch.storeContentChars | 4000 | Truncation for stored summary/content text. |
fetch.maxStoredItems | 1000 | Retention cap (oldest fetched pruned on save). |
dedupe.threshold | 0.9 | Min token-set Jaccard similarity for near-duplicates. |
dedupe.compareContent | false | Let identical bodies collapse empty-title items. |
summary.enabled | true | false forces extractive summaries. |
summary.mode | batch | batch = one model call per digest; single = per item. |
summary.language | zh | Output language of the summary body: zh | en. |
summary.maxLength | 800 | Hard character cap on the summary body. |
summary.maxTokens | 1024 | Token budget hint for the model call. |
summary.provider | '' | dsh provider route; '' = first registered provider. |
summary.model | '' | Model id; '' = first listed model of the provider. |
digest.enabled | true | Whether the daily digest scheduler runs. |
digest.time | '08:00' | Wall-clock fire time (HH:MM). |
digest.timezone | '' | IANA timezone; '' = host local time. |
digest.maxItems | 20 | Max items per digest. |
digest.deliverTo | both | agents | file | both — deliver to live sessions, to digests/.md, or both. |
digest.includeItemLinks | true | Whether the item list embeds permalinks (http/https only). |