返回顶部
f

fox-veilleRSS聚合器

RSS feed aggregator, deduplication engine, LLM scoring, and output dispatcher for OpenClaw agents. Use when: fetching recent articles from configured sources, filtering already-seen URLs, deduplicating by topic, scoring with LLM, dispatching digests to Telegram/email/Nextcloud/file. Enhanced by mail-client (email output) and nextcloud-files (cloud storage).

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
104
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

fox-veille

技能 Veille - RSS 聚合器

面向 OpenClaw 代理的 RSS 订阅聚合器,具备 URL 去重和基于主题的去重功能。
从 20 多个已配置源获取文章,过滤已见过的 URL(TTL 14 天),
并使用 Jaccard 相似度 + 命名实体对报道同一故事的文章进行去重。

无外部依赖:仅使用标准库 Python(urllib、xml.etree、email.utils)。



触发短语

  • - 进行一次信息监测
  • 安全/科技/加密货币/人工智能方面有什么新消息?
  • 给我今天的新闻
  • 关于[主题]的最新文章
  • RSS 监测
  • 早间摘要
  • 未读新闻

快速开始

bash

1. 设置


python3 scripts/setup.py

2. 验证

python3 scripts/init.py

3. 获取 + 评分 + 发送(完整流程)

python3 scripts/veille.py fetch --filter-seen --filter-topic \ | python3 scripts/veille.py score \ | python3 scripts/veille.py send

设置

系统要求

  • - Python 3.9+
  • 可访问 RSS 订阅源(公开,无需认证)
  • 无需 pip 安装

安装

bash

从技能目录执行


python3 scripts/setup.py

验证

python3 scripts/init.py

向导会创建:

  • - ~/.openclaw/config/veille/config.json(基于 config.example.json)
  • ~/.openclaw/data/veille/(数据目录)

自定义源

编辑 ~/.openclaw/config/veille/config.json,在 sources 字典中添加/删除条目:

json
{
sources: {
我的博客: https://example.com/feed.xml,
BleepingComputer: https://www.bleepingcomputer.com/feed/
}
}



存储与凭据

本技能写入的文件

路径写入者用途包含机密
~/.openclaw/config/veille/config.jsonsetup.py源、输出、选项
~/.openclaw/data/veille/seen_urls.json
veille.py | URL 去重存储(TTL 14天) | 否 | | ~/.openclaw/data/veille/topic_seen.json | veille.py | 主题去重存储(TTL 5天) | 否 |

从技能外部读取的文件

路径读取者访问的键时机
~/.openclaw/openclaw.jsondispatch.pychannels.telegram.botToken(只读)仅当启用了 telegrambot 输出且输出配置中未设置 bottoken 时

这是唯一的跨配置读取。要完全避免此操作,请在输出配置中显式设置 bot_token:

json
{ type: telegrambot, bottoken: 你的机器人令牌, chat_id: ..., enabled: true }

输出凭据(可选)

凭据仅在启用相应输出时使用。核心功能(RSS 获取 + 去重)不需要任何凭据。

输出凭据来源使用内容
telegrambot~/.openclaw/openclaw.json 或输出配置中的 bottoken机器人令牌(只读)
mail-client
委托给 mail-client 技能(其自有凭据) | 不直接读取任何内容 |
| mail-client(SMTP 回退) | 输出配置中的 smtpuser / smtppass | SMTP 登录 |
| nextcloud | 委托给 nextcloud-files 技能(其自有凭据) | 不直接读取任何内容 |

卸载时清理

bash
python3 scripts/setup.py --cleanup



安全模型

凭据隔离

  • - API 密钥从专用文件(默认 ~/.openclaw/secrets/)读取,绝不从 config.json 读取。评分器在运行时如果密钥文件的文件系统权限过于宽松会发出警告。
  • SMTP 凭据(仅回退)存储在输出配置块中——使用 mail-client 技能委托可避免存储 SMTP 密码。

子进程边界

  • - Dispatch 通过 subprocess.run()(从不使用 shell=True)委托给其他 OpenClaw 技能。脚本路径在执行前会验证是否位于 ~/.openclaw/workspace/skills/ 下,防止路径遍历。
  • 凭据不会作为子进程参数传递——每个技能管理自己的认证。

