DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Rss Monitor — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-rss-monitor

Rss Monitor

RSS 订阅监控插件:定时检查 RSS 源、关键词过滤、邮件通知,并以原生设置页接入 DeepSeek Harness。 Monitor RSS feeds on a schedule, filter by keywords, and get email notifications, as a native DeepSeek Harness settings page. v0.2.9 mounts the settings RPC as exact Fetch routes under the share

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add dsh-rss-monitor@0.2.10
READMECompatibilityVersions

Compatibility and provenance

Rss Monitor is published as dsh-rss-monitor and currently resolves to version 0.2.10. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
npm
Registry updated
9/20/2026

Versions

0.2.10stable
9/11/2026
0.2.9stable
9/11/2026
0.2.8stable
9/9/2026
Show 11 more versionsCollapse versions
0.2.7stable
9/4/2026
0.2.6stable
9/4/2026
0.2.5stable
9/4/2026
0.2.4stable
9/4/2026
0.2.3stable
9/4/2026
0.2.2stable
9/4/2026
0.2.1stable
9/4/2026
0.2.0stable
9/3/2026
0.1.2stable
8/30/2026
0.1.1stable
8/30/2026
0.1.0stable
8/28/2026
Latest
0.2.10
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
273.3 kB
Files
23
Surface
web
License
MIT
Source
npm
GitHub
★ 1
Weekly downloads
215
Last push
9/11/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

README

📰 dsh-rss-monitor

DeepSeek Harness 原生 RSS 订阅监控插件 —— 定时检查、关键词过滤、新条目邮件通知,原生设置页体验

多源订阅 · 关键词过滤 · 智能去重 · HTML 邮件通知 · 凭据安全存储


✅ 功能特点

功能说明
📰多源订阅RSS 2.0 / Atom 均支持;添加前可"测试连接",预览标题与最新条目
🔳关键词过滤每源独立的"包含/排除"关键词(匹配标题与摘要),多个关键词逗号分隔
⏰定时检查间隔 1–1440 分钟可调(默认 5 分钟);顶部开关启停监控;随时手动"立检检查"
🔄智能去重md5(feedUrl|guid||link||title) 前 16 位作为稳定 id,环形窗口上 1000 条
📧邮件通知SMTP(SSL 465 等),精美 HTML 模板带缩略图卡片,3s/4s 指数退避重试,可发测试邮件
🧩原生设置页通过 slots 注入 Harness 设置界面:概览 / RSS 源 / 邮件通知 / 运行设置 四个标签,中英双语
🛳概览面板运行状态、上次/下次检查、最新发现(缩略图原比例、标题可点击)、检查历史(手动/自动、新条目数、错误)
🎨显示条数可调"最新发现"与"检查历史"各 1–100 行自行设置,已记录条目始终显示真实总数
🖧自动刷新设置页每 15 秒拉取状态,数据无变化不重渲染,窗口外后台自动暂停轮询
🔐凭据安全SMTP 密码只存 Harness 凭据库(DSH_RSS_SMTP_PASS_*),配置文件中仅存引用 passRef,界面与磁盘均不见明文
🆕🗓️ 时间窗口自定义每周定时监控——按星期 + 时间段触发

🆕 v0.2.9 兼容性修复

本版本修掉了两个让设置页完全不可用的传输层问题(症状:加载报 cannot get property "webServer" without inject,或点任何按钮报 transport failure for /dsh-rss-monitor/<端点>: HTTP 405):

  • RPC 挂载方式重构 — 不再用插件自定义通道 connection.rpc.handle('/dsh-rss-monitor', …),改为在共享 /api 通道下按端点注册精确 Fetch 路由(/api/dsh-rss-monitor.<端点>,共 11 条)。原因有三:
    1. 注册自定义通道会在 dsh-client-connection 内部触及 webServer 服务;桌面端加载器直接应用条目、忽略模块级 inject 声明,所以服务未就绪时直接加载失败;
    2. 当前桌面版本上,发往插件自定义通道的浏览器请求可能落进静态前端兜底(对 POST 一律回 405);
    3. connection.fetch.register 完全不依赖 webServer,没有任何启动时序竞争;精确路由优先于内置网关拦截器,且与其它设置页共用同一套浏览器认证围栏。
  • 客户端同步 — 浏览器端改用 connection.rpc.call('/api', 'dsh-rss-monitor.<端点>', …),与其它正常工作的设置标签页走同一条传输。
  • 宿主版本声明 — peerDependencies 补充 @deepseek-ai/dsh-host-webserver 兼容版本(含 0.1.5-rc.1),商店的宿主要求检查不再告警。

