dsh-rss-digest: RSS/Atom 聚合与智能日报

前言

DeepSeek Harness(DSH)的核心哲学是「一切皆插件」。在开发智能体或工作流时,处理外部信息源(如 RSS/Atom)通常需要自行编写定时任务、解析逻辑和去重逻辑,成本较高。

dsh-rss-digest 是一个 DSH 插件,它将上述流程封装为一个插件包。它利用 DSH 的 LLM 能力进行智能摘要,通过定时器服务调度抓取,并将结果以 Markdown 格式输出到对话或文件中。

插件简介

这是一个 RSS/Atom 聚合、智能摘要和每日 Markdown 简报 工具,以 DSH bundle 的形式提供。

  • 维护者: JohnXu22786
  • 分类: 联网工具
  • 许可证: MIT
  • 核心价值: 将订阅管理、定时抓取、去重、LLM 摘要和日报分发整合为一个无依赖的核心逻辑层。

核心功能

  1. 订阅管理
    支持添加、移除、列出 RSS 2.0、Atom 和 RSS 1.0(RDF)源。数据存储在本地,具有原子写入和防损坏机制。支持在运行时启用或禁用特定源。

  2. 定时抓取
    基于配置的轮询间隔、启动时的抓取周期、请求超时、大小限制、重试次数以及项目保留上限进行抓取。

  3. 去重机制
    采用精确匹配哈希结合 Token-Jaccard 相似度算法检测近重复内容(支持 CJK 双字分词),并可通过阈值配置。

  4. LLM 摘要
    支持批量模式或单条模式,输出语言支持中文或英文,并限制输出长度。当模型不可用时,会自动降级为抽取式摘要。

  5. 每日简报
    在指定的时间点(支持 IANA 时区)生成 Markdown 格式的日报。支持两种投递方式:推送到正在运行的对话会话,或写入文件。

  6. 零依赖核心
    核心逻辑(抓取、解析、去重、存储、摘要)本身没有任何依赖,仅集成层引用 DSH 包。

安装与启用

该插件以 npm 包的形式提供,安装后通过 dsh.bundle 声明和 cordis.patch.yml 自动生效。

  1. 安装插件
    在当前 DSH profile 中安装:
    dsh plugin --profile demo add dsh-rss-digest
  1. 配置加载
    插件安装后,loader 会自动读取 dsh.bundle 声明并应用 cordis.patch.yml。你的 profile manifest 中的 dsh.profile.bundles 列表将包含 dsh-rss-digest,patch 配置会插入插件行。

  2. 依赖说明
    插件声明了 peer dependencies(@deepseek-ai/cordis, @deepseek-ai/dsh-tools, @deepseek-ai/dsh-llm, @deepseek-ai/cordis-plugin-timer)。DSH profile 通常已包含这些依赖,若报错可手动链接一次。

典型用法

插件提供了命令行工具和模型工具两种调用方式。

命令行 (CLI)

插件内置了一个独立 CLI,共享相同的核心逻辑,不依赖 Harness 环境:

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

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

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

DSH 对话工具

在对话中,模型可以通过 ctx.tools 调用以下工具:

  1. rss_add: 订阅新源。
    • 示例:[rss_add: https://hnrss.org/frontpage]
  2. rss_fetch: 立即抓取数据(自动去重)。
  3. rss_digest: 基于未摘要的内容生成 Markdown 简报。
    • 示例:[rss_digest: language=zh]

配置示例

在 dsh.profile.bundles 对应的 cordis.patch.yml 中,可以调整投递方式和时间:

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

适用场景与注意事项

  • 适用场景: 需要自动获取资讯摘要、构建个人知识库日报、或为 Agent 提供外部新闻输入的开发者。
  • 运行机制: 插件通过 ctx.timeout 和 ctx.interval 进行调度。每日简报通过 Agent.followup 推送到会话,或直接写入 digests/<day>.md。
  • 无广播 API: 由于 DSH Harness 没有广播 API,插件无法直接向所有用户广播,必须通过会话消息队列或文件输出。
  • 生态说明: 此插件来自社区目录,与 DeepSeek 或幻方官方无直接隶属关系。

总结

dsh-rss-digest 通过将 RSS 处理流程标准化,降低了开发者构建自动化信息流的门槛。其核心逻辑的零依赖特性也保证了插件的高稳定性。无论是通过 CLI 独立运行,还是作为 DSH 插件集成,它都能提供从订阅到摘要的一站式解决方案。

羽毛球分组比赛记分
小程序二维码

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

小夜