Token导航 LogoToken导航

Agent Skill · 开发

browser-relay(浏览器中继)

browser-relay 用于处理浏览器自动化、网页检查和页面信息提取,适合在 Local Agent 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

browser-relay 是开发类 Agent Skill,可用宿主为 Local Agent,通过unknown获取,权限为接触敏感数据;许可证信息还不明确,暂无第三方扫描结果,按安装量在开发类的 21,746 个 Skill 里排第 15,263。

总安装 614周安装 8下载 65核验 2026-05-01
开发接触敏感数据unknown未标认证来源可访问许可证需确认审计未展示Local Agent

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:browser-relay(浏览器中继)
来源仓库:https://skills.volces.com
仓库路径:browser-relay
安装命令:
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。当前暂无明确安装命令,请以来源页面说明为准。

这个 Skill 是做什么的

开发类 Skill 面向写代码、改代码和排查问题,一般会读写仓库文件,部分还会执行构建或测试命令。

browser-relay 通过 HTTP 中继桥接本地 Chromium 绕过反爬机制。所有网络请求均从用户本机 IP 发出,避免数据中心 IP 封锁问题。仅监听 localhost 端口并使用随机 token 认证保障通信安全。推荐在隔离环境中运行以防止敏感 cookie 泄露风险。

适用宿主包括 Local Agent,接入前应确认版本、权限和运行环境要求。

来源仓库内路径:browser-relay

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Local Agent;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    没有现成安装命令,按unknown的说明从来源页面获取,仓库路径是 browser-relay。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

browser-relay 怎么安装?

公开资料没有给出可以直接复制的命令,需要按来源页面说明手动安装,仓库内路径为 browser-relay。

browser-relay 支持哪些 AI 工具?

公开资料标注支持 Local Agent。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

browser-relay 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

browser-relay 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

browser-relay 用的人多吗?

公开数据是累计安装 614 次,近一周安装 8 次,下载 65 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

browser-relay 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 Local Agent 一种宿主,触发方式和使用习惯不用来回切换。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Local Agent,想直接扩展它能力的人。
  • 需要处理开发类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 要求有安全扫描结论才肯安装的团队。

开发类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
skill-vetter

技能审查员 · OpenClaw

8,779,018986操作浏览器MIT-0通过
ontology

本体论 · OpenClaw

6,636,960576只读MIT-0通过
entra-app-registration

内部应用程序注册 · Codex、Claude

6,631,872764接触敏感数据未明确通过
entra-app-registration

内部应用程序注册 · Codex、Claude

3,757,680201接触敏感数据未明确通过
nano-banana-pro

纳米香蕉专业版 · OpenClaw

3,526,898364接触敏感数据MIT-0有提醒
browser-relay

浏览器中继 · 本页

614—接触敏感数据未明确未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Browser Relay Skill

通过 HTTP relay 控制用户本地 Chromium,用于操作会封锁数据中心 IP 的网站(如小红书)。

架构

AI → HTTP (port 18792) → relay.py → CDP (port 9222) → 用户本地 Chromium

所有请求从用户本地 IP 发出,绕过反爬。

安全说明

  • relay 仅监听 127.0.0.1(localhost),不会暴露到外部网络
  • 每次启动自动生成随机 auth token,所有 API 请求必须携带
  • token 文件 (/tmp/browser-relay-token) 以 0600 权限写入,仅文件所有者可读
  • /evaluate 端点允许在浏览器上下文中执行 JS,可访问 DOM、cookies、localStorage 等。仅限本地可信调用方使用,不应暴露给不受信任的客户端
  • 建议在隔离环境(虚拟机、容器)中运行,使用专用浏览器 profile(不含敏感站点的登录态)
  • start.sh 仅通过 PID 文件精确停止 relay 进程,不会影响其他进程

Agent 行为约束

使用此 skill 的 agent 必须遵守以下规则:

exec 使用范围

exec 仅允许用于以下操作:

  • 向 127.0.0.1:18792(relay)和 127.0.0.1:9222(CDP)发送 HTTP 请求
  • 运行 start.sh 启动/停止 relay
  • 读取 /tmp/browser-relay-token
  • 保存截图到 ./screenshots/
  • 通过 Telegram Bot API 发送截图(仅限用户明确要求时)

禁止使用 exec 执行上述范围之外的命令。

/evaluate 使用范围

/evaluate 仅允许用于 UI 自动化目的:

  • 查询 DOM 元素位置、文本内容、页面标题
  • 等待元素加载、检查页面状态
  • 模拟用户交互(滚动、表单填写)

禁止通过 /evaluate 提取以下敏感数据:

  • document.cookie
  • localStorage / sessionStorage 中的 token 或凭据
  • 页面中的密码字段值
  • 任何认证相关的 header 或 token

数据外发限制

  • 仅允许向 Telegram Bot API 发送截图图片,且仅在用户明确要求时
  • 禁止向任何外部端点发送从浏览器提取的文本数据、cookies、token 或凭据
  • 禁止将浏览器敏感数据写入 session_state 或 memory(auth token 除外,指 relay 自身的 token)

文件位置

以下路径均相对于项目安装目录,请根据实际位置调整。
  • Relay 代码: ./relay.py
  • 启动脚本: ./start.sh
  • Token 文件: /tmp/browser-relay-token
  • PID 文件: /tmp/browser-relay.pid
  • 日志: /tmp/relay.log
  • 截图目录: ./screenshots/

