dots安全与合规指南:反检测AI Agent能做什么、不能做什么,一文讲清风控边界
【免费下载链接】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 是一个开源的反检测 AI Agent:它自带一个经过 C++ 层改造的真实 Firefox 浏览器,让自动化行为看起来像真实用户,从而不易被网站风控拦截。但"不易被检测"绝不等于"可以随意用"。本文用大白话讲清楚:dots 的反检测能力从哪里来、合规使用的绿色区域在哪里、哪些行为是绝对不能碰的红线,帮你一文看清风控边界与合规底线。
一、先认识 dots:自带"隐身浏览器"的 AI Agent
大多数 Web Agent 失败的根源不是模型不够聪明,而是浏览器暴露了自动化身份:页面加载不出来、弹出人机验证、点击事件不被信任。dots 的思路是把精力全部花在浏览器本身:
- 真实 Firefox 引擎,指纹在 C++ 引擎内部决定,而不是用 JavaScript 打补丁——网页侧很难反查;
- 一个种子对应一个人格:屏幕分辨率、字体、GPU、时区、语言互相自洽,
--seed保证每次运行都是"同一个人"; - 页面上找不到自动化痕迹:没有 WebDriver 标志、没有 DevTools 协议、没有自动化全局变量;
- 拟人操作:指针会真实移动到点击位置,按键逐个按下,页面收到的是可信事件;
- 浏览器会"记仇":
--profile-dir让登录态和 Cookie 跨次运行保留; - 出口决定身份:
--proxy设置代理后,时区和语言会跟随出口节点变化。
模型则是 OpenRouter 上任意模型,用--model一个参数即可切换。整个入口逻辑非常薄,见 cli.py——dots 本质上是其核心依赖包invisible-playwright-mcp的命令行界面,具体版本钉死在 pyproject.toml 中。
启动后访问本地127.0.0.1:8765,左边是对话、右边是实时浏览器画面。安装方式可参考 README.md。
二、反检测能力从哪里来:4 个关键机制
1. 指纹在引擎层生成,不是"画皮"
常见的"反检测"方案是在页面层用 JS 重写属性,稍有经验的检测脚本就能发现破绽。dots 的指纹(屏幕、字体、GPU、时区、语言)由 Firefox 引擎内部决定,各属性彼此一致,这是它不容易被风控命中的根本原因。
2. 零自动化痕迹
没有navigator.webdriver、没有 DevTools 协议挂接、页面里没有任何自动化全局变量。风控系统常见的第一道过滤器在 dots 这里直接落空。
3. 更像"人的手",而不是脚本
脚本批量派发的事件缺少坐标轨迹和时序特征。dots 的指针会移动到目标再点击、按键一次一个,页面收到的每一个事件都是浏览器信任的、时序自然的。
4. 身份与出口自洽
--seed决定人格,--proxy决定出口,时区与语言跟随出口变化——避免"美国 IP + 中国时区"这类一眼假的组合。相关的行为契约由 test_entry.py 中的测试守护,例如--openrouter-key、--model、--proxy、--seed、--profile-dir等参数均被纳入回归验证。
三、合规绿色区:dots 能做什么 ✅
判断一件事能不能用 dots 做,核心标准只有一条:你对这个网站有正当的使用权,且频率与目的像一个真实用户。
- 查公开信息:航班价格、天气、新闻、比价。README 给出的官方示例就是查机票:"检查下月 12 到 16 日每一天,读出最便宜的票价,没有就直说,不要猜数字";
- 个人自动化:自己账号下的重复操作、表单填写、多站点巡检;
- 辅助研究:在自有账号权限内做网页内容的整理与核对;
- 给其他助手当浏览器:官方文档提到它可配合 MCP 客户端使用,把同一个浏览器作为服务暴露给各类 AI 助手,见 README.md 的 "The same browser, in your own assistant" 一节。
四、合规红线:dots 不能做什么 ⛔
反检测能力是"隐形斗篷",不是"通行证"。以下行为无论技术上多难被发现,都属于违规甚至违法:
- 绕过付费墙与登录墙抓取你无权访问的内容;
- 批量注册账号、批量过验证,或用于刷单、刷量、恶意评论;
- 黄牛行为:利用反检测能力抢票、抢额度、套利;
- 大规模爬取数据:以超出人类频率的规模采集用户数据、商品数据;
- 欺诈与仿冒:伪造身份、批量营销、钓鱼页面自动化;
- 攻击他人系统:用自动化能力做暴力破解、绕过他人系统的安全控制。
一句话记住:"技术上没被发现"是概率问题,"是否合规"是法律与平台规则问题。前者不能为后者背书。
五、上线前自检:5 个问题判断你是否越界
每次用 dots 跑任务前,问自己五个问题,全为"是"再动手:
- ✅ 我使用的是自己注册的、有权访问的账号或公开页面吗?
- ✅ 操作频率像一个正常人,而不是一个工厂吗?
- ✅ 我没有收集超出任务所需的数据吗?
- ✅ 这件事不违反该网站的条款(ToS)吗?
- ✅ 如果行为被公开,我能否在法务审查中站得住脚吗?
六、安全使用小贴士:让 dots 可控可审计
- 密钥管理:模型密钥(OpenRouter key)可放在命令行旁的
.env文件中,dots 会通过命令组读取它,这一设计见 cli.py 的说明;切勿把密钥提交到仓库; - 本地优先:界面只监听本机
127.0.0.1:8765,默认不外网暴露,适合个人使用场景; - 身份可复现:固定
--seed意味着同样的"人",便于回溯某次自动化行为是谁的配置产生的; - 状态隔离:不同用途建议用不同
--profile-dir,避免把个人登录态混入自动化任务; - 质量门禁:项目自带严格的测试钩子(pytest、身份检查等),配置见 pyproject.toml,二次开发时可沿用。
七、常见问题 FAQ
Q1:"不被风控识别"就等于合规吗?不。识别与否是技术对抗,合规与否是法律与平台规则。dots 解决的是前者,使用边界由你自己负责。
Q2:可以用 dots 做商业数据采集吗?看数据属性与授权。公开数据的小规模使用风险较低,但大规模、系统性采集仍可能触犯 robots 协议、ToS 乃至数据法规,务必先评估。
Q3:用代理是不是就"安全"了?不是。代理只改变出口 IP,风控还看指纹、行为时序、账号历史等多维信号;更关键的是,更换 IP 不改变行为本身的合规性。
八、总结
dots 的核心价值是用引擎级反检测让 AI Agent 的浏览器像真实用户,从而在正常任务里不被误伤。它的合规使用姿势可以浓缩为一句话:用它完成你作为真实用户本来就能做的事,只是更快更稳。绿色区内放心用,红线区坚决不碰——这是所有反检测自动化工具的通用生存法则,dots 也不例外。
【免费下载链接】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),仅供参考