返回顶部
t

twitter-watch-reply推特监控回复

使用 6551 Twitter/X 接口监控指定账号的新推文,并基于推文内容生成 AI 回复草稿;在半自动模式下,先给出候选回复,待用户确认后再通过已登录的浏览器自动回复。用于:监控某些账号、发现其新推、生成评论、人工确认后回复、避免重复回复、管理 watchlist 和状态文件。依赖环境变量 TWITTER_TOKEN 访问 6551 接口。默认把数据写到 workspace 下的 data/twitter-watch-reply;也可用 OPENCLAW_WORKSPACE 或 TWITTER_WATCH_REPLY_DATA_DIR 覆盖路径。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.2
安全检测
已通过
349
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

twitter-watch-reply

twitter-watch-reply

使用此技能实现 AA 模式(6551 监控版)

  • - 6551 负责监控指定账号的最新推文
  • Agent 负责判断是否为新推文并生成回复草稿
  • 用户确认后,再通过浏览器自动化发送回复

适用范围

仅支持 半自动 模式:

  1. 1. 使用 6551 获取目标账号的最新推文
  2. 过滤已处理的推文/转发/不想回复的内容
  3. 为每条新推文生成 1~3 条回复候选
  4. 等待用户明确确认某条候选回复
  5. 使用浏览器已登录状态进行回复

默认不启用全自动发送功能。

6551 Token 配置说明

本技能的 Twitter/X 监控功能依赖 6551 接口,运行时通过环境变量 TWITTER_TOKEN 读取 token。

token 获取方式

按照 6551 / opentwitter 的约定,从以下地址获取:

  • - https://6551.io/mcp

配置方法

在运行本技能的同一终端/同一调度环境中设置:

bash
export TWITTER_TOKEN=你的6551token

然后运行:

bash
python3 skills/twitter-watch-reply/scripts/doctor.py

注意事项

  • - 请勿将 token 硬编码到技能文件中
  • 请勿将 token 提交到 Git 仓库
  • 请勿在聊天中直接发送 token 明文
  • 如果使用 cron / launchd / 其他调度器,需确保对应运行环境也能读取到 TWITTER_TOKEN

未配置 token 时的表现

  • - doctor.py 会提示 TWITTERTOKEN missing
  • fetchlatest_tweets.py 会直接退出并报错,不会伪装成没有新推文

依赖项

必需条件:

  • - 环境变量 TWITTER_TOKEN
  • 可访问 6551 接口 https://ai.6551.io
  • 用于最终发送回复的已登录 X 浏览器会话

文件结构

  • - skills/twitter-watch-reply/references/config-example.json:配置示例
  • skills/twitter-watch-reply/scripts/watchstate.py:管理监控列表/状态/去重
  • skills/twitter-watch-reply/scripts/fetchlatesttweets.py:通过 6551 获取最新推文并筛选出新推文
  • skills/twitter-watch-reply/scripts/pickpendingtweet.py:读取当前待处理的推文
  • skills/twitter-watch-reply/scripts/renderalert.py:为新推文生成通用提醒载荷(新推文内容 + 候选回复 + 通知配置)
  • skills/twitter-watch-reply/scripts/renderalerttext.py:将提醒载荷渲染为适合聊天渠道发送的纯文本格式
  • skills/twitter-watch-reply/scripts/mark_notified.py:标记某条推文已提醒,避免重复通知
  • skills/twitter-watch-reply/references/reply-generation.md:生成回复候选的规范
  • skills/twitter-watch-reply/references/host-adapter.md:宿主如何接入通用通知层并真正发送消息
  • data/twitter-watch-reply/config.json:用户配置
  • data/twitter-watch-reply/state.json:运行状态

如果 config.json 不存在,请先初始化再修改配置。

默认流程

1. 初始化配置

bash
python3 skills/twitter-watch-reply/scripts/watch_state.py init

2. 使用 6551 获取最新推文

bash
python3 skills/twitter-watch-reply/scripts/fetchlatesttweets.py

脚本会:

  • - 读取 config.json
  • 对 authors 中的每个账号优先调用 6551 的 twitterusertweets,失败时自动回退到 twitter_search + fromUser
  • 过滤已处理的推文 ID
  • 根据配置跳过回复/转发
  • 输出待处理的新推文列表

3. 生成回复草稿

首先运行:

bash
python3 skills/twitter-watch-reply/scripts/pickpendingtweet.py

然后按照 references/reply-generation.md 的规范,为待处理的推文生成 3 条候选回复。

