Introduction

The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin”. When developing agents or workflows, handling external information sources (such as RSS/Atom) often requires writing scheduled tasks, parsing logic, and deduplication logic yourself, which can be costly.

dsh-rss-digest is a DSH plugin that encapsulates the above workflow into a plugin package. It uses DSH’s LLM capabilities for intelligent summarization, schedules fetching through the timer service, and outputs the results as Markdown to a conversation or file.

Plugin Overview

This is an RSS/Atom aggregation, intelligent summarization, and daily Markdown digest tool, provided as a DSH bundle.

  • Maintainer: JohnXu22786
  • Category: Network tools
  • License: MIT
  • Core value: Integrates subscription management, scheduled fetching, deduplication, LLM summarization, and daily report distribution into a dependency-free core logic layer.

Core Features

  1. Subscription Management
    Supports adding, removing, and listing RSS 2.0, Atom, and RSS 1.0 (RDF) feeds. Data is stored locally with atomic writes and corruption prevention. Specific feeds can be enabled or disabled at runtime.

  2. Scheduled Fetching
    Fetching is based on the configured polling interval, fetch cycle at startup, request timeout, size limits, retry count, and maximum item retention.

  3. Deduplication
    Uses exact-match hashing combined with Token-Jaccard similarity to detect near-duplicate content (supports CJK bigram tokenization), with configurable thresholds.

  4. LLM Summarization
    Supports batch mode or single-item mode, with output language in Chinese or English and limited output length. If the model is unavailable, it automatically falls back to extractive summarization.

  5. Daily Digest
    Generates a Markdown daily report at a specified time (supports IANA time zones). Supports two delivery modes: pushing to an active conversation session, or writing to a file.

  6. Zero-Dependency Core
    The core logic (fetching, parsing, deduplication, storage, and summarization) has no dependencies of its own; only the integration layer references DSH packages.

Installation and Enablement

The plugin is provided as an npm package. After installation, it is automatically enabled through the dsh.bundle declaration and cordis.patch.yml.

  1. Install the Plugin
    Install it in the current DSH profile:
    dsh plugin --profile demo add dsh-rss-digest
  1. Configuration Loading
    After installation, the loader automatically reads the dsh.bundle declaration and applies cordis.patch.yml. The dsh.profile.bundles list in your profile manifest will include dsh-rss-digest, and the patch configuration will insert the plugin line.

  2. Dependencies
    The plugin declares peer dependencies (@deepseek-ai/cordis, @deepseek-ai/dsh-tools, @deepseek-ai/dsh-llm, @deepseek-ai/cordis-plugin-timer). DSH profiles usually already include these dependencies; if an error occurs, you can manually link them once.

Typical Usage

The plugin provides two invocation methods: a command-line tool and model tools.

Command-Line Interface (CLI)

The plugin includes a standalone CLI that shares the same core logic and does not depend on the Harness environment:

# 添加订阅源
dsh-rss-digest add https://hnrss.org/frontpage

# 立即抓取一次
dsh-rss-digest fetch

# 生成简报(指定语言和输出文件)
dsh-rss-digest digest --lang en --out digest.md

DSH Conversation Tools

In a conversation, the model can call the following tools through ctx.tools:

  1. rss_add: Subscribe to a new feed.
    • Example: [rss_add: https://hnrss.org/frontpage]
  2. rss_fetch: Fetch data immediately (with automatic deduplication).
  3. rss_digest: Generate a Markdown digest based on unsummarized content.
    • Example: [rss_digest: language=zh]

Configuration Example

In the cordis.patch.yml corresponding to dsh.profile.bundles, you can adjust the delivery method and time:

- id: rss-digest
  config:
    summary:
      language: zh
      mode: batch
    digest:
      time: '08:30'
      timezone: Asia/Shanghai
      deliverTo: both  # agents | file | both

Applicable Scenarios and Notes

  • Applicable scenarios: Developers who need automatic news summaries, personal knowledge base daily reports, or external news input for agents.
  • Runtime mechanism: The plugin is scheduled through ctx.timeout and ctx.interval. The daily digest is pushed to the session via Agent.followup, or written directly to digests/<day>.md.
  • No broadcast API: Because DSH Harness does not have a broadcast API, the plugin cannot broadcast directly to all users and must use a session message queue or file output.
  • Ecosystem note: This plugin comes from the community catalog and is not directly affiliated with the official DeepSeek or High-Flyer teams.

Summary

By standardizing the RSS processing workflow, dsh-rss-digest lowers the barrier for developers to build automated information streams. Its zero-dependency core logic also ensures high stability for the plugin. Whether run standalone via the CLI or integrated as a DSH plugin, it provides an end-to-end solution from subscription to summarization.