宿主要求(v0.2.10 起精确声明):engines.dsh >= 0.1.2-rc.1——DSH Desktop 2.0.9(内嵌 host 0.1.5-rc.1)实测可用。0.1.2-rc.1 是 dsh-client-connection 引入 Fetch 路由 API(本插件传输层所依赖、同时移除 rpc.handle)的版本,经 npm 逐版本核实;更老的 0.1.0/0.1.1 线宿主无法运行,市场会在安装前直接拦截。另注:市场侧的清单事实有 24 小时缓存(profiles\desktop\.dsh-market\discovery-compatibility-v1.json),发布新版本后若商店显示未刷新,删除该缓存文件并重启 DSH 即可。

升级提示:从 ≤0.2.8 升级请先完全退出 DSH Desktop 再安装,重启后强刷页面(Ctrl+Shift+R)。

🆕 v0.2.0 新增

  • 🗓️ 时间区间(按星期 + 时间段) — 自由勾选星期、设置开始/结束时间,仅在窗口期内执行 RSS 检查与邮件通知
  • ⏯ 跨午夜支持 — 22:00-06:00 这类跨天窗口自动正确处理
  • 🪟 窗口状态实时显示 — UI 上直观显示"窗口内 / 窗口外 / 未启用"
  • 💾 单次保存 — 把"运行设置"的所有字段合并为一个保存按钮
  • 🎛 移出方框的保存按钮 — 时间区间的保存按钮在方框外、右对齐
  • 🌐 移除时区选择器 — 时区统一跟随系统时区
  • ⚡ 5 轮性能优化 — rpcCall 稳定身份、5 个 React.memo、i18n Map 缓存、Fingerprint 差异比对、Slim lastKnownStatus、ConfigStore/StateStore snapshot 缓存、Controller.status() memo 化

🖼 界面预览

View imageView image
View imageView image

📥 安装

先选对你的客户端。 DSH 有两种发行版:

客户端长什么样插件如何被发现
DSH Web(dsh web,Node 套)浏览器打开 localhost:9191启动时官方 boot 组合自动发现已安装的 dsh.bundle 插件
DSH Desktop(DSH Desktop.exe,Electron 桌面端)系统托盘的窗口重启时官方 boot 组合 + 内置 dshmarket 的 shim-mount 完成发现

两种客户端都提供官方 dsh plugin 命令(desktop 上是 desktop-cli.js,内部把参数转发给 profile 目录里的 pnpm)。安装前先完全退出 DSH Desktop(托盘 → 退出)—— Windows 中 DSH 运行时持有的文件锁会让 pnpm 改名失败。

选哪条路径:

你的情况路径网络要求
本包已发到 npm(v0.2.0 起),任何网络方式一(推荐)npm registry(国内可达)
能直连 GitHub(境外、有代理)方式二codeload.github.com
想用预构建包、不想等 npm方式三github.com Releases
离线 / 开发联调 / 发布前的脚底方式四无(本地 clone)

方式一:npm 安装(推荐;Web / Desktop 通用)

前提:本包已发布到 npm(发布步骤见 PUBLISH.md)。

# DSH Desktop(务必带 @精确版本 + --save-exact,见下方 ⚠)
dsh plugin --profile desktop add -wE "dsh-rss-monitor@0.2.10"

