大多数采集失败都栽在同样两件事上:发出请求的客户端一看就不是浏览器,而它请求时用的地址一看就是数据中心。第一件事 Argus 回答了两次。对于它已经有采集器的服务,请求直接走普通 HTTP 发出,带着真实浏览器的 TLS 指纹,全程不打开任何窗口。其余的一切,则有跑在真实环境上的真实 Chromium,由你不写代码搭出来的流程、或者你自己经由本地 API 调用的脚本来驱动。第二件事两条路的答案一样:用你自己的代理,每个环境一个。下面几节讲的就是要紧的部分。
采集器
29个完全不打开窗口的采集器
最快的采集,是那种根本不启动浏览器的采集。对于 Argus 已经做了卡片的服务——Maps 商户信息,Instagram、TikTok、X 和 LinkedIn 的主页与帖子,Shopify 商品目录,还有四个招聘网站——一个采集器接收一份表单,返回一张有类型的表。请求经由该环境的代理走普通 HTTP 发出,带的是真实浏览器的 TLS 指纹和请求头,而不是某个 Python 客户端的。一次在窗口里要花八到十分钟的 Maps 搜索,不开窗口大约六秒就跑完了。
每张卡片都是针对某一个服务自己的响应写出来、并且拿它来实测过的,所以它的页面会准确说明它要什么,以及它写出的表格的每一列——一共29张,而这些列的清单是从应用里生成的,不是描述出来的。它们不占用你套餐里的任何自动化名额,可以从标签页运行、按日程运行、由智能体通过 MCP 运行,也可以作为更大流程中间的一个步骤运行。其中除了2个之外,全都在未登录状态下采集。
它们都不会做的事是驱动页面,这里也没有“帮我把这个 URL 抓下来”。当数据只存在于渲染后的 HTML 里,或者这份活儿要操作你自己的账号时,答案是下一节。
浏览器
其余的一切,交给一个真实的浏览器
无头客户端栽的,正是浏览器不用人吩咐就会做的那些事:页面的脚本会运行,字体和 canvas 会解析出来,布局会稳定下来,而只有在这一切之后才出现的内容也就出现了。Argus 的会话是普通的 Chromium 会话,所以你采到的那一页,就是一个人会看到的那一页。
底下的身份是生成出来的,而不是藏起来的。每个环境都得到一套自洽的硬件身份——平台、CPU 核心数、内存、屏幕、时区、语言,以及在渲染器里处理、而非由脚本包装函数处理的 canvas、WebGL 和音频。页面读到替换后的值,是因为那里只有这一个值,而不是因为有什么东西拦截了真的那个。正是为了这个区别,Argus 才自己出一个浏览器,而不是去自动化别人的浏览器。
代理
你自己的出口,在被信任之前先做检查
Argus 不卖你流量,也不代转你的流量。代理由你从本来就在用的服务商那里带来,放在一个共享代理库里,每个环境分配一个。HTTP 和 SOCKS5 都能用,包括普通 Chromium 完全不会说的那种带认证的 SOCKS5。
健康检查会报告出口 IP、所属国家和延迟,并对新加入的或正在失败的代理自动运行——是并发跑,而不是一个一个来。检查不通过的代理会拦下启动,而不是让你的真实地址漏进一次采集;另有一轮较慢的后台巡检会经由每个代理去加载真实站点,好让某一行能说清是哪个站点拒绝了它。巡检里用哪些站点、以及其中哪些严格到足以拦下启动,都由你的工作区自己来定。
自动化
把这次运行搭出来,而不是写出来
一条自动化流程就是画布上一组有先后顺序的步骤——导航、等待、读取、点击、提取、分支、循环——它在你选定的环境里执行,用的是该环境的代理、Cookie 和指纹。这就是你本来会亲手打开的那次会话,只是不用你的手。
运行可以从某个环境的起始页发起、从日程发起,也可以从你自己的代码发起。每次运行都有记录,所以你可以回头读每一步到底做了什么,而不是猜某个字段为什么是空的。

