运行时依赖
安装命令
点击复制技能文档
@elvatis_com/openclaw-rss-feeds OpenClaw 插件,用于 RSS 和 Atom 安全摘要,具有可选的 NVD CVE 扩展、Ghost CMS 草稿发布和频道通知。
安装 npm install @elvatis_com/openclaw-rss-feeds 然后在 OpenClaw 插件配置中启用该插件。
配置 插件模式定义在 openclaw.plugin.json 中。支持所有选项的示例: { "plugins": { "openclaw-rss-feeds": { "feeds": [ { "id": "fortinet", "name": "Fortinet PSIRT", "url": "https://www.fortiguard.com/rss/ir.xml", "keywords": ["fortinet", "fortigate", "fortios"], "enrichCve": true, "cvssThreshold": 7, "tags": ["fortinet", "security", "digest"], "docsUrlTemplate": "https://docs.fortinet.com/product/{product}/{version}/release-notes", "productHighlightPattern": "Forti(?:Gate|OS|Analyzer|Manager|Client|Proxy)" }, { "id": "m365", "name": "Microsoft 365 Message Center", "url": "https://www.microsoft.com/en-us/microsoft-365/roadmap?filters=&searchterms=&rss=1", "keywords": ["security", "vulnerability", "defender"], "enrichCve": true, "cvssThreshold": 6.5, "tags": ["microsoft-365", "security"] }, { "id": "bsi", "name": "BSI CERT-Bund", "url": "https://wid.cert-bund.de/portal/wid/securityadvisory?rss", "keywords": ["kritisch", "critical", "cve"], "enrichCve": false, "tags": ["bsi", "cert-bund"] }, { "id": "heise-security", "name": "Heise Security", "url": "https://www.heise.de/security/rss/news-atom.xml", "keywords": ["cve", "security", "ransomware"], "enrichCve": false, "tags": ["heise", "security-news"] } ], "schedule": "0 9 1 ", "lookbackDays": 31, "ghost": { "url": "https://blog.example.com", "adminKey": ":" }, "notify": [ "whatsapp:", "telegram:123456789" ], "nvdApiKey": "" } } }
使用 自动运行通过 cron 计划 如果设置了计划,则插件注册一个调度器并自动运行。 示例:0 9 1 在每月 1 日 09:00 运行 0 8 1 每周一 08:00 运行
手动运行通过工具 可以使用注册的工具手动触发摘要生成: 工具名称:rss_run_digest 可选参数:dryRun:true dryRun 获取和格式化摘要,但跳过 Ghost 发布和通知。
CVE 扩展 如果 feed 中 enrichCve 为 true,则插件调用 NVD CVE API 并用以下内容扩展摘要: CVE ID CVSS 评分(通过 cvssThreshold 过滤) CVE 描述 链接到 NVD 详情 注意:CVE 扩展是通过每个 feed 的关键词驱动的 关键词查找之间的请求是限速的 NVD 失败被视为非致命错误,feed 处理继续
Ghost CMS 集成 如果配置了 ghost,则摘要作为草稿发布通过 Ghost Admin API 发布。 实现细节: 从 adminKey(id:secret 格式)生成 HS256 JWT API 端点:/ghost/api/admin/posts/?source=html 摘要作为 HTML 正文发送 标签从所有配置的 feed 标签合并 如果 Ghost 失败,摘要生成仍然成功,错误在结果元数据和可选通知中报告。
通知 如果 notify 包含目标(格式为 channel:target),则在运行后发送摘要通知。 示例目标:whatsapp: telegram:123456789 discord:#security
开发 npm install npx tsc --noEmit npm test npm run build
许可 MIT