更严格的沙箱
不想让智能体在被检查的页面里跑 JavaScript 时,关掉 evaluate_js
和 run_script。结构化工具(click_index、type_index、
navigate 等)仍然能正常用。
Browy 默认打开所有浏览器驱动类工具。如果你想要更严格的设定(只读、 不允许 JS 执行等),在 设置 → 工具 里关掉任意工具即可。
Copilot SDK 还暴露了一组主机工具(bash、read_file、
write_file、grep、glob、web_fetch),这些工具能访问你机器的
文件系统和 shell。它们默认是关的,需要在设置里按工具显式开启。
| 默认 | 在哪运行 | 开关 | |
|---|---|---|---|
| 浏览器工具(下面所有的) | 开启 | 通过 CDP 在当前激活的标签页里 | 在设置里按工具关闭 |
主机工具(bash、read_file、write_file、grep、glob、web_fetch) | 关闭 | 在你的机器上,以你的用户权限 | 在 设置 → 工具 → 主机(进阶)里按工具启用 |
| 工具 | 作用 |
|---|---|
inspect_page | 当前激活标签页的索引化可访问性树快照。[N] 索引会喂给下面所有的 *_index 工具。 |
get_page_info | URL、标题、meta description、可见文本预览。 |
get_page_html | 页面或某个选择器的 HTML(≤8KB)。 |
extract_text | 页面或选择器的可见文本(≤4KB)。 |
extract_form | 列出表单字段,给 fill_form 用。 |
query_dom | 索引工具够不到时的 CSS 选择器兜底。 |
find_visible_text | 按页面上显示的文字定位元素。 |
accessibility_snapshot | 原始 AXTree 风格的可访问性信息。 |
get_event_listeners | 列出某个元素挂着的事件监听器。 |
get_storage | 读取当前来源的 localStorage / sessionStorage。 |
screenshot | 视口的 PNG,保存到磁盘并在对话里行内预览。 |
| 工具 | 作用 |
|---|---|
click_index | 按 inspect_page 的索引点击元素。 |
type_index | 按索引聚焦输入框并输入文字。 |
focus_index | 原生 CDP 聚焦(用来触发 Chrome 的已保存密码自动填充)。 |
clear_index | 按索引清空输入框。 |
select_index | 按索引选 <select> 的一项。 |
check_index | 按索引切换复选框。 |
set_radio_index | 按索引设置单选组。 |
upload_index | 按索引给 <input type=file> 附文件。 |
press_keys | 发送按键(Tab、Enter、Ctrl+A 等)。 |
press_key | 按一个单键。 |
fill_form / submit_form | 批量填表单,然后提交。 |
click_element / fill_input / select_option / hover | 索引工具的 CSS 选择器对应版本。 |
scroll | 滚动页面或特定的滚动容器。 |
navigate | 打开一个 URL(默认在新标签页)。 |
wait_for | 等待选择器 / 导航 / 超时。 |
| 工具 | 作用 |
|---|---|
list_tabs | 列出打开的标签页(索引、URL、标题)。 |
switch_tab | 把某个标签页切到前台,后续调用作用在它上面。 |
new_tab | 打开新标签页。 |
close_tab | 按索引关闭标签页。 |
| 工具 | 作用 |
|---|---|
evaluate_js | 在页面里执行 JavaScript(支持顶层 await)。用于 shadow DOM 遍历、自定义等待、结构化抽取。 |
run_script | 抓一个 URL,把响应当作 JS 在页面里执行(一次性辅助脚本、内联片段)。 |
set_viewport | 调整视口大小(比如测试移动端断点)。 |
pdf_export | 把当前页保存为 PDF。 |
| 工具 | 作用 |
|---|---|
get_network_requests | 最近的网络请求(URL、方法、状态、耗时、头)。 |
get_console_logs | 最近的控制台消息和异常。 |
get_cookies / set_cookie | 读写当前来源的 cookie。 |
replay_request | 重发一次捕获到的请求,可选择覆盖 header / body。 |
download_file | 触发一次文件下载。 |
upload_file | 通过文件选择器上传文件。 |
沙箱化在 ~/.browy/data/:
| 工具 | 作用 |
|---|---|
save_file / read_file / list_files / delete_file | 临时磁盘,用来缓存抓取结果和中间产物。路径相对于数据根目录,无法逃出。 |
note_set / note_get / note_list / note_delete | 跨对话的持久化键值记忆(用户偏好、长期事实)。 |
| 工具 | 作用 |
|---|---|
await_user | 暂停,让你自己来做某事(登录、解一个 CAPTCHA、点确认、在两个选项里选一个)。 |
每个浏览器工具都可以在 设置 → 工具 里单独关掉(右键 Browy
工具栏图标 → 选项)。开关按类别分组:inspect、navigate、
interact、devtools。它们存在 chrome.storage.local 里。关掉的
工具会从 SDK 的白名单和发给模型的函数定义列表里去掉,所以智能体
看不到它们存在。
常见的关掉某个工具的理由:
更严格的沙箱
不想让智能体在被检查的页面里跑 JavaScript 时,关掉 evaluate_js
和 run_script。结构化工具(click_index、type_index、
navigate 等)仍然能正常用。
只读模式
关掉 interact 和 navigate 里的所有工具,只留 inspect。 智能体可以回答关于页面的问题,但不能改它。
不允许 JS 执行
有些团队会同时关掉 evaluate_js、run_script 和 query_dom,
把智能体限制在结构化的可访问性树工具上。
点击工具栏的 重置为默认 一次性撤销所有覆盖(浏览器工具恢复
默认开启,主机工具恢复默认关闭)。改动会在下一次对话生效
(或者 /clear 之后)。
Copilot SDK 包括 bash、read_file、write_file、grep、glob、
web_fetch,和 copilot CLI 在终端里用的是同一组工具。它们能访问
你的文件系统和 shell,所以 Browy 默认把它们关掉;想用的时候在
设置 → 工具 → 主机(进阶)里按工具打开。
如果你只是需要一个终端里的编程智能体, GitHub Copilot CLI 直接覆盖这个场景。