Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Twitter Web AutoPoster

通过浏览器工具自动操作网页版 Twitter/X,完成热点爬取、推文撰写和一键发布。支持全自动模式(无需用户确认)和手动确认模式。

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 275 · 2 current installs · 2 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
技能名称与描述(网页登录并自动发推)与 SKILL.md 中的步骤完全一致:使用 platform 提供的 browser 工具打开 x.com、定位输入框、填写并点击发布、提取推文 URL。没有请求与发布推文无关的凭据、二进制或外部服务,行为与目的匹配。
Instruction Scope
说明文件明确限定通过 browser 工具在用户已登录的浏览器会话中操作,且在检测到登录页面会提示用户手动登录。需要注意的是:SKILL.md 支持“全自动模式(无需用户确认)”,并允许上传图片(browser upload),这意味着在用户允许下该技能可以直接在用户帐号上发布内容并读取用户要上传的本地文件。说明没有要求读取其他系统文件或环境变量。
Install Mechanism
无安装步骤、无外部下载或执行代码。因为是 instruction-only(只有 SKILL.md),不会在磁盘上写入 / 执行额外二进制,安装风险最低。
Credentials
技能不要求任何环境变量、凭据或配置路径。唯一隐含的能力是对浏览器会话(已登录的 X 账号)和可能的本地文件(用于图片上传)的访问,这与技能目的相符,但用户授权这些浏览器文件/会话时应保持谨慎。
Persistence & Privilege
技能未设置 always: true,也不请求修改其他技能或系统范围配置。默认允许模型自主调用(平台默认),但这并不意味着额外权限;用户仍需显式触发登录并同意上传文件/授权浏览器会话。
Assessment
这个 Skill 本质上只是一个“指导脚本”,指示代理如何用浏览器工具在已登录的 X/Twitter 网页上发帖: - 只有在你信任当前浏览器会话并愿意让代理操作页面时才启用。代理不会看到你的密码,但会在已登录会话下操作并可能直接在你的账号发布内容。 - 如果你不想让代理直接发帖,选择手动确认模式或要求每次都回显并让你确认。避免启用“全自动、无需确认”模式,除非你完全信任自动行为。 - 如果会上传图片,确认上传的文件不会泄露敏感信息;在不确定时先用测试/次要账号试验。 - 平台风控(频率限制、反机器人检测)可能导致失败;技能有重试限制以防被判为自动化滥用。若要更安全,先在测试账号上试运行几次。 总体来说,技能内容与其声明一致,但发布到你个人社交账号具有实质性后果——请在授权浏览器会话和允许自动发布前慎重考虑。

Like a lobster shell, security has layers — review code before you run it.

Current versionv0.1.0
Download zip
automationvk974htc9c1r8kad1f5g6vr3zd9827ht0browservk974htc9c1r8kad1f5g6vr3zd9827ht0latestvk974htc9c1r8kad1f5g6vr3zd9827ht0social-mediavk974htc9c1r8kad1f5g6vr3zd9827ht0twittervk974htc9c1r8kad1f5g6vr3zd9827ht0

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Twitter Web AutoPoster

概述

这个 Skill 告诉你(OpenClaw Agent)如何通过 浏览器工具 操作网页版 Twitter/X 来自动发推。 它假设用户已经在浏览器中登录了自己的 X 账号,或者可以在你提示后手动完成一次登录。

你不使用任何本地 CLI 或 API key,只通过 browser 工具驱动网页完成发帖流程。


何时触发

当用户出现以下意图时,应优先考虑使用本 Skill:

  • 「帮我发一条推特/推文」
  • 「自动在 X 上发帖 / 发短评」
  • 「围绕某个热点写一条推特并发布」
  • 「定期在 Twitter 上发总结」等

如果用户只想「写草稿,不一定要发」,可以只用语言模型写完文本,不调用本 Skill 的发帖部分。


前置假设

  • 用户在这台机器的浏览器里可以正常访问 https://x.com(或 https://twitter.com)。
  • 用户愿意在需要时手动完成一次登录(你只能提示,不能看到密码)。
  • Gateway 已启用 browser(openclaw-managed 或 chrome profile 均可)。

总体流程