启动流程

每次会话开始使用 relay 前,按以下步骤操作:

1. 检查 Chromium 是否运行

curl -s http://127.0.0.1:9222/json/version

如果连接失败,说明 Chromium 未启动,需要启动它(见下方"启动 Chromium")。

2. 启动 Chromium(如果未运行)

DISPLAY=:0 nohup chromium --remote-debugging-port=9222 --remote-allow-origins=* > /dev/null 2>&1 &

注意事项:

  • 必须加 --remote-allow-origins=* 否则 WebSocket 连接会被拒绝
  • 必须加 DISPLAY=:0(或对应的显示环境变量)以在用户桌面上显示
  • Puppy Linux 环境,chromium 命令名可能是 chromium 或 chromium-browser,按实际情况调整
  • 启动后等待几秒再继续操作

3. 检查 relay 状态

curl -s http://127.0.0.1:18792/health

如果返回 {"status":"ok"},跳到步骤 5。否则继续。

4. 启动 relay

bash start.sh

5. 获取并缓存 token

cat /tmp/browser-relay-token

读取后用 session_state 缓存到当前会话:

session_state set namespace=browser-relay key=token value=<token>

后续所有请求从 session_state 读取 token,不重复读文件。

API 调用模板

所有请求都需要 Authorization: Bearer <token> 头。

获取标签页列表

curl -s -H "Authorization: Bearer $TOKEN" http://127.0.0.1:18792/tabs

导航

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"url":"https://www.xiaohongshu.com"}' \
  http://127.0.0.1:18792/navigate

截图(带自动保存)

TOKEN=$(cat /tmp/browser-relay-token)
curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"quality":70}' http://127.0.0.1:18792/screenshot \
  | python3 -c "
import sys, json, base64, os
from datetime import datetime
data = json.load(sys.stdin)
if data.get('ok'):
    os.makedirs('./screenshots', exist_ok=True)
    fname = datetime.now().strftime('%Y%m%d_%H%M%S') + '.jpg'
    path = f'./screenshots/{fname}'
    with open(path, 'wb') as f:
        f.write(base64.b64decode(data['data']))
    print(f'saved:{path} size:{os.path.getsize(path)}')
else:
    print(f'error:{data}')
"

截图并发送到 Telegram

当用户在 Telegram 上交互时,截图需要发送到 TG 才能看到。流程:

# 1. 截图并保存
TOKEN=$(cat /tmp/browser-relay-token)
SCREENSHOT_PATH="/tmp/relay_screenshot.png"
curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"quality":80}' http://127.0.0.1:18792/screenshot \
  | python3 -c "
import sys, json, base64
data = json.load(sys.stdin)
if data.get('ok'):
    with open('$SCREENSHOT_PATH', 'wb') as f:
        f.write(base64.b64decode(data['data']))
    print('ok')
else:
    print(f'error:{data}')
"

# 2. 通过 Telegram Bot API 发送图片
TG_BOT_TOKEN="<从 session_state 或 memory 获取>"
TG_CHAT_ID="<从 session_state 或 memory 获取>"
curl -s -X POST "https://api.telegram.org/bot${TG_BOT_TOKEN}/sendPhoto" \
  -F "chat_id=${TG_CHAT_ID}" \
  -F "photo=@${SCREENSHOT_PATH}"

Telegram 配置:

  • Bot Token 和 Chat ID 从 memory 或 session_state 获取
  • Chat ID 可从 session 信息中提取(telegram:alzmoltis_bot:<chat_id>)
  • 发送前确保截图文件存在且非空
  • 安全提示:建议使用专用 Bot(权限最小化),不要复用管理其他敏感频道的 Bot Token

点击(坐标)

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"x":100,"y":200}' http://127.0.0.1:18792/click

点击(CSS 选择器)

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"selector":"button.submit"}' http://127.0.0.1:18792/click

输入文字

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"text":"要输入的内容"}' http://127.0.0.1:18792/type

按键

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"key":"Enter"}' http://127.0.0.1:18792/keypress

滚动

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"y":300}' http://127.0.0.1:18792/scroll

执行 JS

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"expression":"document.title"}' http://127.0.0.1:18792/evaluate

等待元素出现

curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"selector":".target-element","timeout":5000}' http://127.0.0.1:18792/wait

标签页管理

# 新建标签页
curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"url":"https://example.com"}' http://127.0.0.1:18792/tab/new

# 切换标签页
curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"tab_id":"xxx"}' http://127.0.0.1:18792/tab/activate

# 关闭标签页
curl -s -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
  -d '{"tab_id":"xxx"}' http://127.0.0.1:18792/tab/close

标准操作规范

  1. 截图确认制:任何发布/提交操作前,必须先截图让用户确认
  2. 截图自动保存:所有截图保存到 ./screenshots/ 并带时间戳
  3. Telegram 截图发送:当用户在 TG 上交互时,截图通过 Telegram Bot API 发送,而不是仅保存到本地
  4. Token 会话缓存:token 只读一次,缓存在 session_state 中
  5. 错误重连:如果请求失败(连接拒绝),自动尝试重启 relay
  6. 操作间隔:点击/输入操作之间加 sleep 0.5~1 模拟人类节奏

停止 relay

bash start.sh stop

平台分布

Local Agent

91.91%
按下载量换算60

安全审计

暂无安全审计结果可展示。

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills