sweetlink

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SweetLink 🍭

SweetLink 🍭

Connect your AI agent to a real browser tab. Like Playwright, but works in your current tab.
将你的AI Agent连接到真实的浏览器标签页。类似Playwright,但可在你当前的标签页中运行。

Why SweetLink?

为什么选择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
  • 真实浏览器 — 自动化你的实际浏览器会话(搭配DevTools的Chrome)
  • 身份验证留存 — 浏览器配置文件中的Cookies/会话会被保留
  • 闭环交互 — Agent可以看到你所看到的内容,并与你的标签页进行交互
  • 冒烟测试 — 在真实浏览器环境中验证Web应用

Install

安装

bash
undefined
bash
undefined

From source (requires pnpm)

从源码安装(需要pnpm)

cd ~/Develop/bjesuiter/sweetlink pnpm install pnpm build
cd ~/Develop/bjesuiter/sweetlink pnpm install pnpm build

Or globally

或全局安装

pnpm add -g sweetlink
pnpm add -g sweetlink

Trust CA for TLS

信任TLS证书颁发机构

sweetlink trust-ca
undefined
sweetlink trust-ca
undefined

Start Daemon

启动守护进程

bash
undefined
bash
undefined

Start the SweetLink daemon (runs on https://localhost:4455)

启动SweetLink守护进程(运行在https://localhost:4455)

sweetlink daemon start
sweetlink daemon start

Check status

检查状态

sweetlink daemon status
sweetlink daemon status

Stop daemon

停止守护进程

sweetlink daemon stop
undefined
sweetlink daemon stop
undefined

Core Commands

核心命令

Session Management

会话管理

bash
undefined
bash
undefined

List active sessions

列出活跃会话

sweetlink session list
sweetlink session list

Reconnect after hot reload

热重载后重新连接

sweetlink session reconnect <session-id>
undefined
sweetlink session reconnect <session-id>
undefined

Browser Control

浏览器控制

bash
undefined
bash
undefined

Open browser with DevTools (from main profile)

打开带DevTools的浏览器(使用主配置文件)

sweetlink browser open --profile default
sweetlink browser open --profile default

Open incognito profile

打开隐身模式配置文件

sweetlink browser open --profile incognito
sweetlink browser open --profile incognito

Get browser status

获取浏览器状态

sweetlink browser status
undefined
sweetlink browser status
undefined

Console & Network

控制台与网络

bash
undefined
bash
undefined

Tail console logs (last 50 entries)

跟踪控制台日志(最近50条)

sweetlink devtools console --tail 50
sweetlink devtools console --tail 50

Tail network requests

跟踪网络请求

sweetlink devtools network --tail 50
sweetlink devtools network --tail 50

Clear buffers

清除缓冲区

sweetlink devtools clear
undefined
sweetlink devtools clear
undefined

Screenshot & DOM

截图与DOM操作

bash
undefined
bash
undefined

Capture screenshot

捕获截图

sweetlink screenshot --output screenshot.png
sweetlink screenshot --output screenshot.png

Get DOM snapshot

获取DOM快照

sweetlink dom snapshot --output dom.json
sweetlink dom snapshot --output dom.json

Query element (CSS selector)

查询元素(CSS选择器)

sweetlink dom query ".submit-button" --property textContent
undefined
sweetlink dom query ".submit-button" --property textContent
undefined

Automation Prompts

自动化提示

Use with Codex, Claude, or Cursor once a session is live:
bash
undefined
会话启动后,可搭配Codex、Claude或Cursor使用:
bash
undefined

Example: Check if element exists

示例:检查元素是否存在

sweetlink dom query "#login-form" --exists
sweetlink dom query "#login-form" --exists

Example: Click button

示例:点击按钮

sweetlink dom click ".submit-btn"
sweetlink dom click ".submit-btn"

Example: Type in input

示例:在输入框中输入内容

sweetlink dom type "#email" "user@example.com"
sweetlink dom type "#email" "user@example.com"

Example: Get page title

示例:获取页面标题

sweetlink browser title
undefined
sweetlink browser title
undefined

Workflow with AI Agents

与AI Agent搭配的工作流

1. Start SweetLink Daemon

1. 启动SweetLink守护进程

bash
sweetlink daemon start
sweetlink trust-ca  # First time only
bash
sweetlink daemon start
sweetlink trust-ca  # 仅首次需要

2. Open Browser Tab

2. 打开浏览器标签页

bash
sweetlink browser open --profile default
bash
sweetlink browser open --profile default

3. Navigate to target site

3. 导航到目标网站

  • Do this manually in the opened browser
  • Authenticate if needed (cookies persist)
  • 在打开的浏览器中手动完成此操作
  • 如有需要进行身份验证(Cookies会留存)

4. Agent can now automate

4. 现在Agent可以执行自动化操作

bash
undefined
bash
undefined

Agent uses these commands:

Agent使用以下命令:

sweetlink dom query ".product-card" --property outerHTML sweetlink screenshot --output products.png sweetlink devtools console --tail 100
undefined
sweetlink dom query ".product-card" --property outerHTML sweetlink screenshot --output products.png sweetlink devtools console --tail 100
undefined

5. Reattach sessions

5. 重新连接会话

bash
sweetlink session list
sweetlink session reconnect <session-id>
bash
sweetlink session list
sweetlink session reconnect <session-id>

Example Use Cases

示例用例

Smoke Test Web App

Web应用冒烟测试

bash
undefined
bash
undefined

Navigate to app

导航到应用

sweetlink browser open --profile default
sweetlink browser open --profile default

(manually navigate to http://localhost:3000)

(手动导航到http://localhost:3000)

Check for console errors

检查控制台错误

sweetlink devtools console --tail 0
undefined
sweetlink devtools console --tail 0
undefined

Screenshot Testing

截图测试

bash
undefined
bash
undefined

Capture full page

捕获全页

sweetlink screenshot --full-page --output test.png
sweetlink screenshot --full-page --output test.png

Capture specific element

捕获特定元素

sweetlink dom query ".hero" --screenshot hero.png
undefined
sweetlink dom query ".hero" --screenshot hero.png
undefined

Form Automation

表单自动化

bash
sweetlink dom type "#name" "Test User"
sweetlink dom type "#email" "test@example.com"
sweetlink dom click "#submit"
sweetlink dom query "#success" --exists
bash
sweetlink dom type "#name" "Test User"
sweetlink dom type "#email" "test@example.com"
sweetlink dom click "#submit"
sweetlink dom query "#success" --exists

API Reference

API参考

Daemon API (internal)

守护进程API(内部)

  • GET /api/sweetlink/status
    — Check daemon health + TLS trust
  • POST /api/sweetlink/session
    — Create new session
  • GET /api/sweetlink/sessions
    — List sessions
  • GET /api/sweetlink/status
    — 检查守护进程健康状态 + TLS信任情况
  • POST /api/sweetlink/session
    — 创建新会话
  • GET /api/sweetlink/sessions
    — 列出会话

CLI Commands

CLI命令

CommandDescription
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
命令描述
sweetlink daemon start|stop|status
管理守护进程
sweetlink browser open|close
控制浏览器
sweetlink session list|reconnect
管理会话
sweetlink devtools console|network
访问DevTools
sweetlink dom query|click|type|screenshot
DOM操作
sweetlink screenshot
捕获截图

Troubleshooting

故障排除

Daemon won't start

守护进程无法启动

bash
undefined
bash
undefined

Check if port is in use

检查端口是否被占用

lsof -i :4455
lsof -i :4455

Kill existing process

终止现有进程

sweetlink daemon stop sweetlink daemon start
undefined
sweetlink daemon stop sweetlink daemon start
undefined

TLS certificate not trusted

TLS证书不被信任

bash
undefined
bash
undefined

Re-run trust

重新执行信任操作

sweetlink trust-ca
sweetlink trust-ca

Open browser to accept

打开浏览器接受证书

undefined
undefined

Session disconnected

会话断开连接

bash
undefined
bash
undefined

List sessions

列出会话

sweetlink session list
sweetlink session list

Reconnect

重新连接

sweetlink session reconnect <session-id>
undefined
sweetlink session reconnect <session-id>
undefined

Related Skills

相关工具

  • oracle — Prompt bundler for multi-model runs (pairs well with SweetLink)
  • browser — Clawdbot's built-in browser control
  • oracle — 用于多模型运行的提示打包工具(与SweetLink搭配使用效果极佳)
  • browser — Clawdbot的内置浏览器控制工具

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
  • SweetLink使用搭配DevTools协议的真实Chrome/Chromium浏览器
  • 浏览器配置文件中的Cookies/身份验证信息会被保留
  • 在macOS系统上搭配Chrome或基于Chromium的浏览器使用
  • 守护进程通信需要TLS证书