名称: x-timeline-digest
版本: 1.0.2
描述: 使用 bird 从 X(Twitter)的“为你推荐”和“正在关注”时间线构建去重摘要。输出供上游工作流使用的数据载荷。
主页: https://github.com/seandong
元数据: {"openclaw":{"emoji":"🐦","requires":{"bins":["bird"]}}}
本技能使用 bird 读取 X/Twitter 时间线,并构建一份高信息密度的摘要。
数据源:
- “为你推荐”时间线
- “正在关注”时间线
处理流程:
1. 获取近期推文
2. 增量过滤(避免重复处理)
3. 去重(ID + 文本近似去重)
4. 排序与裁剪
5. 生成中文摘要
6. 输出结构化数据载荷
注意: 本技能不处理具体的通知投递(如 Telegram、邮件等)。
投递方式由上游的 OpenClaw 工作流决定。
所有配置均从 skills.entries["x-timeline-digest"].config 读取。
| 字段名 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| intervalHours | 数字 | 6 | 抓取时间窗口(小时) |
| fetchLimitForYou | 数字 | 100 | 从“为你推荐”获取的推文数量上限 |
| fetchLimitFollowing | 数字 | 60 | 从“正在关注”获取的推文数量上限 |
| maxItemsPerDigest | 数字 | 25 | 单份摘要包含的推文数量上限 |
| similarityThreshold | 数字 | 0.9 | 文本近似去重的相似度阈值 |
| statePath | 字符串 | ~/.openclaw/state/x-timeline-digest.json | 状态文件路径 |
bird 并确保其在 PATH 环境变量中。bird 必须已完成身份验证(通过 Cookie 登录)。运行摘要生成器,获取一份干净、去重后的 JSON 数据载荷:
node skills/x-timeline-digest/digest.js
生成“智能简报”(分类、总结、降噪):
1. 运行脚本:node skills/x-timeline-digest/digest.js > digest.json
2. 读取提示词模板:read skills/x-timeline-digest/PROMPT.md
3. 将提示词发送给你的大语言模型(LLM),并将 digest.json 的内容注入到 {{JSON_DATA}} 占位符处。
注:脚本在输出 JSON 前会自动应用启发式过滤(移除“gm”、广告、短垃圾内容)。
bird home -n <N> --jsonbird home --following -n <N> --json状态信息持久化存储在 statePath 指定的文件中。
{
"lastRunAt": "2026-02-01T00:00:00+08:00",
"sentTweetIds": {
"123456789": "2026-02-01T00:00:00+08:00"
}
}
sentTweetIds 中的推文 ID 不会被再次包含。lastRunAt。sentTweetIds。lastRunAt 进行增量过滤。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": "tweet text",
"url": "https://x.com/handle/status/123456",
"sources": ["following"]
}
]
}