spool 是一个通过 OpenClaw 浏览器工具操作 Meta Threads(threads.net)的技能,适用于需要与 Threads 交互的场景,例如发帖、阅读、回复和搜索。
【用途】 使用 OpenClaw 的 browser 工具在 Threads 上执行常见操作:读取时间线、发布帖子、查看个人资料、搜索内容以及回复帖子。
【前置条件】
- 已启用浏览器工具的 OpenClaw
- openclaw 浏览器配置(browser profile)
- 已完成 Threads 账号登录
如果运行在无图形界面的 headless 服务器上,需要 Xvfb 虚拟显示:
- 安装并注册 Xvfb 服务:
sudo apt install -y xvfb
sudo tee /etc/systemd/system/xvfb.service << 'EOF'
[Unit]
Description=X Virtual Frame Buffer
After=network.target
[Service]
Type=simple
ExecStart=/usr/bin/Xvfb :99 -screen 0 1920x1080x24
Restart=always
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl enable --now xvfb
- 为 OpenClaw Gateway 添加 DISPLAY 环境变量:
mkdir -p ~/.config/systemd/user/openclaw-gateway.service.d
echo -e '[Service]\nEnvironment=DISPLAY=:99' > ~/.config/systemd/user/openclaw-gateway.service.d/display.conf
systemctl --user daemon-reload
systemctl --user restart openclaw-gateway
【登录(仅首次)】
browser action=start profile=openclaw
browser action=open profile=openclaw targetUrl="https://www.threads.net/login"
# 请用户手动登录
【使用方式】
- 读取时间线:
browser action=open profile=openclaw targetUrl="https://www.threads.net"
browser action=snapshot profile=openclaw compact=true
从结果中可查看每条帖子的作者、内容、点赞/评论数。
- 发帖(完整流程):
- 第 1 步:打开主页
browser action=open profile=openclaw targetUrl="https://www.threads.net"
browser action=snapshot profile=openclaw compact=true
- 第 2 步:在 snapshot 中找到包含 "What's new?" 或 "Empty text field" 的 button 的 ref,然后点击:
browser action=act profile=openclaw request={"kind":"click","ref":"e14"}
(ref 每次 snapshot 都不同,必须从 snapshot 中确认)
- 第 3 步:在对话框中输入文本,先 snapshot 找到 textbox 的 ref:
browser action=snapshot profile=openclaw compact=true
browser action=act profile=openclaw request={"kind":"type","ref":"e14","text":"帖子内容"}
- 第 4 步:点击 Post 按钮(ref 同样从 snapshot 确认):
browser action=act profile=openclaw request={"kind":"click","ref":"e22"}
- 第 5 步:确认,看到 "Posted" 文本和 "View" 链接即成功:
browser action=snapshot profile=openclaw compact=true
- 查看个人资料:
browser action=open profile=openclaw targetUrl="https://www.threads.net/@username"
browser action=snapshot profile=openclaw compact=true
- 搜索:
browser action=open profile=openclaw targetUrl="https://www.threads.net/search?q=搜索词"
browser action=snapshot profile=openclaw compact=true
- 回复帖子:
# 打开帖子
browser action=open profile=openclaw targetUrl="https://www.threads.net/@user/post/POSTID"
browser action=snapshot profile=openclaw compact=true
# 点击 Reply 按钮(确认 ref 后)
browser action=act profile=openclaw request={"kind":"click","ref":"<reply-ref>"}
# 输入文本并发布(与发帖相同)
【核心要点】
- 先 snapshot:所有操作前先用 snapshot 确认当前页面状态和 ref
- ref 每次都变:始终从 snapshot 结果中重新查找
- compact=true:始终使用以节省 token
- 保持 targetId:要在同一标签页操作时使用 targetId 参数
- 发帖前确认:先向用户确认内容再发布
【故障排查】
- browser 工具不可用:检查 Xvfb 是否运行、DISPLAY=:99 是否设置、重启 Gateway
- 未登录:跳转到 /login 页面后请用户手动登录
- 找不到 ref:重新 snapshot,查找相似文本/按钮
- 发帖失败:检查 Post 按钮是否处于 disabled 状态(需要先输入文本)
【限制】 该技能依赖 OpenClaw 浏览器工具与已登录的 Threads 账号,headless 环境还需额外配置 Xvfb;所有元素 ref 均需实时从 snapshot 获取,无法硬编码。