站点图标 高效码农

ClawFeed深度解析:用AI告别信息过载,4步打造你的精准知识流

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 小时 跟踪热点事件、股市动态、安全漏洞 短平快,聚焦突发新闻
每日 行业日报、技术趋势跟踪 平衡深度与广度,适合晨读
每周 深度复盘、技术周报 整合分散信息,发现模式
每月 战略回顾、长期趋势分析 宏观视角,过滤短期噪音

这种设计的精妙之处在于认知节奏匹配。4 小时 digest 适合放在第二个显示器上实时扫一眼,每日 digest 适合通勤时阅读,每周 digest 则适合周末深度思考。你不需要在所有时间段都保持”在线”状态,而是在合适的时间消费合适密度的信息。

多源支持体系

ClawFeed 内置了九种数据源类型,覆盖了技术从业者最常用的信息渠道:

源类型 配置示例 典型使用场景
twitter_feed @karpathy 跟踪特定技术领袖的动态
twitter_list 列表 URL 批量关注一个主题下的多个账号
rss 任意 RSS/Atom 地址 订阅独立博客或新闻站点
hackernews 首页/Show HN 获取技术社区热点
reddit /r/MachineLearning 跟踪垂直社区讨论
github_trending language=python 发现新兴开源项目
website 任意网站 URL 抓取没有 RSS 的页面
digest_feed 其他用户的 slug 订阅社区 curated 内容
custom_api JSON 端点 接入内部系统或自定义数据源

场景示例:独立开发者的信息工作台

假设你是一名独立开发者,关注 AI 基础设施和开源工具。你可以这样配置:

  1. 高频跟踪:添加 @karpathy@ylecun 的 Twitter feed,设置 4 小时 digest,确保第一时间了解行业大佬的观点
  2. 技术雷达:订阅 HackerNews 首页和 /r/MachineLearning,每日 digest 掌握社区热点
  3. 项目发现:配置 github_trending 源,语言设为 Python 和 Rust,每周 digest 发现值得研究的新项目
  4. 深度阅读:添加几个高质量的独立技术博客 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 提供了完整的书签与深度分析工作流:

  1. 快速标记:在阅读 digest 时,点击 bookmark 保存感兴趣的内容
  2. 添加笔记:为书签添加个人注释,记录当时的思考
  3. 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_CLIENT_ID Google OAuth 客户端 ID 否*
GOOGLE_CLIENT_SECRET Google OAuth 客户端密钥 否*
SESSION_SECRET 会话加密密钥 否*
API_KEY 创建 digest 的 API 密钥
DIGEST_PORT 服务端口 8767
ALLOWED_ORIGINS CORS 允许的来源 localhost

* 如需登录功能则必需,否则以只读模式运行。

步骤四:配置 Google OAuth(可选但推荐)

如需启用多用户登录功能:

  1. 访问 Google Cloud Console
  2. 创建新项目或选择现有项目
  3. 启用 Google+ API
  4. 创建 OAuth 2.0 客户端 ID
  5. 在”已授权的重定向 URI”中添加:https://yourdomain.com/api/auth/callback
  6. 将生成的客户端 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 的推文:

  1. 获取用户标识:Twitter 用户名 @karpathy
  2. 创建源:调用 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"
    }
  }'
  1. 验证配置:使用自动检测端点确认源类型
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 导出为标准格式,供其他阅读器订阅:

格式 URL 模式 用途
HTML 页面 /feed/:slug 直接浏览器阅读
JSON Feed /feed/:slug.json 现代阅读器集成
RSS 2.0 /feed/:slug.rss 传统 RSS 阅读器

例如,如果你的用户 slug 是 kevin-dev,其他用户可以通过 https://yourdomain.com/feed/kevin-dev.rss 订阅你的 curated 内容。

场景示例:构建团队知识流

在一个技术团队中,可以指定一名成员负责信息策展:

  1. 该成员配置高质量的源组合(Source Pack)
  2. 每日生成 digest 并自动发布到 /feed/team-tech-daily.rss
  3. 团队成员在自己的 RSS 阅读器中订阅这个地址
  4. 无需每个人都维护源列表,团队共享同一个 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,包含:

  • 多租户数据隔离方案
  • 扩展性分析
  • 安全考量

贡献指南

  1. Fork 仓库
  2. 创建功能分支:git checkout -b feature/amazing-feature
  3. 提交更改:git commit -m 'Add some amazing feature'
  4. 推送分支:git push origin feature/amazing-feature
  5. 创建 Pull Request

实用摘要与操作清单

一页速览:ClawFeed 核心要点

维度 关键信息
定位 AI 驱动的新闻聚合与摘要工具
核心功能 多源聚合、智能筛选、多频率 digest、书签管理
支持源 Twitter、RSS、HackerNews、Reddit、GitHub Trending 等 9 种
部署方式 ClawHub 托管、OpenClaw Skill、Zylos Skill、独立部署
技术栈 Node.js、SQLite、SPA 前端
认证 Google OAuth(可选,禁用则为只读模式)
输出格式 HTML、JSON Feed、RSS
定制能力 筛选规则模板、Digest 格式模板

快速启动检查清单

  • [ ] 确认 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,你节省的不只是时间,更是决策质量——因为好的决策需要高质量的信息输入,而不是高频的信息刺激。

在工具泛滥的时代,选择一套简单、可控、符合个人认知习惯的信息工作流,可能是比追逐最新技术更重要的投资。

退出移动版