| name | sweetlink |
| description | Use when the task needs a real authenticated browser tab via SweetLink for screenshots, smoke tests, or DevTools telemetry. |
| homepage | https://github.com/steipete/sweetlink |
| metadata | {"clawdbot":{"emoji":"🍭","requires":{"bins":["sweetlink"]},"install":[{"id":"node","kind":"node","package":"sweetlink","bins":["sweetlink"],"label":"Install SweetLink (pnpm)"}]}} |
SweetLink 🍭
Connect your AI agent to a real browser tab. Like Playwright, but works in your current tab.
Why SweetLink?
- Real browser — Automate your actual browser session (Chrome with DevTools)
- Auth preserved — Cookies/sessions from your profile carry over
- Loop closed — Agent can see what you see, interact with your tab
- Smoke tests — Verify web apps in real browser context
Install
cd ~/Develop/bjesuiter/sweetlink
pnpm install
pnpm build
pnpm add -g sweetlink
sweetlink trust-ca
Start Daemon
sweetlink daemon start
sweetlink daemon status
sweetlink daemon stop
Core Commands
Session Management
sweetlink session list
sweetlink session reconnect <session-id>
Browser Control
sweetlink browser open --profile default
sweetlink browser open --profile incognito
sweetlink browser status
Console & Network
sweetlink devtools console --tail 50
sweetlink devtools network --tail 50
sweetlink devtools clear
Screenshot & DOM
sweetlink screenshot --output screenshot.png
sweetlink dom snapshot --output dom.json
sweetlink dom query ".submit-button" --property textContent
Automation Prompts
Use with Codex, Claude, or Cursor once a session is live:
sweetlink dom query "#login-form" --exists
sweetlink dom click ".submit-btn"
sweetlink dom type "#email" "user@example.com"
sweetlink browser title
Workflow with AI Agents
1. Start SweetLink Daemon
sweetlink daemon start
sweetlink trust-ca
2. Open Browser Tab
sweetlink browser open --profile default
3. Navigate to target site
- Do this manually in the opened browser
- Authenticate if needed (cookies persist)
4. Agent can now automate
sweetlink dom query ".product-card" --property outerHTML
sweetlink screenshot --output products.png
sweetlink devtools console --tail 100
5. Reattach sessions
sweetlink session list
sweetlink session reconnect <session-id>
Example Use Cases
Smoke Test Web App
sweetlink browser open --profile default
sweetlink devtools console --tail 0
Screenshot Testing
sweetlink screenshot --full-page --output test.png
sweetlink dom query ".hero" --screenshot hero.png
Form Automation
sweetlink dom type "#name" "Test User"
sweetlink dom type "#email" "test@example.com"
sweetlink dom click "#submit"
sweetlink dom query "#success" --exists
API Reference
Daemon API (internal)
GET /api/sweetlink/status — Check daemon health + TLS trust
POST /api/sweetlink/session — Create new session
GET /api/sweetlink/sessions — List sessions
CLI Commands
| Command | Description |
|---|
sweetlink daemon start|stop|status | Manage daemon |
sweetlink browser open|close | Control browser |
sweetlink session list|reconnect | Manage sessions |
sweetlink devtools console|network | DevTools access |
sweetlink dom query|click|type|screenshot | DOM operations |
sweetlink screenshot | Capture screenshots |
Troubleshooting
Daemon won't start
lsof -i :4455
sweetlink daemon stop
sweetlink daemon start
TLS certificate not trusted
sweetlink trust-ca
open https://localhost:4455
Session disconnected
sweetlink session list
sweetlink session reconnect <session-id>
Related Skills
- oracle — Prompt bundler for multi-model runs (pairs well with SweetLink)
- browser — Clawdbot's built-in browser control
Notes
- SweetLink uses real Chrome/Chromium with DevTools Protocol
- Cookies/auth persist from your browser profile
- Works on macOS with Chrome or Chromium-based browsers
- TLS certificate required for daemon communication