深度揭秘dots指纹技术:C++改造Firefox引擎,JS画不出的真实指纹
深度揭秘dots指纹技术C改造Firefox引擎JS画不出的真实指纹【免费下载链接】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/dotsdots 是一款开源的 AI 浏览器智能体AI browser agent它的核心卖点正是浏览器指纹技术直接以 C 改造真实的 Firefox 引擎让指纹在引擎内部生成而不是用 JavaScript 在页面上画一层伪装。对于想让 AI 上网不频繁被拦截的用户来说dots 把浏览器而不是模型当作第一生产力本文带你拆解它的指纹方案到底怎么做到的。一、为什么浏览器指纹是 AI Agent 被拦截的第一关 当一个 Web Agent 任务失败时原因很少出在大模型本身——通常是页面根本没加载、验证码弹了出来、登录态过期了、点击没有生效。这些全都发生在浏览器里早于模型开始思考的那一刻。网站反自动化系统识别 AI 浏览器主要靠两条路指纹检测屏幕分辨率、字体列表、GPU 型号、时区、语言……任何一项暴露这是一台云服务器或这些参数互相矛盾都可能被标记。自动化痕迹检测navigator.webdriver标志、DevTools 调试协议、注入到页面里的自动化全局变量都是开箱即抓的破绽。市面上常见的做法是用 JavaScript 打补丁——在页面加载时覆盖navigator等 API 的值。但 dots 的 README.md 开宗明义指纹应该在引擎内部决定因为 JS 覆盖层本身就是页面可以检查的东西。二、dots 的指纹方案C 改造 Firefox 引擎dots 的指纹策略可以概括为一句话不画皮换芯。方案指纹从哪来页面能检查到吗JS 覆盖伪装页面脚本运行时打补丁能补丁本身可被检测dots 引擎级改造C 层修改 Firefox 引擎输出不能值就是引擎原生输出的具体来说dots 的浏览器具备这些引擎级特性来自 README.md 的官方说明真实 Firefox 引擎C 层面打补丁——屏幕、字体、GPU、时区、语言等指纹值由引擎直接输出页面上不存在任何补丁痕迹。无自动化特征没有 WebDriver 标志、没有 DevTools 协议、页面里没有任何自动化全局变量可供搜索。指纹自洽一套指纹里的所有参数互相吻合不会出现语言是中文但字体列表是英文系统这类矛盾。三、一个 seed 一个身份指纹之间如何保持一致 dots 用--seed参数实现一个种子一个人格。给定同一个 seed屏幕、字体、GPU、时区、语言会组成一套彼此自洽的身份每次运行都生成同一个人。换一个 seed就得到另一套完全不同但同样自洽的身份。对新手来说这意味着你可以为不同任务、不同地区准备多套稳定身份而不用每次重新配置指纹参数——身份是算出来的且可复现。模型侧同样灵活dots 接的是 OpenRouter 上的任意模型用--model切换即可见 pyproject.toml 中声明的 firefox / openrouter / anti-detect 关键词。四、像人一样操作指针移动与逐键输入指纹解决你是谁的问题行为模式解决你像不像人的问题。dots 的交互设计刻意模拟真人手部动作指针会移动到目标位置再点击而不是瞬移触发按键逐个敲入而不是整串文本一次性注入。这样页面收到的每一个事件都是浏览器标记为可信trusted的事件与真人操作的底层来源一致。五、dots 快速上手安装与一键启动步骤⚡ 官方推荐用uvx一行命令直接运行无需 clone 仓库。以 Linux 为例Windows 用 PowerShell步骤见 README.md安装uvcurl -LsSf https://astral.sh/uv/install.sh | sh启动 dotsuvx --from githttps://gitcode.com/gh_mirrors/dots140/dots dots --openrouter-key sk-or-...打开http://127.0.0.1:8765——左侧是对话区右侧是实时浏览器画面。如果你更习惯源码方式也可以 clone 后本地运行git clone https://gitcode.com/gh_mirrors/dots140/dots仓库本体极简cli.py 只定义了一个SUBCOMMAND ui把全部能力委托给它精确锁定的依赖包 invisible-playwright-mcp0.70.2。也就是说dots 这个仓库是界面 版本锁浏览器循环、页面引擎都来自被钉死的依赖——这也是为什么 test_entry.py 里有一个专门校验安装的包必须等于锁定版本的测试。六、dots 常用参数速查表参数作用一句话场景--openrouter-keyOpenRouter 密钥启动必需--model切换任意 OpenRouter 模型按任务换大脑--seed固定身份种子每次运行都是同一个人--proxy指定出口代理时区、语言自动跟随出口--profile-dir指定配置文件目录跨次运行保留登录与 Cookie--help查看全部选项官方用法一览 两个容易忽略的细节--proxy与身份联动dots 的理念是你从哪连接就是谁——时区和语言会跟随代理出口自动调整避免美国 IP 中国时区这种硬伤。--profile-dir让浏览器有记忆登录态、Cookie 从这次运行带到下次不必每次都重新登录。七、常见问题FAQQ1dots 是隐身浏览器吗它的定位是一个不会被拦截的、属于 AI 的浏览器。技术上靠引擎级指纹改造 无自动化特征 可信事件模拟三者叠加而不是单一隐身手段。Q2指纹和 JS 覆盖的区别到底在哪JS 覆盖是在页面运行时改值页面可以反过来检查谁改了值dots 改的是 C 引擎本身页面读到的就是引擎的出厂值无迹可查。Q3能在自己的 AI 助手里用同一个浏览器吗可以。dots 的底层同时以 MCP 服务器形式提供Claude Code、Codex、Gemini CLI 等任何 MCP 客户端都能接上相关说明见 README.md 末尾的 The same browser, in your own assistant 一节。八、总结dots 指纹技术的三个关键词引擎级——C 改造 Firefox指纹从内核生成JS 画不出也查不到。自洽——一个 seed 决定一整套互相吻合的身份可复现。像人——指针移动、逐键输入、可信事件行为层不留机器味。对于刚接触 AI 浏览器方向的新手dots 是一个很好的切入点它代码量少、结构直白入口就几行见main.py却能完整演示浏览器指纹 反检测 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创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

华为Mate 90系列及全场景新品发布会举行,多款重磅新品亮相

华为Mate 90系列及全场景新品发布会举行,多款重磅新品亮相

2026年10月1日,华为Mate 90系列及全场景新品发布会正式举行,HUAWEI Mate 90系列、nova 16 Pro联名款限定礼盒、HUAWEI FreeBuds Neo、华为WATCH D3腕部动态血压记录仪以及华为智慧屏 MateTV 2系列等多款新品亮相。华为以科技创新持续构建全场景生态&…

2026/10/2 17:13:36 阅读更多 →
多模态视频生成实战:LynnReal-Omni 四路信号融合与工程落地

多模态视频生成实战:LynnReal-Omni 四路信号融合与工程落地

视频生成这个赛道,最近一年新模型、新论文层出不穷,但真正落到"我想用自己手头的一堆素材生成一段视频"这个具体需求上,能跑通、跑稳的方案其实并不多。LynnReal-Omni 这个项目吸引我的地方,在于它没有把宝全押在"…

2026/10/2 17:13:36 阅读更多 →
Odoo 17 数据字典中文版:数据库字段导航与实战映射指南

Odoo 17 数据字典中文版:数据库字段导航与实战映射指南

简介:本资源是Odoo 17官方数据库结构的完整中文翻译版数据字典,专为Odoo二次开发工程师、系统实施顾问及进阶学习者设计,解决英文原版字典阅读门槛高、字段含义理解困难、模块间关联梳理不清等实际问题。压缩包内含1个PDF文件,大小…

2026/10/2 17:13:36 阅读更多 →

最新新闻

计算机组成原理:流水线冒险的三大类型与处理方法

计算机组成原理:流水线冒险的三大类型与处理方法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:50:55 阅读更多 →
Java面试MySQL索引,这5个问题必问

Java面试MySQL索引,这5个问题必问

问题一:为什么MySQL用B树,不用B树或哈希?哈希索引等值查询快,但范围查询废了,因为哈希值无序。B树每个节点都存数据,树高比B树高,磁盘IO次数多。B树只在叶子节点存数据,非叶子节点只…

2026/10/2 17:50:55 阅读更多 →
精益制造数字化转型三年规划:从83页PPT到可执行项目清单的落地方法

精益制造数字化转型三年规划:从83页PPT到可执行项目清单的落地方法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:50:55 阅读更多 →
ThinkPad T440p不亮机故障:EC固件修复全指南

ThinkPad T440p不亮机故障:EC固件修复全指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:50:55 阅读更多 →
智能车竞赛卡丁快跑组实战:自动驾驶与人车交互核心解析

智能车竞赛卡丁快跑组实战:自动驾驶与人车交互核心解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:50:55 阅读更多 →
三角形问题实战:等价类划分与边界值分析用例设计

三角形问题实战:等价类划分与边界值分析用例设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 17:49:54 阅读更多 →

日新闻

从零搭建AI工程化:模型之外的完整闭环

从零搭建AI工程化:模型之外的完整闭环

先搞清楚一件事:从零开始做 AI 工程化,难的从来不是调模型、写提示词,而是把一套原型 Demo 变成长得像是“正经系统”的东西。你手里可能已经有了能跑通的代码,也可能刚读完一些概念,但真到了要把它变成可维护、可观测…

2026/10/2 0:00:20 阅读更多 →
大模型训练显存估计与混合精度训练实战指南

大模型训练显存估计与混合精度训练实战指南

1. 大模型训练显存估计与混合精度训练详解显存不够用,几乎是每个做大模型训练的人都会撞上的第一堵墙。你可能也经历过:模型代码写完了,数据管道跑通了,满心欢喜地按下训练启动脚本,结果几秒钟后终端弹出一行红字——C…

2026/10/2 0:00:20 阅读更多 →
小样本学习数据集选型指南:27个真正可用的高质量数据集

小样本学习数据集选型指南:27个真正可用的高质量数据集

1. 小样本学习的“弹药库”:为什么你总在找数据集,却总找不到真正能用的? 小样本、数据集——这两个词最近半年在我处理的200多个AI项目咨询里,出现频率排进前三。不是模型调不好,不是代码写不对,而是卡在…

2026/10/2 0:00:20 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/10/1 20:05:24 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 10:36:31 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 5:26:06 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/2 6:09:11 阅读更多 →