OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  x-timeline-digest:为 X (Twitter) 的“为你推荐”生成去重摘要

x-timeline-digest:为 X (Twitter) 的“为你推荐”生成去重摘要

 
  library ·  2026-02-22 10:24:34 · 3 次点击  · 0 条评论  

名称: x-timeline-digest
版本: 1.0.2
描述: 使用 bird 从 X(Twitter)的“为你推荐”和“正在关注”时间线构建去重摘要。输出供上游工作流使用的数据载荷。
主页: https://github.com/seandong
元数据: {"openclaw":{"emoji":"🐦","requires":{"bins":["bird"]}}}


x-timeline-digest

概述

本技能使用 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 登录)。
  • 本技能为只读操作。

使用方法

1. 基础用法(原始 JSON)

运行摘要生成器,获取一份干净、去重后的 JSON 数据载荷:

node skills/x-timeline-digest/digest.js

2. 智能摘要(推荐)

生成“智能简报”(分类、总结、降噪):
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 命令

  • 为你推荐时间线: 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 中的推文 ID 不会被再次包含。
  • 每次成功运行后:
  • 更新 lastRunAt
  • 将本次推送的推文 ID 添加到 sentTweetIds
  • 保留 ID 至少 30 天。

处理流水线

  1. 从“为你推荐”和“正在关注”时间线抓取数据。
  2. 使用 lastRunAt 进行增量过滤。
  3. 基于推文 ID 进行硬去重。
  4. 使用文本相似度进行近似去重与合并。
  5. 排序并裁剪至 maxItemsPerDigest 条。
  6. 生成分类中文摘要(通过 PROMPT.md + LLM):
    • 分类: 🤖 AI 与科技、💰 加密与市场、💡 深度见解、🗞️ 其他
    • 语言: 简体中文
    • 格式: 作者: 摘要
    • 降噪: 移除广告和低价值内容。

输出

本技能返回一个 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"]
    }
  ]
}
3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor