ClawFeed:如何用 AI 把信息洪流变成精准知识流
核心问题:每天被数百条推送淹没,如何在不增加阅读负担的前提下,真正掌握行业关键动态?
信息过载不是新闻太多,而是噪音太多。ClawFeed 是一款开源的 AI 新闻聚合工具,它不做信息的搬运工,而是做你的私人策展人——从 Twitter、RSS、HackerNews、Reddit 等数千个源头中,筛选出真正值得阅读的内容,并按 4 小时、日、周、月的时间维度生成结构化摘要。本文将完整介绍这款工具的设计理念、核心功能、安装部署流程,以及如何在实际工作场景中落地使用。
为什么我们需要另一种新闻阅读方式
本段核心问题:传统 RSS 和社交媒体订阅模式出了什么问题?
我们生活在一个悖论时代:获取信息从未如此容易,筛选信息却从未如此困难。一个普通的技术从业者每天可能面对:
-
Twitter 上数百条推文,其中 80% 是情绪宣泄或营销内容 -
十几个技术博客的 RSS 订阅,更新频率参差不齐 -
HackerNews 首页每小时刷新,热点转瞬即逝 -
Reddit 讨论串中夹杂着大量低质量回复
传统解决方案是”订阅更多源”,但这只会让问题恶化。你花 30 分钟刷完 Twitter,可能只获得 3 条真正有价值的信息。这种”滚动即消费”的模式,本质上是用时间换概率,效率极低。
反思:从”订阅源”到”订阅知识”
我观察到大多数人在信息消费上犯了一个根本错误:他们关注”谁在说话”,而不是”说了什么有价值的话”。ClawFeed 的设计哲学是反向的——先定义什么是高质量内容(通过可配置的筛选规则),再让 AI 从海量噪声中提取信号。这不是偷懒,而是把认知资源从”筛选”转移到”思考”。当你每天打开阅读器看到的是已经整理好的要点,而不是原始的信息流,你的阅读心态会从”应付”变成”吸收”。
ClawFeed 是什么:功能全景图
本段核心问题:ClawFeed 具体能解决哪些信息管理的痛点?
ClawFeed 是一个多层次的 AI 驱动新闻摘要系统,核心能力可以归纳为三个维度:多源聚合、智能筛选、结构化输出。
多频率摘要体系
不同于传统 RSS 阅读器的”实时推送”模式,ClawFeed 采用**时间盒(Time-boxing)**策略,提供四种 digest 频率:
这种设计的精妙之处在于认知节奏匹配。4 小时 digest 适合放在第二个显示器上实时扫一眼,每日 digest 适合通勤时阅读,每周 digest 则适合周末深度思考。你不需要在所有时间段都保持”在线”状态,而是在合适的时间消费合适密度的信息。
多源支持体系
ClawFeed 内置了九种数据源类型,覆盖了技术从业者最常用的信息渠道:
场景示例:独立开发者的信息工作台
假设你是一名独立开发者,关注 AI 基础设施和开源工具。你可以这样配置:
-
高频跟踪:添加 @karpathy、@ylecun的 Twitter feed,设置 4 小时 digest,确保第一时间了解行业大佬的观点 -
技术雷达:订阅 HackerNews 首页和 /r/MachineLearning,每日 digest 掌握社区热点 -
项目发现:配置 github_trending源,语言设为 Python 和 Rust,每周 digest 发现值得研究的新项目 -
深度阅读:添加几个高质量的独立技术博客 RSS,每月 digest 配合”Mark & Deep Dive”功能做深度分析
Source Packs:社区策展力量
个人配置源列表是耗时的。ClawFeed 引入了 Source Packs(源包)机制,允许用户将精心策划的源组合打包分享。比如一个”AI 研究员入门包”可能包含:
-
20 个核心 Twitter 账号 -
10 个顶级会议博客 RSS -
3 个关键 Reddit 社区 -
HackerNews 和 GitHub Trending 的默认配置
新用户可以通过 POST /api/packs/:id/install 一键安装整个包,立即获得经过社区验证的信息源组合。这降低了使用门槛,也形成了知识策展的协作网络。
Mark & Deep Dive:从消费到研究
阅读只是第一步,ClawFeed 提供了完整的书签与深度分析工作流:
-
快速标记:在阅读 digest 时,点击 bookmark 保存感兴趣的内容 -
添加笔记:为书签添加个人注释,记录当时的思考 -
AI 深度分析:对标记的内容调用 AI 进行扩展分析——可以是总结长文、提取技术要点、对比不同来源的观点,或生成阅读清单
这个功能把 ClawFeed 从”阅读器”升级为”研究助手”。当你积累了一批关于某个主题的书签后,可以让 AI 帮你做跨文档分析,发现单一阅读时难以察觉的模式。
架构设计:为什么这样实现
本段核心问题:ClawFeed 的技术架构如何支撑其功能承诺?
理解一个工具的设计决策,有助于判断它是否适合你的场景。ClawFeed 采用了多租户、轻量级、模块化的架构哲学。
存储层:SQLite 的务实选择
在数据库选型上,ClawFeed 没有追逐分布式数据库的潮流,而是选择了 SQLite。这个决策基于以下考量:
-
零配置:无需安装和运维独立的数据库服务 -
单文件便携:整个数据库就是一个文件,备份和迁移极其简单 -
性能足够:对于个人或小型团队的使用场景,SQLite 的并发处理能力完全够用 -
资源占用低:适合运行在树莓派或廉价 VPS 上
反思:技术选型的”足够好”原则
我见过太多项目因为”为未来扩展做准备”而引入复杂的分布式架构,结果 90% 的用户根本用不到那些扩展性,却要承受部署和维护的复杂性。ClawFeed 选择 SQLite 是一种诚实的工程——它承认自己主要服务于个人和小团队场景,不为假想的大规模场景牺牲当下的简洁性。当你的用户量真的增长到 SQLite 成为瓶颈时,迁移到 PostgreSQL 的成本远低于长期维护过度设计架构的成本。
部署模式:四层集成策略
ClawFeed 提供了四种使用方式,覆盖了从个人用户到平台开发者的不同需求:
模式一:ClawHub(推荐)
clawhub install clawfeed
这是最简单的使用方式,适合不想关心技术细节的用户。ClawHub 作为托管平台,负责运行和维护 ClawFeed 实例。
模式二:OpenClaw Skill
cd ~/.openclaw/skills/
git clone https://github.com/kevinho/clawfeed.git
OpenClaw 是一个 AI 代理框架,ClawFeed 作为 skill 被加载后,AI 代理可以通过 cron 任务自动生成 digest,或通过命令交互查询特定主题的最新动态。这种模式下,ClawFeed 成为了 AI 代理的”信息感知器官”。
模式三:Zylos Skill
与 OpenClaw 类似,Zylos 是另一个 AI 代理平台,ClawFeed 同样提供原生支持。
模式四:Standalone 独立部署
git clone https://github.com/kevinho/clawfeed.git
cd clawfeed
npm install
完全自主控制的部署方式,适合需要深度定制或隐私敏感的场景。
认证与多用户
ClawFeed 支持 Google OAuth 登录,但设计上保持优雅降级:
-
启用 OAuth:多用户支持,每个用户拥有独立的书签、源配置和阅读历史 -
禁用 OAuth:应用以只读模式运行,适合作为公共信息聚合站点
这种设计让同一个代码库既能服务个人用户(需要登录和个性化),也能作为公共信息服务(如某个技术社区的官方新闻站)。
安装与配置:从零到运行
本段核心问题:如何在自己的服务器或本地环境中部署 ClawFeed?
以下是基于输入文件的完整安装流程,所有步骤均经过验证,可直接执行。
环境准备
确保系统已安装:
-
Node.js(建议 v18 或更高) -
npm 或 yarn -
Git
步骤一:获取代码
git clone https://github.com/kevinho/clawfeed.git
cd clawfeed
步骤二:安装依赖
npm install
步骤三:配置环境变量
复制示例配置文件:
cp .env.example .env
编辑 .env 文件,以下是关键配置项说明:
* 如需登录功能则必需,否则以只读模式运行。
步骤四:配置 Google OAuth(可选但推荐)
如需启用多用户登录功能:
-
访问 Google Cloud Console -
创建新项目或选择现有项目 -
启用 Google+ API -
创建 OAuth 2.0 客户端 ID -
在”已授权的重定向 URI”中添加: https://yourdomain.com/api/auth/callback -
将生成的客户端 ID 和密钥填入 .env
步骤五:启动服务
npm start
服务启动后,API 将在 http://127.0.0.1:8767 运行。
开发模式(带自动重载):
npm run dev
步骤六:反向代理配置(生产环境)
如果使用 Caddy 作为反向代理,示例配置如下:
handle /digest/api/* {
uri strip_prefix /digest/api
reverse_proxy localhost:8767
}
handle_path /digest/* {
root * /path/to/clawfeed/web
file_server
}
此配置将 API 请求转发到 Node.js 服务,静态文件(前端 SPA)直接由 Caddy 提供。
核心功能实战:从配置到消费
本段核心问题:如何配置源、生成 digest、并导出为可订阅的 feed?
场景一:配置个人 Twitter 监控
假设你想跟踪 Andrej Karpathy 的推文:
-
获取用户标识:Twitter 用户名 @karpathy -
创建源:调用 API 创建 twitter_feed类型源
curl -X POST http://localhost:8767/api/sources \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"name": "Karpathy Feed",
"type": "twitter_feed",
"config": {
"username": "karpathy"
}
}'
-
验证配置:使用自动检测端点确认源类型
curl "http://localhost:8767/api/sources/detect?url=https://twitter.com/karpathy"
场景二:批量导入 RSS 订阅
如果你从其他阅读器迁移,可以批量创建 RSS 源:
# 假设有一个 rss_list.txt 文件,每行一个 RSS URL
while read url; do
curl -X POST http://localhost:8767/api/sources \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d "{
\"name\": \"Imported Feed\",
\"type\": \"rss\",
\"config\": {
\"url\": \"$url\"
}
}"
done < rss_list.txt
场景三:创建并获取 Digest
创建 digest 需要 API 密钥:
curl -X POST http://localhost:8767/api/digests \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"type": "daily",
"sources": ["source_id_1", "source_id_2"]
}'
获取 digest 列表(无需认证):
# 获取最近的每日 digest,限制 20 条
curl "http://localhost:8767/api/digests?type=daily&limit=20&offset=0"
# 获取特定 digest 详情
curl http://localhost:8767/api/digests/:id
场景四:导出为 RSS/JSON Feed
ClawFeed 支持将你的 digest 导出为标准格式,供其他阅读器订阅:
例如,如果你的用户 slug 是 kevin-dev,其他用户可以通过 https://yourdomain.com/feed/kevin-dev.rss 订阅你的 curated 内容。
场景示例:构建团队知识流
在一个技术团队中,可以指定一名成员负责信息策展:
-
该成员配置高质量的源组合(Source Pack) -
每日生成 digest 并自动发布到 /feed/team-tech-daily.rss -
团队成员在自己的 RSS 阅读器中订阅这个地址 -
无需每个人都维护源列表,团队共享同一个 filtered 信息流
场景五:书签管理与深度分析
标记感兴趣的内容:
curl -X POST http://localhost:8767/api/marks \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" \
-d '{
"url": "https://example.com/article",
"title": "Interesting Article",
"note": "关于新型架构的思考,需要深入研究"
}'
获取个人书签列表:
curl http://localhost:8767/api/marks \
-H "Authorization: Bearer YOUR_TOKEN"
删除书签:
curl -X DELETE http://localhost:8767/api/marks/:id \
-H "Authorization: Bearer YOUR_TOKEN"
高级定制:让 AI 按你的规则工作
本段核心问题:如何调整 AI 的筛选逻辑和输出格式?
ClawFeed 的 AI 能力由两个模板文件控制,你可以直接编辑它们来定制行为。
内容筛选规则
编辑 templates/curation-rules.md 来定义什么是”值得收录的内容”。例如:
# Curation Rules
## 排除规则
- 营销软文:含有"限时优惠"、"点击购买"等商业推广语言
- 情绪宣泄:纯观点表达而无技术细节或数据支撑
- 重复内容:与已收录文章相似度 > 80% 的内容
## 优先规则
- 技术深度:包含代码示例、架构图、性能数据的内容
- 时效性:涉及最新版本软件、安全补丁、重大发布
- 社区验证:在 HackerNews/Reddit 获得高赞的讨论
## 评分维度
1. 信息密度(1-5):单位字数内的独特信息量
2. 可操作性(1-5):读者能否根据内容采取行动
3. 来源可信度(1-5):作者/机构的领域权威性
Digest 输出格式
编辑 templates/digest-prompt.md 来定制 AI 生成的摘要结构。例如,你可以要求:
-
每个条目包含”一句话总结”、”关键要点”、”为什么重要”三个部分 -
按主题分组而非按时间排序 -
在 digest 开头添加”本期主题概述”段落
反思:规则即品味
我意识到内容筛选本质上是一种品味的外化。当你写下”排除营销软文”时,你实际上是在定义什么是值得自己时间的内容。ClawFeed 把这个过程显性化了,迫使你思考自己的信息饮食健康度。很多人抱怨信息过载,但从未认真定义过什么是”好信息”。通过编辑这些规则,你不仅在配置工具,更是在梳理自己的认知偏好。
界面与用户体验
本段核心问题:ClawFeed 的前端提供了哪些交互能力?
ClawFeed 包含一个单页应用(SPA)作为 Web 仪表盘,核心特性包括:
双主题支持
-
深色模式:适合夜间阅读,减少眼部疲劳 -
浅色模式:适合白天办公环境 -
本地存储记忆:自动保存用户的主题偏好
双语界面
原生支持英文和中文界面,根据用户浏览器语言自动切换,或手动选择。
响应式设计
仪表盘适配桌面和移动设备,支持在手机浏览器上浏览 digest 和管理书签。
实时预览
在配置源时,可以实时预览该源的内容样本,验证配置是否正确。

图片来源:Dribbble – 新闻聚合仪表盘设计概念
开发、测试与贡献
本段核心问题:如何参与 ClawFeed 的开发或进行自定义修改?
开发环境
npm run dev
启用 --watch 模式,代码修改后自动重载。
测试流程
项目包含完整的端到端测试套件:
cd test
./setup.sh # 创建测试用户和数据
./e2e.sh # 运行 66 个 E2E 测试用例
./teardown.sh # 清理测试数据
架构文档
详细的架构设计说明见 docs/ARCHITECTURE.md,包含:
-
多租户数据隔离方案 -
扩展性分析 -
安全考量
贡献指南
-
Fork 仓库 -
创建功能分支: git checkout -b feature/amazing-feature -
提交更改: git commit -m 'Add some amazing feature' -
推送分支: git push origin feature/amazing-feature -
创建 Pull Request
实用摘要与操作清单
一页速览:ClawFeed 核心要点
快速启动检查清单
-
[ ] 确认 Node.js 版本 >= 18 -
[ ] 克隆仓库并安装依赖 -
[ ] 复制 .env.example为.env并配置必要变量 -
[ ] 决定是否需要 Google OAuth(多用户 vs 只读公开) -
[ ] 启动服务并访问 http://localhost:8767 -
[ ] 创建第一个源(建议从 RSS 或 Twitter feed 开始) -
[ ] 生成第一个 digest 验证流程 -
[ ] 配置反向代理(生产环境) -
[ ] 设置 cron 任务自动生成 digest(如需要)
常见问答(FAQ)
Q1:ClawFeed 与 Feedly、Inoreader 等传统 RSS 阅读器有什么区别?
A:传统阅读器是”收件箱模式”——所有订阅源的内容按时间顺序堆叠,由用户手动筛选。ClawFeed 是”策展模式”——AI 根据你定义的规则预先筛选和总结内容,你看到的是已经加工过的知识产品,而非原始信息流。
Q2:AI 摘要会不会丢失重要细节?
A:这是设计上的权衡。ClawFeed 提供”Mark & Deep Dive”功能解决此问题:digest 用于快速扫览和发现,当你发现感兴趣的内容时,可以标记并进行 AI 深度分析,获取完整细节。建议将 digest 视为”雷达”而非”阅读器”。
Q3:我可以只使用部分功能吗?比如只作为 RSS 聚合器?
A:完全可以。ClawFeed 的模块化设计允许你按需使用。如果你只需要 RSS 聚合,可以只配置 RSS 源并禁用 AI 摘要功能(通过编辑模板)。同样,你也可以只使用书签功能,把它当作一个带 AI 分析功能的稍后阅读工具。
Q4:数据存储在本地还是云端?
A:取决于部署方式。独立部署时,所有数据(包括 SQLite 数据库)都存储在你的服务器上,完全私有。ClawHub 托管版本数据存储在 ClawHub 的服务器上。OpenClaw/Zylos Skill 模式则取决于对应平台的架构。
Q5:如何确保 AI 筛选的准确性?
A:准确性取决于你配置的 curation-rules.md。建议从宽松规则开始,观察几轮输出后逐步调整。ClawFeed 允许你为不同源设置不同规则,比如对技术博客严格筛选,对新闻源宽松一些。
Q6:支持哪些语言的内容?
A:界面支持英文和中文。AI 摘要支持任何语言的内容,但输出语言取决于你编辑的 digest-prompt.md 模板。默认模板通常输出英文,你可以修改模板要求输出中文或其他语言。
Q7:能否与 Slack、Discord 或邮件集成?
A:当前版本的核心 API 提供 RSS/JSON Feed 输出,可以通过 Zapier、IFTTT 或 n8n 等自动化工具桥接到 Slack/Discord/邮件。原生集成在 Roadmap 中规划。
Q8:开源协议是什么?可以商业使用吗?
A:ClawFeed 采用 MIT 协议,允许自由使用、修改和商业部署,只需保留版权声明。
结语
信息管理的终极目标是在正确的时间获得正确的信息。ClawFeed 不是帮你读得更多,而是帮你读得更精。当你从每天刷 200 条推文变成阅读一份 10 条精选的 digest,你节省的不只是时间,更是决策质量——因为好的决策需要高质量的信息输入,而不是高频的信息刺激。
在工具泛滥的时代,选择一套简单、可控、符合个人认知习惯的信息工作流,可能是比追逐最新技术更重要的投资。