# DSH Web
dsh plugin --profile web add dsh-rss-monitor

完成后启动 DSH Desktop(或刷新 dsh web 页面),设置 → "RSS 监控"。

⚠️ Desktop 专属坑:依赖必须是精确版本。 桌面端的 bundle 加载器只解析 dsh.profile.bundles 中精确版本的 profile 依赖:pnpm 默认写入的 ^0.2.9 范围值会被静默跳过——装完、重启都不生效,且无任何报错。所以请:

  1. 安装时带 @0.2.9 并加 -E(--save-exact);
  2. 装完自查:打开 %USERPROFILE%\.dsh\profiles\desktop\package.json,dependencies 里应是 "dsh-rss-monitor": "0.2.10"(没有 ^),且 dsh.profile.bundles 数组里含 "dsh-rss-monitor";
  3. 若版本带 ^,用 pnpm remove -w dsh-rss-monitor 再 pnpm add -wE "dsh-rss-monitor@0.2.10" 重装(需先完全退出 DSH)。

方式二:GitHub 源安装(需直连 GitHub)

dsh plugin --profile desktop add -w github:hgl011091/dsh-rss-monitor

原理:pnpm 从 codeload.github.com 拉取源码 tarball。中国大陆网络实测连不上 codeload(连接被重置) —— 会卡在 fetch 超时或直接失败,届时请改用方式一或方式四。装完请按方式一的 ⚠️ 自查 manifest(Desktop 只认精确版本/路径型 spec)。

方式三:GitHub Release 预构建 tarball

dsh plugin --profile desktop add -w "https://github.com/hgl011091/dsh-rss-monitor/releases/latest/download/dsh-rss-monitor.tgz"

Release 资产在国内的可达性通常好于 codeload,但同样不保证。装完请按方式一的 ⚠️ 自查 manifest。

方式四:本地克隆 + link(离线 / 开发联调 / 发布前脚底)

# 1. 克隆(目录随意;lib/ 构建产物已自包含,无需 npm install)
git clone https://github.com/hgl011091/dsh-rss-monitor.git D:\plugins\dsh-rss-monitor

# 2. 完全退出 DSH Desktop(系统托盘 → 退出;或任务管理器结束所有 DSH Desktop.exe)

# 3. 官方 CLI 安装(内部转发给 profile 里的 pnpm,自动建 junction + 改 manifest)
dsh plugin --profile desktop add -w "link:D:\plugins\dsh-rss-monitor"

# 4. 启动 DSH Desktop → 设置 → "RSS 监控"

升级与卸载:

# 升级(拉新代码后重启 DSH Desktop 即可,junction 指向的是目录本身)
git -C D:\plugins\dsh-rss-monitor pull

# 卸载
dsh plugin --profile desktop remove dsh-rss-monitor

自动化脚本(做齐健康检查 + 清残留 + 退出 DSH + 安装):

irm https://raw.githubusercontent.com/hgl011091/dsh-rss-monitor/main/install-dsh-desktop.ps1 -OutFile install.ps1
.\install.ps1 -PluginPath D:\plugins\dsh-rss-monitor

