ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

把dots同款反检测浏览器接入Claude Code、Codex与Gemini CLI:MCP完整使用教程

把dots同款反检测浏览器接入Claude Code、Codex与Gemini CLI:MCP完整使用教程 把dots同款反检测浏览器接入Claude Code、Codex与Gemini CLIMCP完整使用教程【免费下载链接】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 智能体web agent它的核心是一台不会被拦的反检测浏览器真实 Firefox 引擎、C 层指纹伪装、人机一致的键鼠事件。更关键的是dots 可以把这台同款反检测浏览器以MCP 服务器的形式挂出来让你手里的 Claude Code、Codex、Gemini CLI 直接借到它的手和眼。本文是一份面向新手的 dots MCP 完整教程从一键安装到把 dots 同款反检测浏览器接入三大 AI 编程助手最后附上参数速查与排错指南。一、dots 是什么为什么浏览器才是关键 先说结论当网页智能体web agent失败时原因通常不在模型而在浏览器。页面根本没加载、弹出人机验证挑战、登录过期、点击没有生效——这些事情都发生在模型开始思考之前。每一个 AI 智能体 一个模型 一个浏览器。模型用一个参数就能换但网站看到的是浏览器。 —— 项目口号见 README.mddots 把浏览器当成第一公民来构建真实 Firefox 引擎C 层打补丁指纹fingerprint在引擎内部决定而不是画一层 JavaScript 上去——网页能直接检测 JS 层的伪装一个种子一个身份屏幕分辨率、字体、GPU、时区、语言彼此自洽--seed让你在每次运行时拿到同一个人页面上没有可被发现的痕迹没有 WebDriver 标志、没有 DevTools 协议、没有自动化全局变量像真人一样操作指针会移动到点击目标按键逐个按下页面收到的每一个事件都是可信事件有记忆的浏览器--profile-dir让登录态和 cookie 跨运行保留出口即身份--proxy配置代理后时区和语言自动跟随出口节点。而模型层是开放的任何 OpenRouter 上的模型都可以用--model随时切换。 完整功能说明见 README.md项目元数据与依赖见 pyproject.toml。二、dots 与 MCP 的关系一句话讲清 很多读者会问dots 到底是个什么程序看源码会发现它出奇地薄入口main.py 只调用一行main()实现cli.py 把参数原样转发给invisible-playwright-mcp包里的ui子命令依赖pyproject.toml 中唯一的依赖就是精确锁定的invisible-playwright-mcp0.70.2。所以关系是这样的角色说明invisible-playwright-mcp真正的大脑MCP 服务器 反检测浏览器 智能体循环dots它的人类接口跑起来是一个 Web 控制台对话在左、浏览器在右dots --help列出全部选项你的 AI 助手Claude Code / Codex / Gemini CLI 作为MCP 客户端接入同一台浏览器一句话dots是你亲自对话用的界面MCP 服务器是让 AI 助手对话用的接口。两者共用同一个浏览器、同一套反检测能力。这也解释了 pyproject.toml 里那句注释dots 就是 invisible-playwright-mcp 的界面仅此而已——你学 dots等于把整个 MCP 生态的用法都学会了。三、一键安装 dots 反检测浏览器uvx 方式⚡dots 没有发布到 PyPIPyPI 上同名的是另一个无关项目所以官方推荐用 uv 的uvx从源码仓库直接拉起。Linux / macOS 安装步骤# 1. 安装 uv curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env # 2. 启动 dots填入你的 OpenRouter 密钥 uvx --from githttps://github.com/feder-cr/dots dots --openrouter-key sk-or-...WindowsPowerShell安装步骤powershell -ExecutionPolicy ByPass -c irm https://astral.sh/uv/install.ps1 | iex $env:Path $env:USERPROFILE\.local\bin;$env:Path uvx --from githttps://github.com/feder-cr/dots dots --openrouter-key sk-or-...启动后打开http://127.0.0.1:8765就能看到左边是 AI 对话窗口右边是活着的浏览器。 三个小贴士密钥不想写在命令行放在工作目录的.env文件里即可——cli.py 的注释明确说明dots 特意走invisible-playwright-mcp的命令组command group而不是直接调ui就是为了让它读到.env、并正确继承旧的会话目录想确认自己装的环境没被本地代码污染项目自带一个测试test_entry.py 会校验安装的包版本与锁定版本完全一致忘了带密钥会直接拒绝启动报错提示OpenRouter见 test_entry.py 的行为定义不用浪费时间排查。四、接入 Claude CodeMCP 完整配置方法 Claude Code 是 MCP 客户端给它添加一个 stdio 服务器即可。dots 同款反检测浏览器由invisible_playwright_mcp包提供服务器入口方式 A命令行添加最快配置方法claude mcp add dots -- \ uvx --from githttps://github.com/feder-cr/invisible_playwright_mcp \ invisible-playwright-mcp --openrouter-key sk-or-...方式 B写入配置文件在~/.claude.json的mcpServers节点中追加{ mcpServers: { dots: { command: uvx, args: [--from, githttps://github.com/feder-cr/invisible_playwright_mcp, invisible-playwright-mcp], env: { OPENROUTER_API_KEY: sk-or-... } } } }配置完成后在 Claude Code 会话里输入/mcp应能看到dots服务器连接成功并列出浏览器操作相关的工具。此时 Claude 就长出了手它可以直接打开网页、点击、输入、读取页面内容——而且用的是那台不会被拦的浏览器。五、接入 Codex CLIMCP 服务器配置方法 Codex 支持在~/.codex/config.toml中声明 MCP 服务器[mcp_servers.dots] command uvx args [--from, githttps://github.com/feder-cr/invisible_playwright_mcp, invisible-playwright-mcp] [mcp_servers.dots.env] OPENROUTER_API_KEY sk-or-...如果你的 Codex 版本支持codex mcp add子命令用法与 Claude Code 类似直接传入上面的uvx命令即可。添加后重启 Codex它即可通过 MCP 协议调用反检测浏览器完成需要上网的子任务例如抓取动态渲染页面、操作登录后的管理后台。六、接入 Gemini CLIsettings.json 配置方法 Gemini CLI 在~/.gemini/settings.json中配置 MCP{ mcpServers: { dots: { command: uvx, args: [--from, githttps://github.com/feder-cr/invisible_playwright_mcp, invisible-playwright-mcp], env: { OPENROUTER_API_KEY: sk-or-... } } } }三个客户端的配置本质相同一条uvx命令 一个模型密钥。区别只在于配置文件的格式与位置。七、参数速查表让 MCP 浏览器与 dots 保持同一身份 dots --help会列出全部选项。下面是最常用的几个MCP 侧同理参数作用使用场景--seed指纹种子同一 seed 同一个人屏幕/字体/GPU/时区/语言完全一致让 Claude Code 与 dots 控制台看起来是同一个人--profile-dir浏览器档案目录跨运行保留登录与 cookie一次登录AI 助手长期复用登录态--proxy出口代理时区与语言自动跟随出口让从哪连接与身份匹配--model指定 OpenRouter 上的任意模型按任务成本/能力切换大脑--openrouter-key模型密钥也可写入.env所有场景必需--portWeb 控制台端口默认 8765多实例并存--headed有头模式可见浏览器窗口调试时看着它操作保持一致身份的最佳实践先运行一次dots --seed 42 --profile-dir ./my-profile完成需要的人工登录配置 MCP 服务器时传入相同的 seed 与 profile从此你的 AI 助手与 dots 控制台共享同一套指纹、同一套登录态——网站只会觉得这就是同一个人。八、实战让 AI 助手替你查机票 ✈️项目给出的标准示范任务见 README.md非常适合拿来验证 MCP 是否接通打开某航空官网。查米兰 → 里斯本、经济舱、1 位成人把下月 12 号到 16 号每一天都看一遍读出每天最便宜的票价某天没有舱位就直说不许猜数字。把它原样发给接入 dots MCP 的 Claude Code / Codex / Gemini CLI你会看到它在浏览器里逐日切换日期、读取票价、汇总成表——全程没有任何挑战页拦截前提是目标站没有针对你的出口 IP 做限制。给新手三条提问姿势建议说清验收标准每天最便宜的价格 链接比帮我看看机票有效得多要求查不到就直说能显著减少模型幻觉登录类任务先人工登一次配合--profile-dir保留会话AI 只负责登录后的步骤。九、常见问题排查清单FAQ️现象原因解决办法启动即报错提示OpenRouter没有模型密钥传--openrouter-key或把密钥写入工作目录.envdots 走命令组加载见 cli.pyMCP 连上但操作被站点拦截站点风控/挑战页换--proxy出口、确认 seed 身份与出口匹配、必要时先人工过一次挑战登录态丢了每次用了不同的 profile固定--profile-dir所有入口dots / MCP / AI 助手共用不同运行像换了个人每次 seed 不同固定--seed指纹各维度才会自洽端口 8765 被占用已有实例在跑换--port或先停掉旧进程想核对环境是否纯净本地 editable 安装会干扰跑一遍测试pytest tests/test_entry.py含版本锁定校验见 test_entry.py十、小结 dots 一台不会被拦的反检测浏览器 AI 智能体指纹在 C 引擎层决定真人式事件支持种子身份、档案记忆与代理出口dots 本身是invisible-playwright-mcp的界面见 cli.pydots --help就是完整参数手册接入你的 AI 助手只需三步装好 uv → 在客户端的 MCP 配置里加一条uvx命令 → 填上 OpenRouter 密钥想让 Claude Code、Codex、Gemini CLI 与 dots 控制台共用同一个身份就固定--seed--profile-dir。现在你的 AI 助手已经长出了一双手而那只手是网站拦不下来的。【免费下载链接】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),仅供参考
返回列表