STARDUSTLC666 / dsh-rss

Listed

DeepSeek Harness RSS 订阅插件:rss_list/add/remove/fetch/check 五工具,RSS 0.9x/1.0/2.0 与 Atom 归一化解析,订阅列表持久化到 settings,proxyUrl 特殊代理支持;纯 Node 全平台。· RSS/Atom subscription tools for DeepSeek Harness agents.

masterTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:STARDUSTLC666/dsh-rss

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit dde7552Synced Aug 18, 2026

English

dsh-rss

agent 的资讯雷达:订阅管理 + RSS/Atom 抓取解析。

npm version npm downloads license stars

Awesome DSH Plugin

DSH(DeepSeek Harness)的 RSS/Atom 订阅工具插件:管理订阅源,抓取并解析 RSS 0.9x / 1.0 / 2.0 与 Atom,支持 OPML 批量导入导出,给模型提供七个可直接调用的工具。

安装

dsh plugin --profile web add dsh-rss

安装后重启 Web 服务即可。

配置

在你自己的 profile 的 cordis.patch.yml 里覆盖本插件行(缺省时插件也能加载,只是全部用默认值):

- id: rss
  name: 'dsh-rss'
  config:
    # proxyUrl: http://127.0.0.1:7890   # 部分订阅源需要特殊代理(梯子)才能访问时启用
    timeoutMs: 15000                     # 抓取超时(毫秒,默认 15000)
    # maxBodyBytes: 5242880              # 订阅源体积上限(默认 5MB,防超大响应)
    # userAgent: 'dsh-rss/0.2.0'         # 自定义抓取 UA
    # feedsYaml: |                        # 可选:预置订阅列表(也可用 rss_add 工具添加)
    #   - url: https://example.com/feed.xml
    #     name: 示例订阅
    #     category: 技术

工具一览

工具作用关键参数
rss_list列出已订阅源
rss_add添加订阅(先抓取校验地址)url 必填;name/category 可选
rss_remove删除订阅urlname 至少一个
rss_fetch抓取解析订阅源,返回源信息与条目(含正文 content)urlname 至少一个;limit 1-100 默认 20
rss_check校验地址是否为可解析的订阅源url 必填
rss_opml_export导出订阅列表为 OPML 2.0 文本(可写入文件)path 可选
rss_opml_import从 OPML 2.0 文本批量导入订阅源opml 必填

示例

rss_add { url: https://example.com/feed.xml, name: 我的订阅 }
rss_fetch { name: 我的订阅, limit: 10 }
rss_check { url: https://example.com/feed.xml }
rss_opml_export { path: subscriptions.opml }
rss_opml_import { opml: "<?xml version=\"1.0\"?>..." }

订阅存储

订阅列表保存在 settings 的 dsh-rss 命名空间(feedsYaml 字段)里:rss_add / rss_remove 会自动读写并持久化,重启后仍在;也可以在配置里用 feedsYaml 预置初始订阅。同名订阅请用 url 区分。

特殊代理(梯子)

大部分订阅源可以直接访问;少数订阅源需要特殊代理(梯子)才能连通。遇到 抓取失败 且提示需要代理时,把 proxyUrl 配成你的本地代理地址(如 http://127.0.0.1:7890)并重启即可。代理只作用于本插件的抓取请求,不影响同进程其他插件。

解析能力

  • RSS 2.0 / RSS 1.0(RDF)/ Atom 三种格式,统一归一化输出
  • 实体解码、CDATA、content:encodeddc:creatoritunes 等常见字段
  • RFC 822 / ISO 8601 日期统一转 ISO 8601 UTC(pubDate),原始文本保留在 pubDateRaw
  • 相对链接按订阅源地址解析成绝对链接
  • 摘要去 HTML 标签并截断到 500 字符;RSS content:encoded / Atom content 作为 content 字段保留(去标签后最多 20000 字符)
  • 安全:不解析 DTD/外部实体,内容只做文本抽取;响应体积上限 5MB;抓取超时可配

开发

pnpm install
pnpm test       # 构建 + 55 个测试

发布前门禁:危险模式扫描、manifest 自检、pnpm audit --prod、全量测试,以及全新 profile 的真实启动冒烟测试。

License

MIT

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
TypeScript
License
MIT
Last updated
Aug 18, 2026, 1:04 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.