当用户让你「自动发推」时,遵循以下步骤:

  1. 明确内容

    • 如果用户已经给出完整文案,直接使用那段文字。
    • 如果用户只给主题或大概方向:
      • 用大模型先生成 1~3 条候选推文(控制在 240 字符内)。
      • 根据用户偏好(语气、语言、是否带 hashtag)自动选择最合适的一条。
      • 如果用户特别强调「全自动」或「不用问我」,你可以直接选用,不必回显给用户确认;否则在发帖前简要复述一遍让用户确认。
  2. 启动浏览器会话

    • 通过 browser 工具,使用合适的 profile(推荐:openclaw)。
    • 如果当前没有打开 X 页面,先导航到:
      • https://x.com/compose/tweet
      • 无法访问时,可回退到 https://x.com/home 再寻找发帖入口。
  3. 处理登录

    • 如果页面显示登录要求(输入邮箱/手机号/密码或验证码):
      • 停止自动输入。
      • 通过聊天明确提示用户:"请在刚刚弹出的 X 页面中手动完成登录,完成后回复『已登录』,我会继续自动发帖。"
      • 收到用户「已登录」后,再重新调用 browser 工具刷新/重新打开发帖页面,继续下面步骤。
  4. 定位发帖输入框 使用 browser snapshot + browser act 的方式寻找:

    • 页面上 role 为 textbox、有 placeholder 类似:
      • "What is happening?!" / "有什么新鲜事?" / "发推文"
    • 或包含 aria-label:
      • "Post text" / "Tweet text" / "发推文文本"

    一旦定位到输入框:

    • 清空已有内容(如果有)。
    • 使用 type / fill 操作,将最终推文文本完整输入。
  5. 点击「发布」按钮

    • 再次通过 snapshot 找到:
      • 文本为 "Post"、"Tweet"、"发帖"、"发布" 的按钮,或
      • role 为 button 且 aria-label 中含有 "Post"、"发布" 等。
    • 使用 click 操作点击按钮。
    • 如遇短暂错误或按钮不可点击,可尝试:
      • 等待几秒再重试;
      • 重新 snapshot 校验按钮状态。
    • 不要进行超过 2~3 次的无意义重试,避免被判为异常行为。
  6. 确认是否发出

    • 观察发帖后页面变化:
      • 主页时间线顶部出现刚刚内容一致的推文,或
      • 页面跳转到包含这条推文详情的 URL(通常类似 https://x.com/<handle>/status/<id>)。
    • 通过浏览器地址栏或 DOM 链接元素,提取这条推文的 URL。
  7. 向用户回报结果

    • 在当前聊天中用自然语言汇报:
      • 成功/失败状态;
      • 最终发送的推文完整文本;
      • 推文 URL。
    • 如失败,说明:
      • 卡在哪一步(登录、找不到输入框、按钮点击失败、网络超时等);
      • 已尝试过哪些自动修复手段;
      • 需要用户如何配合(例如「请确认已成功登录 X 并重新让我发一次」)。

安全与风控

  • 内容安全:不得自动发送明显违法、煽动仇恨或暴力的内容。如用户指令存在风险,应先在聊天里提醒用户,并建议修改,实在不合规时拒绝发布。
  • 频率控制
    • 避免在极短时间内连续大量发推(例如几秒内多次发帖),以免触发平台风控。
    • 如用户要求「批量」或「定时」发帖,你可以:
      • 先生成所有文案;
      • 再按用户允许的频率每次执行一次浏览器发帖流程。
  • 重试策略
    • 网络或元素定位失败时,最多自动重试 1–2 次;
    • 超过后应停止重试,向用户说明情况,避免被判为机器人攻击行为。

示例调用场景

场景 1:用户给定完整文案

用户:帮我把这段英文当成推特发出去:「AI is changing global geopolitics faster than we can regulate it…」

你的行为:

  • 不再改写文案;
  • 直接走 2–7 步骤完成发帖;
  • 最后返回推文链接。

场景 2:用户只给主题,要求全自动

用户:帮我围绕今天的 AI 热点自动写一条英文推特并直接发出去,不用再问我确认。

你的行为:

  • 自己选取 1 个合适热点;
  • 生成推文文本;
  • 不再回显给用户确认,直接发帖;
  • 最后用一条总结消息说明你选择了哪个热点、发了什么内容、链接是什么。

场景 3:爬取热点 + 撰写 + 发布一体化

用户:帮我爬取推特热点,自己写推文,自己发布。

你的行为:

  • 先用 browser 打开 https://x.com/explore/tabs/trending,提取前 10 条热点话题;
  • 按优先级(AI/科技/国际政治经济 > 娱乐/体育)自行挑选 1 个主题;
  • 生成 1 条推文(≤240 字符,理性、有观点、可带 1-2 个 hashtag);
  • 直接发帖;
  • 回报:选用的热点、推文全文、推文 URL。

技术提示(给 Agent 自己看)

  • 优先使用 browser 工具,而不是尝试未经授权的 HTTP API。
  • 利用 snapshot --interactive 获取带 ref 的节点,然后用 click ref=.. / type ref=.. 等方式操作,避免依赖易变的 CSS 选择器。
  • 注意语言和 UI 可能是中文、英文或混合界面,要兼容多种 placeholder/aria-label 文本。
  • X/Twitter 的 compose 页面 URL 可能是 https://x.com/compose/tweethttps://x.com/compose/post,两种都尝试。
  • 如果用户要求附带图片,可以先用 browser upload 上传图片文件到推文编辑器的图片附件区域。

Files

2 total
Select a file
Select a file to preview.

Comments

Loading comments…