← Back to Skills
Browser

spool

zizi-cat By zizi-cat 👁 14 views ▲ 0 votes

Threads CLI - Read, post, reply, and search on Meta's Threads using OpenClaw.

GitHub
---
name: spool
description: "Threads CLI - Read, post, reply, and search on Meta's Threads using OpenClaw browser tool. Use when the user wants to interact with Threads: posting, reading timeline, viewing profiles, replying to threads, or searching."
homepage: https://github.com/zizi-cat/spool
metadata: {"clawdhub":{"emoji":"๐Ÿงต"}}
---

# spool

OpenClaw browser ๋„๊ตฌ๋กœ Threads (threads.net) ์กฐ์ž‘ํ•˜๊ธฐ.

## Prerequisites

### ํ™˜๊ฒฝ ์š”๊ตฌ์‚ฌํ•ญ
- OpenClaw with browser tool enabled
- `openclaw` browser profile
- Threads ๊ณ„์ • ๋กœ๊ทธ์ธ ์™„๋ฃŒ

### Headless ์„œ๋ฒ„์ธ ๊ฒฝ์šฐ (GUI ์—†์Œ)

Xvfb ๊ฐ€์ƒ ๋””์Šคํ”Œ๋ ˆ์ด ํ•„์š”:

```bash
# 1. 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

# 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. ํฌ์ŠคํŒ… (์ „์ฒด ํ”Œ๋กœ์šฐ)

**Step 1: ํ™ˆ์œผ๋กœ ์ด๋™**
```
browser action=open profile=openclaw targetUrl="https://www.threads.net"
browser action=snapshot profile=openclaw compact=true
```

**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 ์ฐพ์•„์„œ:
```
browser action=act profile=openclaw request={"kind":"type","ref":"e14","text":"ํฌ์ŠคํŒ… ๋‚ด์šฉ"}
```

**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. ํ”„๋กœํ•„ ๋ณด๊ธฐ

```
browser action=open profile=openclaw targetUrl="https://www.threads.net/@username"
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/@user/post/POSTID"
browser action=snapshot profile=openclaw compact=true

# Reply ๋ฒ„ํŠผ ํด๋ฆญ (ref ํ™•์ธ ํ›„)
browser action=act profile=openclaw request={"kind":"click","ref":"<reply-ref>"}

# ํ…์ŠคํŠธ ์ž…๋ ฅ ๋ฐ ๊ฒŒ์‹œ (ํฌ์ŠคํŒ…๊ณผ ๋™์ผ)
```

---

## ํ•ต์‹ฌ ํฌ์ธํŠธ

1. **snapshot ๋จผ์ €!** - ๋ชจ๋“  ์ž‘์—… ์ „์— snapshot์œผ๋กœ ํ˜„์žฌ ํŽ˜์ด์ง€ ์ƒํƒœ์™€ ref ํ™•์ธ
2. **ref๋Š” ๋งค๋ฒˆ ๋‹ฌ๋ผ์ง** - snapshot ๊ฒฐ๊ณผ์—์„œ ํ•ญ์ƒ ์ƒˆ๋กœ ์ฐพ๊ธฐ
3. **compact=true** - ํ† ํฐ ์ ˆ์•ฝ์„ ์œ„ํ•ด ํ•ญ์ƒ ์‚ฌ์šฉ
4. **targetId ์œ ์ง€** - ๊ฐ™์€ ํƒญ์—์„œ ์ž‘์—…ํ•˜๋ ค๋ฉด targetId ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ
5. **ํฌ์ŠคํŒ… ์ „ ํ™•์ธ** - ์‚ฌ์šฉ์ž์—๊ฒŒ ๋‚ด์šฉ ํ™•์ธ๋ฐ›๊ณ  ํฌ์ŠคํŒ…

---

## ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

| ๋ฌธ์ œ | ํ•ด๊ฒฐ |
|------|------|
| browser ๋„๊ตฌ ์•ˆ ๋จ | Xvfb ์‹คํ–‰ ํ™•์ธ, DISPLAY=:99 ์„ค์ • ํ™•์ธ, Gateway ์žฌ์‹œ์ž‘ |
| ๋กœ๊ทธ์ธ ์•ˆ ๋จ | `/login` ํŽ˜์ด์ง€๋กœ ์ด๋™ ํ›„ ์ˆ˜๋™ ๋กœ๊ทธ์ธ ์š”์ฒญ |
| ref ๋ชป ์ฐพ์Œ | snapshot ๋‹ค์‹œ ์ฐ๊ณ  ๋น„์Šทํ•œ ํ…์ŠคํŠธ/๋ฒ„ํŠผ ์ฐพ๊ธฐ |
| ํฌ์ŠคํŒ… ์•ˆ ๋จ | Post ๋ฒ„ํŠผ์ด disabled์ธ์ง€ ํ™•์ธ (ํ…์ŠคํŠธ ์ž…๋ ฅ ํ•„์š”) |
browser

Comments

Sign in to leave a comment

Loading comments...