X Timeline Digest
x-时间线摘要
概览
此技能使用 bird 读取 X/Twitter 时间线并构建高价值信息摘要。 来源:
- 为你推荐时间线
- 关注时间线 功能描述:
- 获取近期推文
- 增量过滤(避免重复处理)
- 去重(ID + 近似重复文本)
- 排序与精简
- 生成中文摘要
- 输出结构化数据负载
交付(Telegram、电子邮件等)不在此处理。 上游 OpenClaw 工作流决定如何通知用户。
配置
所有配置均读取自:skills.entries["x-timeline-digest"].config
配置字段
| 名称 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| intervalHours | 数字 | 6 | 间隔窗口(小时) |
| 为你获取推文的数量限制 | 数字 | 100 | 从"为你推荐"获取的推文 |
| 关注者获取推文的数量限制 | 数字 | 60 | 从"关注"获取的推文 |
| 每期摘要的最大推文数量 | 数字 | 25 | 一期摘要中的最大推文数 |
| 相似度阈值 | 数字 | 0.9 | 近重复推文的相似度阈值 |
| 状态文件路径 | 字符串 | ~/.openclaw/state/x-timeline-digest.json | 状态文件路径 |
依赖项
- bird 必须已安装并在 PATH 中可用
- bird 必须已完成身份验证(Cookie 登录)
- 只读用法
用法
1. 基础用法(原始JSON)
运行摘要生成器以获取干净、去重后的JSON数据负载:
node skills/x-timeline-digest/digest.js
2. 智能摘要(推荐)
要生成“智能简报”(分类、总结、去噪):
- 运行脚本:
node skills/x-timeline-digest/digest.js > digest.json - 阅读提示模板:
read skills/x-timeline-digest/PROMPT.md - 将提示发送给您的LLM,并将
digest.json的内容注入到{{JSON_DATA}}所在的位置。
注意:脚本在输出JSON之前会自动应用启发式过滤(移除“gm”、广告、短垃圾信息)。
使用的Bird命令
获取“为你推荐”时间线: bird home -n<N>--json 获取关注时间线: bird home --following -n<N>--json
状态管理
状态持久化至 statePath。
状态结构
{ "lastRunAt": "2026-02-01T00:00:00+08:00", "sentTweetIds": { "123456789": "2026-02-01T00:00:00+08:00" } }
规则
- 已存在于 sentTweetIds 中的推文不得再次包含
- 成功运行后:
- 更新 lastRunAt
- 将已推送的推文 ID 添加至 sentTweetIds
- ID 至少保留 30 天
处理流程
- 从 For You 和 Following 获取
- 使用 lastRunAt 进行增量筛选
- 通过推文 ID 进行硬去重
- 使用文本相似度进行近重复合并
- 排序并裁剪至 maxItemsPerDigest
- 生成分类中文摘要(通过 PROMPT.md + LLM)
- 分类:🤖 人工智能与科技, 💰 加密货币与市场, 💡 洞见, 🗞️ 其他
- 语言:简体中文
- 格式:作者:摘要
- 去噪:移除广告和低价值内容
输出
该技能返回一个JSON对象: { "window": { "start": "2026-02-01T00:00:00+08:00", "end": "2026-02-01T06:00:00+08:00", "intervalHours": 6 }, "counts": { "forYouFetched": 100, "followingFetched": 60, "afterIncremental": 34, "afterDedup": 26, "final": 20 }, "digestText": "中文摘要内容", "items": [ { "id": "123456", "author": "@handle", "createdAt": "2026-02-01T02:15:00+08:00", "text": "推文文本", "url": "https://x.com/handle/status/123456","sources": ["following"] } ] }



微信扫一扫,打赏作者吧~