spool
OpenClaw browser 도구로 Threads (threads.net) 조작하기.
Prerequisites
환경 요구사항
- - OpenClaw with browser tool enabled
- INLINECODE0 browser profile
- Threads 계정 로그인 완료
Headless 서버인 경우 (GUI 없음)
Xvfb 가상 디스플레이 필요:
CODEBLOCK0
로그인 (처음 한 번만)
CODEBLOCK1
사용법
1. 타임라인 읽기
CODEBLOCK2
결과에서 각 게시물의 작성자, 내용, 좋아요/댓글 수 확인 가능.
2. 포스팅 (전체 플로우)
Step 1: 홈으로 이동
CODEBLOCK3
Step 2: "What's new?" 버튼 찾아서 클릭
snapshot에서 "What's new?" 또는 "Empty text field" 포함된 button의 ref 찾기
browser action=act profile=openclaw request={"kind":"click","ref":"e14"}
(ref는 snapshot마다 다름! 반드시 snapshot에서 확인)
Step 3: 다이얼로그에서 텍스트 입력
browser action=snapshot profile=openclaw compact=true
textbox ref 찾아서:
CODEBLOCK6
Step 4: Post 버튼 클릭
browser action=act profile=openclaw request={"kind":"click","ref":"e22"}
(Post 버튼 ref도 snapshot에서 확인)
Step 5: 확인
browser action=snapshot profile=openclaw compact=true
→ "Posted" 텍스트와 "View" 링크가 보이면 성공!
3. 프로필 보기
CODEBLOCK9
4. 검색
CODEBLOCK10
5. 답글 달기
CODEBLOCK11
핵심 포인트
- 1. snapshot 먼저! - 모든 작업 전에 snapshot으로 현재 페이지 상태와 ref 확인
- ref는 매번 달라짐 - snapshot 결과에서 항상 새로 찾기
- compact=true - 토큰 절약을 위해 항상 사용
- targetId 유지 - 같은 탭에서 작업하려면 targetId 파라미터 사용
- 포스팅 전 확인 - 사용자에게 내용 확인받고 포스팅
트러블슈팅
| 문제 | 해결 |
|---|
| browser 도구 안 됨 | Xvfb 실행 확인, DISPLAY=:99 설정 확인, Gateway 재시작 |
| 로그인 안 됨 |
/login 페이지로 이동 후 수동 로그인 요청 |
| ref 못 찾음 | snapshot 다시 찍고 비슷한 텍스트/버튼 찾기 |
| 포스팅 안 됨 | Post 버튼이 disabled인지 확인 (텍스트 입력 필요) |
spool
使用 OpenClaw 浏览器工具操作 Threads (threads.net)。
前置条件
环境要求
- - 已启用浏览器工具的 OpenClaw
- openclaw 浏览器配置文件
- Threads 账号已登录
无图形界面的服务器环境
需要 Xvfb 虚拟显示器:
bash
1. 安装 Xvfb 并注册服务
sudo apt install -y xvfb
sudo tee /etc/systemd/system/xvfb.service << EOF
[Unit]
Description=X 虚拟帧缓冲
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
2. 为 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
要求用户手动登录
使用方法
1. 读取时间线
browser action=open profile=openclaw targetUrl=https://www.threads.net
browser action=snapshot profile=openclaw compact=true
在结果中可查看每条帖子的作者、内容、点赞/评论数。
2. 发帖(完整流程)
步骤 1:前往首页
browser action=open profile=openclaw targetUrl=https://www.threads.net
browser action=snapshot profile=openclaw compact=true
步骤 2:找到并点击 Whats new? 按钮
在 snapshot 中找到包含 Whats new? 或 Empty text field 的按钮的 ref
browser action=act profile=openclaw request={kind:click,ref:e14}
(ref 每次 snapshot 都不同!务必在 snapshot 中确认)
步骤 3:在对话框中输入文本
browser action=snapshot profile=openclaw compact=true
找到 textbox 的 ref 后:
browser action=act profile=openclaw request={kind:type,ref:e14,text:帖子内容}
步骤 4:点击 Post 按钮
browser action=act profile=openclaw request={kind:click,ref:e22}
(Post 按钮的 ref 也需在 snapshot 中确认)
步骤 5:确认
browser action=snapshot profile=openclaw compact=true
→ 如果看到 Posted 文本和 View 链接,则发帖成功!
3. 查看个人资料
browser action=open profile=openclaw targetUrl=https://www.threads.net/@用户名
browser action=snapshot profile=openclaw compact=true
4. 搜索
browser action=open profile=openclaw targetUrl=https://www.threads.net/search?q=搜索词
browser action=snapshot profile=openclaw compact=true
5. 回复帖子
打开帖子
browser action=open profile=openclaw targetUrl=https://www.threads.net/@用户/post/帖子ID
browser action=snapshot profile=openclaw compact=true
点击 Reply 按钮(确认 ref 后)
browser action=act profile=openclaw request={kind:click,ref:
}
输入文本并发布(与发帖相同)
核心要点
- 1. 先拍 snapshot! - 所有操作前先用 snapshot 查看当前页面状态和 ref
- ref 每次都会变化 - 始终从 snapshot 结果中重新查找
- compact=true - 为节省令牌始终使用
- 保持 targetId - 如需在同一标签页操作,使用 targetId 参数
- 发帖前确认 - 让用户确认内容后再发帖
故障排除
| 问题 | 解决方法 |
|---|
| 浏览器工具无法使用 | 检查 Xvfb 是否运行,确认 DISPLAY=:99 设置,重启 Gateway |
| 未登录 |
跳转到 /login 页面后要求手动登录 |
| 找不到 ref | 重新拍 snapshot,查找相似的文本/按钮 |
| 发帖失败 | 检查 Post 按钮是否处于禁用状态(需要先输入文本) |