ESC
开源 1 分钟阅读

dots:面向网页的开源 AI 智能体,自带一台不会被封禁的浏览器

开源项目 dots 为 AI 智能体配备专属浏览器:基于 C++ 补丁的真实 Firefox 引擎,指纹在引擎层生成,无 WebDriver、DevTools 等自动化痕迹;支持每个 seed 固定身份、拟人化点击与输入、Cookie 持久化及代理时区跟随。模型可经 OpenRouter 任意切换,还可通过 invisible_playwright_mcp 接入 Claude Code 等 MCP

来源:GitHub

dots

每个 AI 智能体都由一个模型和一个浏览器组成。
模型用一个参数就能随时更换,而浏览器才是网站真正看到的东西。


Windows(PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
$env:Path = "$env:USERPROFILE\.local\bin;$env:Path"
uvx --from git+https://github.com/feder-cr/dots dots --openrouter-key sk-or-...

Linux:

curl -LsSf https://astral.sh/uv/install.sh | sh
source $HOME/.local/bin/env
uvx --from git+https://github.com/feder-cr/dots dots --openrouter-key sk-or-...

然后打开 http://127.0.0.1:8765。左侧是对话,右侧是实时运行的浏览器。

一切都取决于浏览器

当网页智能体任务失败时,问题很少出在模型本身。页面没加载出来、触发了人机验证、登录已过期、点击没有生效——这一切都发生在浏览器里,在模型开始思考之前。

所以 dots 正是围绕浏览器构建的:

  • 真实的 Firefox 引擎,用 C++ 打了补丁。 指纹在引擎内部决定,而不是靠页面可以检查出来的 JavaScript 覆盖伪装。
  • 每个 seed 对应一个身份。 屏幕、字体、GPU、时区和语言彼此一致,--seed 能在每次运行时还原同一个人。
  • 页面找不到任何破绽。 没有 WebDriver 标志,没有 DevTools 协议,页面中也没有自动化全局变量。
  • 像人一样的双手。 指针会移动到要点击的目标,按键逐个敲下,页面收到的每一个事件都是可信事件。
  • 会记住状态的浏览器。 --profile-dir 可以在多次运行之间保留登录状态和 cookies。
  • 连接来源即身份。 使用 --proxy 时,时区和语言会随出口节点而变。

模型可以是 OpenRouter 上的任意模型,用 --model 即可切换。

可以让它做什么

打开 <粘贴网址>。单程,米兰飞里斯本,经济舱,一名成人。逐个查询下个月 12 日至 16 日的每一天,读出每天最低票价。如果某天没有票,就直说。不要瞎猜数字。

在你自己的助手中使用同一个浏览器

Claude Code、Codex、Gemini CLI 或任何 MCP 客户端: invisible_playwright_mcp 可以把这个浏览器作为服务器提供给它们。dots 是它的界面,dots --help 列出了所有选项。


与 OpenAI 无关。采用 MIT 许可证。