clawfeedradar(OpenClaw Skill)
clawfeedradar 是一个个人“新闻雷达”技能,建立在现有的 clawsqlite 知识库和其兴趣集群之上。它回答一个问题:“基于我之前在 clawsqlite 中阅读/保存的内容,今天我可能会关心 Hacker News / RSS / arXiv 等新文章吗?”重度工作(兴趣集群、嵌入、混合搜索)存在于 clawsqlite 中。这个技能专注于:
从外部来源(HN/RSS/etc.)获取候选项
将它们与 clawsqlite 中的长期兴趣集群进行评分
生成每个来源的 RSS 提要(XML + JSON 附加文件),可选的小型 LLM 摘要和双语正文
- 与 clawsqlite 和 clawsqlite-knowledge 的关系
clawsqlite
维护您的知识库和兴趣集群
提供 interest_clusters + interest_cluster_members 表
在每次集群构建后写入 interest_meta 键 interest_clusters_last_built_at
clawsqlite-knowledge(技能)
OpenClaw 代理的高级别摄入/搜索/显示技能
在与 clawsqlite相同的 DB / 文章目录上运行
clawfeedradar(这个技能)
从相同的 DB 中读取 interest_clusters 和 interest_meta
从不修改 clawsqlite DB 模式或文章
使用与 clawsqlite 共享的嵌入配置(EMBEDDING_
+ CLAWSQLITE_VEC_DIM)将候选文章嵌入到相同的兴趣空间中
将 XML/JSON 提要写入单独的 CLAWFEEDRADAR_OUTPUT_DIR
可选地将生成的提要发布到 Git 存储库以用于 GitHub/Gitee Pages
简而言之:clawsqlite 知道您喜欢什么,clawfeedradar 去寻找类似的东西,然后将它们包装为 RSS。这个技能需要一个具有 PyPI 访问权限(用于 clawfeedradar 包)的 Python 运行时和一个工作空间,其中该技能位于 skills/clawfeedradar 下。
2.1 安装技能
shell 打开 OpenClaw 技能安装 clawfeedradar
这将创建:
~/.openclaw/workspace/skills/clawfeedradar
├── SKILL.md
├── manifest.yaml
├── bootstrap_deps.sh
├── run_clawfeedradar.py
├── README.md
├── README_zh.md
└── ENV_EXAMPLE.md
注意:这个技能不在技能目录中读取 .env 文件。所有配置都存在于上游 clawfeedradar 项目中(或在代理/主机级别),该技能只是重用该环境。
实际的 Python 包 clawfeedradar 由引导脚本安装,而不是在此处提供。2.2 安装/升级 clawfeedradar 包
manifest.yaml 声明了一个 bash 引导步骤:
install:
- id:clawfeedradar_bootstrap
kind:bash
label:安装 clawfeedradar Python 包
script:bootstrap_deps.sh
bootstrap_deps.sh 是一个小型包装器,用于 python -m pip install,具有可选的工作空间前缀回退,类似于 clawsqlite-knowledge 技能中使用的模式。
简化形式,它:
尝试将 clawfeedradar 安装到技能使用的默认 Python 环境中;
如果失败(只读环境,无 pip),则使用 --prefix="$WORKSPACE/skills/clawfeedradar/.venv" 再次尝试;
在成功时打印 NEXT:提示,以便您知道包安装在哪里以及哪些 site-packages 将添加到 PYTHONPATH 中。
通常,您不需要手动运行此脚本;openclaw skills install clawfeedradar(和未来的 openclaw skills update clawfeedradar)将为您运行它。技能运行时调用 run_clawfeedradar.py,标准输入中带有 JSON有效载荷,并期望标准输出中有 JSON 响应。
常见字段:
root(可选):clawsqlite 知识根目录的路径(如果省略,CLAWSQLITE_ROOT / .env 默认值将被使用)
action:以下支持的操作之一
所有处理程序都返回一个 JSON 对象,至少包含:
ok:true|false
数据:... 在成功时,或错误/退出代码/标准输出/标准错误在失败时
next:[...] 当底层 CLI 发出 NEXT 提示时
error_kind 用于粗略分类(例如,缺少嵌入/抓取器/向量扩展)
内部,运行时:
确保工作空间本地 site-packages 前缀在 PYTHONPATH 上;
使用正确的参数执行 python -m clawfeedradar.cli ...;
捕获标准输出/标准错误并在可能时解析 JSON。4.1 run_once
为单个源 URL(HN/RSS/etc.)运行雷达一次,根据兴趣集群评分候选项,并写入 XML/JSON 提要。
有效载荷示例:
{
“action”: “run_once”,
“source_url”: “https://feeds.bbci.co.uk/news/technology/rss.xml”,
“max_source_items”: 30,
“max_items”: 12,
“score_threshold”: 0.4,
“source_lang”: “en”,
“target_lang”: “zh”,
“enable_preview”: true,
“preview_words”: 512,
“root”: “/home/node/.openclaw/workspace/knowledge_data”
}
行为(高级别):
从 source_url 解析源类型(HN / RSS / 等);
从该源获取最多 max_source_items 个原始项;
使用 7 天 seen_urls 状态文件对 URL 进行归一化和去重;
使用与 clawsqlite 共享的 EMBEDDING_ + CLAWSQLITE_VEC_DIM 配置将每个候选项嵌入到相同的兴趣空间中;
加载 interest_clusters 并在 interest_clusters_last_built_at 时警告。