数据集
行落进一张表里,而不是落进日志
一次把结果打印到控制台的采集,没有留下任何持久的东西。Argus 会写进一个数据集:一张归你工作区所有的表,列名和类型都由你来定——文本、数字、复选框、日期、选择、标签、URL、邮箱、电话。它存在工作区里,而不是某一台机器上,所以同事打开的和你打开的是同一张表。
保存行的步骤写下今天的结果;加载行的步骤把明天的待办清单读回来——正是这一点,把一次性的采集变成了一项常设工作。导入 CSV、JSON、TXT 或 XLSX 可以初始化一张表或往里追加,可以在网格里直接编辑、筛选、排序、冻结第一列,需要把数据带走时也可以整表导出为 CSV 或 JSON。

本地 API · MCP
或者用你自己的代码把整件事跑起来
如果你更想自己来编排,启动器提供了一套本地 HTTP API:创建和修改环境、分配代理、更新指纹、启动会话、运行自动化流程并读回它做了什么。密钥的作用范围限定在你指定的文件夹上,并且可以创建、列出和吊销。
它是回环的——在你的机器上,不在我们的机器上。没有托管的接口,你采集的任何东西都不会经过我们。同一套能力也通过 MCP 暴露出来,所以智能体可以用和你一样的工具来驱动它;而任何新客户端的第一个请求,都会先在应用里弹出一个允许或拒绝的提示,然后才会被响应。API 和 MCP 工具都不设套餐门槛——两者在免费档上都能用。
可接受使用
这件事到哪里为止
我们宁可说得具体,也不愿含糊。在你自己的账号里自动化你自己的工作,以及采集在法律上你有权访问的数据,都是 Argus 的常规用法,我们的可接受使用政策也是这么明确写的。
同一份政策所禁止的,是以违反数据保护法的方式收集个人数据,或者处理你没有合法依据去处理的个人数据——以及登录不属于你的账号、攻击或使某项服务过载。这些界线画在法律划定的地方,而不是画在方便的地方。
随之而来的问题
这是无头采集器吗?
恰恰相反。Argus 的会话是带窗口的普通 Chromium 会话,这也正是页面能完整回来的原因:脚本会运行,字体和 canvas 会解析出来,布局会稳定下来,而只有在这一切之后才出现的内容也就出现了。无头客户端恰恰栽在这些事情上。底下的身份是生成出来的,而不是藏起来的——canvas、WebGL 和音频在渲染器里处理,而不是由脚本包装函数处理,所以页面读到被替换的值,是因为那里只有这一个值。
我必须写代码吗?
不必,但你可以。自动化流程是在应用里搭出来的一棵步骤树——导航、点击、输入、提取、跑脚本、问模型、分支、循环、通知——针对一个环境、经由它的代理、Cookie 和指纹来运行。如果你更想自己驱动,启动器提供了一套带作用范围密钥的本地 HTTP API,覆盖环境和代理的管理、指纹更新、启动会话以及编写自动化流程。
这个 API 是托管的吗?我能从我的服务器调用它吗?
它只在本地。API 监听在运行 Argus 的那台机器的回环地址上,所以这台机器之外的任何东西都够不到它;没有托管的网页 API,没有要安装的 SDK,也没有速率限制。密钥在启动器的 API 标签页里生成,只显示一次,并且可以限定到文件夹;任何新客户端的第一个请求,都会先在应用里弹出一个允许或拒绝的提示,然后才会被响应。
采集到的行最后落在哪里?
默认落进你工作区里的一个数据集——一张有类型的表,列名由你来定,与你所在的组织共享;保存行的步骤往里写,加载行的步骤在下次运行时把它读回来。把同一个步骤指向一个数据连接器,它就会落到你送去的地方。数据集也可以通过导入 CSV、JSON、TXT 或 XLSX 文件来建立,可以在网格里编辑,也可以整表导出。
我睡觉的时候,采集会在云端跑吗?
不会。自动化流程跑在你自己机器上的桌面应用里,所以启动器关着的时候什么都不会执行,而它关着时错过的那个日程时段会被标为错过并跳过,而不是事后补跑。保持唤醒会请求操作系统在启动器运行期间不要进入闲置睡眠;而登录同一个工作区的两台机器不会把一个时段跑两遍——先到的那台认领它,另一台让开。
什么是明确不允许的?
我们的可接受使用政策禁止以违反数据保护法的方式收集个人数据、处理你没有合法依据去处理的个人数据、登录不属于你的账号,以及攻击或使某项服务过载。这些界线画在法律划定的地方。采集公开页面不在这份清单上,政策也明确这么写着。

