技术解读
invisible_dots:把“反检测”做成 Agent 的地基
项目背景与痛点
过去两年,浏览器自动化被拆成了两个世界。一边是 LLM 驱动的 Agent:OpenAI 的 Dots、Grok 的 Bot 类产品把「用自然语言指挥浏览器」这件事做成了体验,用户说一句“帮我订张票”,模型自动拆解成点击、输入、翻页。另一边是反检测爬虫圈:Patchright、nodriver、curl_cffi 们在和 Cloudflare Turnstile、DataDome、PerimeterX 做持续军备竞赛。
尴尬之处在于,两个世界的人几乎不能复用对方的成果。拿 Playwright 直接套个 Computer Use 的循环,跑不了几页就会撞上挑战页;而 stealth 库里塞满了指纹补丁,却没有任务级的编排能力,写一个“登录后导报表”的流程照样要手工维护一堆选择器。
feder-cr/invisible_dots 想做的正是把这个裂缝焊死:开源、自托管、任务级抽象,并且从第一行代码起就把“不被识别为机器人”当作架构约束而非事后补丁。对需要处理登录态、需要在有风控的站点上跑长流程的团队来说,这比再封装一层 OpenAI API 更有价值——数据不出内网,行为链路自己可控。
核心技术揭秘
从项目定位反推,它的技术骨架大概率是「规划层—执行层—隐身层—感知层」四段式,而不是简单的 while not done: screenshot -> call_llm -> click。
真正难的不是调用模型,而是一致性工程。反爬系统很少抓某一个特征,它们算的是“矛盾”:UA 说自己是 Chrome 126,但 TLS 握手指纹是 Python requests;时区是 UTC,IP 却在洛杉矶;鼠标瞬移直线移动,键盘零延迟输入。任何一处不自洽,就会被扣分。所以隐身层必须做四件事:浏览器指纹(Canvas/WebGL/AudioContext 噪声、Client Hints、字体列表)、网络层指纹(TLS/JA3、代理 IP 与地理位置对齐)、会话层(Cookie 与账号绑定、代理粘性)、行为层(鼠标轨迹、随机停顿、打字节奏)。
执行层则要绕开 CDP 本身留下的痕迹:Runtime.enable 的可检测性、navigator.webdriver、以及 Playwright 注入的全局变量,这也是 Patchright 一类方案存在的理由。
感知层是成本控制的关键。整页 DOM 动辄十几万 token,必须裁剪成可访问性树或带编号的截图标记(Set-of-Mark),否则一次任务烧掉的钱比人工还贵。同时它承担了 Agent 的“抗 UI 改版”能力:不依赖 CSS 选择器,而是依赖语义和视觉锚点,页面改版后仍能靠模型重新定位。
功能亮点与差异
第一,隐身不是插件而是地基。 多数 Agent 项目把 stealth 当成可选依赖,一旦站点升级风控就全线崩溃;这里把指纹一致性和行为节律放进主链路,失败重试时会连同指纹一起轮换。
第二,任务级抽象替代脚本级抽象。 用户写的是意图,不是 page.click("#submit")。对需要维护几十个站点采集流程的团队,这能省掉大量回归测试成本。
第三,自托管带来的合规与数据主权。 相比云端 Agent 产品,凭证、Cookie、抓取内容全部留在自己机器上,对金融、医疗、政企场景是硬需求。
第四,与爬虫生态的同源基因。 作者 feder-cr 在数据采集工具上已有积累,这类项目通常更在意代理池管理、并发调度、失败重放这些“脏活”,而不是只做一个漂亮的 Demo。
应用场景与落地建议
适合:竞品价格监控、招聘与舆情采集、需要登录态的 SaaS 批量操作、市场调研中的半结构化信息提取、内部 RPA 替代。不适合:高频并发的大规模抓取(LLM 延迟和成本不划算)、强监管的交易类操作、以及任何你无法承担 ToS 风险的业务。
生产落地有几条硬建议:代理质量优先级高于一切,住宅代理加会话粘性比再多的指纹补丁都管用;一实例一指纹一账号,指纹复用是账号关联封禁的头号原因;把节律当产品特性,人为限速、随机停顿、夜间降频,别把 stealth 当免死金牌;做可观测性,录屏加 trace 回放,失败样本回流成回归集;控成本,DOM 裁剪、截图压缩、中间状态缓存,别让每一步都重新推理。
综合评价
优点很明确:定位精准,把“反检测”和“Agent 编排”这两件长期割裂的事缝到了一起;自托管、任务级抽象、失败可重放,工程取向清晰。
短板同样明显:项目仍在早期,稳定性与文档成熟度需要时间验证;LLM 推理的延迟让它难以胜任毫秒级交互;成本随任务复杂度线性上升;最根本的是,反检测是一场没有终点的军备竞赛,任何 stealth 方案都有保鲜期,把它当作“能力上限”而非“承诺”才是正确心态。
一句话总结:它不是又一个套壳 Agent,而是一套把隐身当作第一性原理的浏览器自动化底座——值得在生产环境的边缘业务先跑起来,但别指望它替你解决合规和规模化的全部问题。
评论