dots身份种子入门:为什么--seed每次运行都能还原同一个"人"?
【免费下载链接】dotsOpen-source dots for the web: an AI agent with its own browser, one that does not get blocked.项目地址: https://gitcode.com/gh_mirrors/dots140/dots
dots 是一个开源的 Web AI Agent,核心亮点是为 Agent 配了一个独立且不易被网站识别的浏览器。其中--seed(身份种子)参数,能让每次运行都还原出同一个浏览器"人格"——屏幕、字体、GPU、时区、语言彼此吻合,如同真人使用同一台设备。
什么是 dots 的身份种子?
很多 Web Agent 被网站拦截,不是因为模型不够聪明,而是浏览器本身"露馅"了:自动化标志、不一致的指纹、突兀的点击轨迹。dots 的思路是把"像人"做到浏览器层。
--seed就是那个"人格开关"。你给它一个数字,dots 就根据这个数字确定性地生成一整套浏览器身份信息:
- 🖥️ 屏幕尺寸与分辨率
- 🔤 可用字体列表
- 🎮 GPU 型号
- 🌍 时区
- 🗣️ 语言偏好
关键点在于:这些指纹不是在页面里用脚本"画"出来的,而是在经过 C++ 层修改的 Firefox 引擎内部决定的。页面想主动检测也找不到WebDriver标志、DevTools 协议或自动化全局变量。
为什么同一个 seed 还原的是同一个人?
这就是"确定性生成"的妙处:
- 输入唯一:seed 是唯一的随机来源,其余所有指纹字段都由它推导。
- 推导可复现:同样的种子走同一套推导逻辑,得到的结果永远一致。换台机器、换个时间再跑,只要 seed 相同,浏览器"这个人"就相同。
- 字段自洽:屏幕、字体、GPU、时区、语言互相吻合,不会出现"美西时区却报中文 Windows 字体"这类破绽。
换个 seed,就是另一个全新且同样自洽的"人"。这正是 README.md 中说的"One identity per seed"——每个 seed 对应一个身份。
💡 类比:seed 就像角色存档的哈希值。你不是在"复制粘贴"一份身份,而是同一份配方每次都能重新"烤出"同一个人。
快速上手:三步体验 --seed
第 1 步:安装 uv(以 Linux 为例,Windows 在 PowerShell 中执行对应命令):
curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env第 2 步:带 seed 启动 dots(需 OpenRouter 的 Key):
uvx --from git+https://gitcode.com/gh_mirrors/dots140/dots \ dots --openrouter-key sk-or-... --seed 1234第 3 步:打开浏览器访问http://127.0.0.1:8765,左侧是对话区,右侧是 Agent 正在实时操作的浏览器,一目了然。
再跑一次同样的命令,你会看到同一个"人"继续干活;把--seed 1234改成--seed 5678,则是另一个身份。
进阶组合:让"这个人"更稳定
dots --help会列出全部选项,与 seed 搭配效果更好的有:
--profile-dir:使用浏览器配置目录,让登录态和 Cookie 从这次运行保留到下次,"人"的记忆也连贯了--proxy:指定代理出口后,时区和语言会自动跟随出口位置,指纹更真实--model:dots 使用 OpenRouter 上任意模型,换模型不改变浏览器身份
这些参数在入口测试 tests/test_entry.py 中都被逐一验证,确保dots --help能正确暴露全部选项。
项目结构速览
dots 本身是一个"接口"项目:命令入口在 src/dots/cli.py,它把参数原样交给底层的invisible-playwright-mcp命令组(在 pyproject.toml 中被精确锁版本),真正的浏览器引擎、事件循环和页面交互都来自那个底层包。所以升级底层时,仓库用测试而不是解析器来把关。
小结
- 🌱
--seed是 dots 的身份种子:同一个 seed,每次运行还原同一个自洽的浏览器"人" - 🔍 指纹在修改过的 Firefox 引擎内部生成,页面无从检测
- 🚀 上手只需三步:装 uv → 带 seed 启动 → 访问 127.0.0.1:8765
- 🧩 搭配
--profile-dir保留记忆,--proxy让指纹跟随出口
【免费下载链接】dotsOpen-source dots for the web: an AI agent with its own browser, one that does not get blocked.项目地址: https://gitcode.com/gh_mirrors/dots140/dots
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考