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.
已收录
3
Tools
Bundle 已验证
功能介绍
RSS/Atom 订阅管理 + 抓取解析(rss_list/add/remove/fetch/check),订阅持久化到 settings。
适合
- 需要持久化管理 RSS/Atom 订阅并定期抓取归一化条目的 Agent。
- 需要通过 OPML 2.0 批量导入或导出订阅集合的团队。
- 希望用统一接口聚合 RSS 0.9x、RSS 1.0/2.0 和 Atom 的工作流。
不适合
- 未提供可解析 RSS 或 Atom feed 的信息源。
- 响应体超过配置上限的订阅源;默认上限为 5 MB。
- 需要完整保留 HTML 内容的工作流;摘要会去除标签并截断,保留的正文也最多为 20,000 字符。
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
常见问题常见问题
在启用了 DSH 的终端中执行已验证命令 dsh plugin --profile default add github:STARDUSTLC666/dsh-rss。命令会解析公开 package 元数据,并保持插件与本页展示的目录身份一致。
兼容性以页面上展示的 bundle 与 profile 状态为准。如果某个 profile 尚未检测到,请先保持禁用,并在生产启用前阅读仓库文档。
GitHub 链接和 activity 元数据是 release 与维护状态的来源。新版本发布后重新查看本页,确认目录已经观察到最新版本。