DeepSHPlugins
dsh-rss 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-rss

工具與整合JavaScriptMIT

RSS/Atom 訂閱管理 + 抓取解析(rss_list/add/remove/fetch/check),訂閱持久化到 settings。

5 StarsSTARDUSTLC666 更新時間 2026-09-05
訪問 GitHub 倉庫
dsh-rss 專案預覽

專案介紹

中文

RSS/Atom 訂閱管理 + 抓取解析(rss_list/add/remove/fetch/check),訂閱持久化到 settings。

English

RSS/Atom subscription management and parsing (rss_list/add/remove/fetch/check), persisted to settings.

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
STARDUSTLC666
倉庫
STARDUSTLC666/dsh-rss
GitHub Stars
5
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-09-05
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

73/ 100
維護活躍
97
文件與實用資訊
100
生態關注度
22
安裝便捷訊號
100
專案宣告訊號
100

近 6 天仍在更新;README 含完整安裝與使用說明;關注度尚低(5)。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add dsh-rss

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

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 批量导入导出,给模型提供九个可直接调用的工具。

兼容性

按 @deepseek-ai/[email protected] 的工具执行接口适配。遵循 cordis 组合包补丁模型(cordis.patch.yml + dsh.bundle.patch),运行时不 import 任何 @deepseek-ai/* 内部模块。

抓取接收 Harness 的取消信号,取消 DNS、网络读取或跨源搜索时保留原始取消原因。默认预检域名解析结果并拒绝回环、私网和链路本地地址;每次重定向都重新校验。可信内网源可显式配置 allowPrivateNetwork: true。

rss_opml_export.path 必须相对本次调用的会话工作区,父目录须已存在;工具拒绝绝对路径、目录穿越和指向工作区外的链接,并返回实际写入文件的绝对路径。文件写入默认通过 Harness 审批门,opmlWriteApproval: false 可关闭该门;省略 path 时仅返回 OPML 文本。

安装

dsh plugin --profile web add dsh-rss

安装后重启 Web 服务即可。

卸载

dsh plugin --profile web remove dsh-rss

卸载后重启 Web 服务。如需彻底清理,可再手动删除自己 profile cordis.patch.yml 中覆盖的插件行。

配置

在你自己的 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_search跨订阅源关键词搜索条目(标题/摘要/正文/作者)query 必填;name/url/since/limit 可选
rss_health插件自检(配置/订阅/游标/解析器,离线)无

示例

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 / Atom content 作为 content 字段保留(去标签后最多 20000 字符)
  • 安全:不解析 DTD/外部实体,内容只做文本抽取;响应体积上限 5MB;抓取超时可配

开发

pnpm install
pnpm test       # 构建 + 离线测试(fetch 与 DNS 均使用夹具)

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

License

MIT

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案