文件输出安全

  • - file 输出类型在写入前验证目标路径:默认只允许 ~/.openclaw/。可通过 config.security.allowedoutputdirs 将其他目录加入白名单。无论白名单如何,敏感路径(.ssh、.gnupg、/etc/、.bashrc 等)始终被阻止。
  • 写入的内容会检查可疑模式(shell shebang、SSH 密钥、PGP 块、代码注入)并限制大小为 1 MB。

跨配置读取

  • - 唯一的跨配置文件读取是 ~/.openclaw/openclaw.json 中的 Telegram 机器人令牌,且仅当启用了 telegrambot 输出且未设置显式 bottoken 时。此读取会记录到 stderr。在输出配置中设置 bot_token 可完全消除此读取。

自主分发

  • - 当按计划(cron)运行时,技能可以在无需用户交互的情况下向配置的输出发送消息/文件。所有分发操作都会记录到 stderr 并附带审计摘要。在任何输出上使用 enabled: false 可禁用它而无需移除其配置。

CLI 参考

fetch

python3 veille.py fetch [--hours N] [--filter-seen] [--filter-topic] [--sources FILE]

选项:

  • - --hours N:回溯窗口小时数(默认:来自配置,通常为 24)
  • --filter-seen:过滤已见过的 URL(使用 seenurls.json TTL 存储)
  • --filter-topic:按主题去重(使用 topicseen.json + Jaccard 相似度)
  • --sources FILE:自定义 JSON 源文件的路径

输出(stdout 上的 JSON):
json
{
hours: 24,
count: 42,
skipped_url: 5,
skipped_topic: 3,
articles: [...],
wrapped_listing: === 不可信的外部内容 ...
}

seen-stats

python3 veille.py seen-stats

显示 URL 已见存储的统计信息(数量、TTL、文件路径)。

topic-stats

python3 veille.py topic-stats

显示主题去重存储的统计信息。

mark-seen

python3 veille.py mark-seen URL [URL ...]

将一个或多个 URL 标记为已见(阻止它们在未来的 --filter-seen 获取中出现)。

score

python3 veille.py score [--dry-run]

从 stdin 读取摘要 JSON(fetch 的输出)并使用兼容 OpenAI 的 LLM 对文章进行评分。
返回带有 scored、ghost_picks 以及每篇文章的 score/reason 字段的增强 JSON。

选项:

  • - --dry-run:在 stderr 上打印摘要而不调用 LLM API

当 llm.enabled 为 false(默认)时,文章原样通过(scored: false)。

管道用法:
bash
python3 veille.py fetch --filter-seen --filter-topic | python3 veille.py score | python3 veille.py send

send

python3 veille.py send [--profile NAME]

从 stdin 读取摘要 JSON 并分发到 config.json 中配置的所有已启用输出。
接受原始获取输出(articles 键)和 LLM 处理的摘要(categories 键)。

输出类型:telegram_bot、mail-client、nextcloud、file。

  • - telegram_bot:机器人令牌自动从 OpenClaw 配置读取——如果已配置 Telegram 则无需额外设置。
  • mail-client:如果已安装则委托给 mail-client 技能,否则回退到原始 SMTP 配置。
  • nextcloud:如果已

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 fox-veille-1775938643 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 fox-veille-1775938643 技能

通过命令行安装

skillhub install fox-veille-1775938643

下载

⬇ 下载 fox-veille v1.0.0(免费)

文件大小: 54.02 KB | 发布时间: 2026-4-12 10:02

v1.0.0 最新 2026-4-12 10:02
fox-veille 1.0.0 - Initial Release

- Introduces a standalone RSS aggregator, deduplication engine, LLM scoring, and output dispatcher for OpenClaw agents.
- Fetches articles from 20+ sources, filters already-seen URLs and deduplicates by topic using Jaccard similarity and named entities.
- Supports scoring articles with an LLM (OpenAI-compatible), and dispatching digests to Telegram, email (via mail-client), Nextcloud (via nextcloud-files), or local files.
- Provides a CLI with commands for fetching, scoring, and sending digests, plus stats and manual controls for seen-topic stores.
- No external dependencies; uses Python 3.9+ standard library only.
- Includes robust security/isolation measures for credentials, subprocesses, and file outputs.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部