每条新推文默认生成 3 条候选回复:

  • - 朋友互动版
  • 技术点评版
  • 高情商简洁版

生成时需遵守配置:

  • - tone(语气)
  • language(语言)
  • topicsAllow(允许的话题)
  • blockedWords(屏蔽词)
  • maxReplyPerAuthorPerDay(每个作者每日最大回复数)
  • maxTotalReplyPerDay(每日总回复上限)

4. 主动提醒(通用通知层)

首先运行:

bash
python3 skills/twitter-watch-reply/scripts/render_alert.py

该脚本会输出一份提醒载荷:

  • - 新推文内容
  • 链接
  • 3 条候选回复
  • notify 配置

此步骤的设计目标是实现 通用通知,而不是硬编码到某个 Telegram 群组。

推荐由宿主环境根据 notify.channel / notify.target / notify.threadId 决定发送到:

  • - Telegram
  • Discord
  • Slack
  • Signal
  • 其他 OpenClaw 已接入的消息渠道

5. 等待确认后通过浏览器回复

只有在用户明确表示发送第 N 条或给出明确的修改意见时,才进入发送步骤。

发送前需再次确认:

  • - 当前账号是否已登录
  • 回复框是否可编辑
  • 当前推文是否尚未回复过

发送成功后更新 state.json:

  • - 记录推文 ID
  • 记录发送时间
  • 记录使用的回复文本

常用命令

安装前自检

bash
python3 skills/twitter-watch-reply/scripts/doctor.py

自检会检查:

  • - TWITTER_TOKEN 是否存在(不显示明文)
  • config.json / state.json 是否存在且格式正确
  • 6551 基础连通性是否正常

如果 config.json / state.json 不存在,请先运行:

bash
python3 skills/twitter-watch-reply/scripts/watch_state.py init

初始化/查看配置

bash
python3 skills/twitter-watch-reply/scripts/watch_state.py init
python3 skills/twitter-watch-reply/scripts/watch_state.py show-config

添加/删除监控账号

bash
python3 skills/twitter-watch-reply/scripts/watch_state.py add-author jakevin7
python3 skills/twitter-watch-reply/scripts/watch_state.py remove-author jakevin7
python3 skills/twitter-watch-reply/scripts/watch_state.py list-authors

检查新推文

bash
python3 skills/twitter-watch-reply/scripts/fetchlatesttweets.py
python3 skills/twitter-watch-reply/scripts/fetchlatesttweets.py --author jakevin7
python3 skills/twitter-watch-reply/scripts/pickpendingtweet.py
python3 skills/twitter-watch-reply/scripts/render_alert.py

标记与去重

bash
python3 skills/twitter-watch-reply/scripts/watch_state.py seen 2030857515660132533
python3 skills/twitter-watch-reply/scripts/watch_state.py was-seen 2030857515660132533

实操建议

  • - 第一版仅监控 1~5 个账号
  • 严格限制每日回复数量
  • 半自动确认是默认模式,请勿省略
  • 如果 twitterusertweets 失败,自动回退到 twitter_search fromUser;两者都失败时再报错,不要伪造无新推文
  • 如果浏览器登录状态失效,明确报错,不要虚假报告成功

后续扩展

后续如需升级,可增加:

  • - cron / 定时触发
  • Telegram 通知待确认回复
  • 关键词白名单
  • 自动跳过低价值推文

通用化约定

  • - 不要假设固定的机器路径。脚本默认根据自身目录推导工作空间。
  • 如需自定义工作空间,设置 OPENCLAWWORKSPACE。
  • 如需自定义数据目录,设置 TWITTERWATCHREPLYDATADIR。
  • 定时轮询由外部调度器负责;技能仅提供 runwatch_loop.sh 作为示例,不强绑定某个用户的 launchd/cron。

通用通知边界

  • - 本技能仅负责生成提醒载荷,不会将某个渠道硬编码到脚本中。
  • 真正的主动发送动作,应由宿主环境

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 twitter-watch-reply-1776186543 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 twitter-watch-reply-1776186543 技能

通过命令行安装

skillhub install twitter-watch-reply-1776186543

下载

⬇ 下载 twitter-watch-reply v0.1.2(免费)

文件大小: 17.89 KB | 发布时间: 2026-4-15 10:49

v0.1.2 最新 2026-4-15 10:49
Add generic notification-layer docs, host adapter reference, alert text rendering, and notified-state dedupe helpers.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部