STARDUSTLC666/dsh-rss
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.
Listed
3
Tools
Bundle verified
What it does
RSS/Atom subscription management and parsing (rss_list/add/remove/fetch/check), persisted to settings.
Best for
- Agents that maintain persistent RSS/Atom subscriptions and periodically fetch normalized entries.
- Teams importing or exporting subscription collections through OPML 2.0.
- Workflows aggregating RSS 0.9x, RSS 1.0/2.0, and Atom feeds behind one interface.
Not ideal for
- Sources that do not expose a parseable RSS or Atom feed.
- Feeds whose responses exceed the configured body limit, which defaults to 5 MB.
- Workflows requiring full-fidelity HTML content; summaries are stripped and truncated, and retained content is capped at 20,000 characters.
README
dsh-rss
agent 的资讯雷达:订阅管理 + RSS/Atom 抓取解析。
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 |
删除订阅 |
url 或 name 至少一个 |
rss_fetch |
抓取解析订阅源,返回源信息与条目(含正文 content) |
url 或 name 至少一个;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:encoded、dc:creator、itunes等常见字段 - RFC 822 / ISO 8601 日期统一转 ISO 8601 UTC(
pubDate),原始文本保留在pubDateRaw - 相对链接按订阅源地址解析成绝对链接
- 摘要去 HTML 标签并截断到 500 字符;RSS
content:encoded/ Atomcontent作为content字段保留(去标签后最多 20000 字符) - 安全:不解析 DTD/外部实体,内容只做文本抽取;响应体积上限 5MB;抓取超时可配
开发
pnpm install
pnpm test # 构建 + 55 个测试
发布前门禁:危险模式扫描、manifest 自检、pnpm audit --prod、全量测试,以及全新 profile 的真实启动冒烟测试。
License
MIT
Frequently Asked QuestionsFAQ
Use the verified command dsh plugin --profile default add github:STARDUSTLC666/dsh-rss in a DSH-enabled shell. The command resolves the public package metadata and keeps the plugin attached to the catalog identity shown on this page.
Compatibility follows the bundle and profile status shown above. If a profile is not detected, keep the plugin disabled there and check the repository documentation before enabling it in production.
The GitHub link and activity metadata are the source of truth for releases and maintenance. Revisit this page after a new release to confirm the catalog has observed the latest version.