⚠️ 三条实测教训(都踩过):

  1. 占位路径必须替换。 黏贴 /path/to/... 的话,pnpm 解析失败也会把依赖写到 profile 的 package.json(pnpm 在完成前就落盘),留下一行 link:/path/to/... 并显示"已安装,未生效。"的就是它。清除方法:dsh plugin --profile desktop remove dsh-rss-monitor 或手工删掉那一行。
  2. 脚本改 package.json 必须用 -Encoding utf8NoBOM。 Windows PowerShell 5.1 的 -Encoding UTF8 写出带 BOM 的文件,DSH 的 JSON.parse 直接拒绝 → DSH Desktop 整个无法启动(报 Unexpected token '锘?)。最好根本别手工改 manifest,交给 pnpm。
  3. 只建 junction 不够。 不改 manifest、不产生"新增"事件,DSH 的 hot-mount 监视器不会挂载它 —— 必须走 dsh plugin add / pnpm add。

故障排查:设置页没有"RSS 监控"?

# 1. 看 DSH Desktop 是否真加载了 host 端
Get-Content "$env:APPDATA\DSH Desktop\logs\dsh-$(Get-Date -Format yyyy-MM-dd).log" |
  Select-String "dsh-rss-monitor" | Select-Object -Last 5
# 期望看到 [dsh-rss-monitor-host] monitor restored, interval 5 min
# → 有 = host 正常;没 = junction 没建好,回到第二步

# 2. 看 DSH profile manifest 是不是真的记录了 rss-monitor
Get-Content "$env:USERPROFILE\.dsh\profiles\desktop\package.json" -Raw |
  ConvertFrom-Json | Select-Object -ExpandProperty dependencies
# 期望看到 dsh-rss-monitor: link:D:\plugins\dsh-rss-monitor

# 3. 看 cordis.yml 有没有 include 该
Get-Content "$env:USERPROFILE\.dsh\profiles\desktop\cordis.yml" -Raw
# 应该是带 - id: dsh-rss-monitor 的列表;空就说明 hot-mount 监视器没跑(或之前 boot 失败过)
# 手动补一条也行(DSH 下次启动会合并进 bundle):
@'
- insert:
    - id: dsh-rss-monitor
      name: dsh-rss-monitor
'@ | Set-Content "$env:USERPROFILE\.dsh\profiles\desktop\cordis.patch.yml" -Encoding utf8NoBOM
# 然后再次重启 DSH Desktop

🕹 使用

  1. RSS 源 → "+ 添加 RSS 源",填名称与 URL,可选关键词过滤,先"测试连接"再保存
  2. 邮件通知 → 填 SMTP 主机/端口/账号/密码/收件人,保存后"发送测试邮件"验证(各大邮箱需使用授权码)
  3. 运行设置 → 调整检查间隔与"最新发现 / 检查历史"显示条数;顶部开关启停监控
  4. 概览 → 查看运行状态、最新发现的最新条目与检查历史;支持一键清除(带确认弹框)

🗓️ 时间窗口 (v0.2.0+)

在"运行设置"中可启用"时间区间"功能:

  • 按星期选择:周日~周六任意勾选(不勾选任何天 = 每天)
  • 开始 / 结束时间:设置每天的检查窗口(如 09:00–23:00)
  • 跨午夜:22:00-06:00 这类跨天窗口自动正确处理
  • 窗口内自动检查:只有在窗口期内,定时器才会真正拉取 RSS;窗口外自动暂停
  • 窗口外状态显示:UI 实时显示"当前在窗口内/外/未启用"

🎛 架构

dsh-rss-monitor/
├─ src/                 # Host/Client 共享层
│  ├─ protocol.mjs      #   协议单一来源:通道名、端点、限值、归一化规则
│  ├─ monitor.mjs       #   定时调度 + 有界并发检查 + 去重窗口
│  ├─ controller.mjs    #   11 个 RPC 端点的业务处理
│  ├─ config-store.mjs  #   配置存储(原子写、规范化)
│  ├─ state-store.mjs   #   运行状态存储(去重/最近/历史)
│  ├─ feed-fetcher.mjs  #   rss-parser 包装 + 缩略图提取
│  ├─ email-notifier.mjs#   nodemailer 包装(验证 + 重试)
│  ├─ schedule-window.mjs # 时间窗口判定(按星期 + 时间段)
│  └─ rpc.mjs           #   RPC 安装:共享 /api 通道下的精确 Fetch 路由(11 条)
├─ plugin-src/host/     # Host 插件入口(inject: connection, credentials) esbuild 构建
├─ plugin-src/client/   # React 设置页(slots/locale/样式/i18n) esbuild 构建
├─ lib/                 # 构建产物:index.js(Host, ESM node22)、client.js(Client, CJS)
└─ test/                # node:test 单元测试套件

🗓 License

MIT