开发者与自动化
用 Playwright、本地 API 和 MCP 自动化指纹浏览器
AliasMode 提供三种自动化方式:本地 API、脚本库和 MCP 服务器。三种都免费,按你的技术栈选择。
一句话回答
AliasMode 的本地 API 兼容 AdsPower 的 /api/v1 接口,调用 browser/start 启动环境并拿到 CDP 地址,再用 Playwright 的 connectOverCDP 连接即可。不写外部程序的话,可以在应用内的脚本库运行 JavaScript 或 Python 脚本;想让 Claude Code、Codex 等 AI 智能体直接操作环境,就用 MCP 服务器。
方式一:本地 API + Playwright
AliasMode 桌面端默认在 http://127.0.0.1:50400 提供本地 API,实现了 AdsPower /api/v1 接口的一个子集:状态检查、环境的列表/创建/更新/删除、分组、浏览器启动和停止、Cookie 和缓存。没有列在文档里的 AdsPower 接口不要默认可用。
流程是三步:用 /api/v1/user/list 找到环境 ID;调用 /api/v1/browser/start?user_id= 启动环境,从返回的 data.ws.puppeteer 读取 CDP 地址;再用 Playwright 的 chromium.connectOverCDP 连接。连接后的浏览器使用该环境自己的数据、代理、Cookie 和登录状态。这种方式适用于 Chromium 环境。
返回格式是 { code, msg, data },code 为 0 表示成功。HTTP 状态正常时 code 也可能是 -1,两个都要检查。脚本结束时先断开 Playwright,再调用 browser/stop 停止环境。
// 先用 curl 'http://127.0.0.1:50400/api/v1/user/list' 找到环境 ID
const res = await fetch('http://127.0.0.1:50400/api/v1/browser/start?user_id=' + profileId);
const { data } = await res.json();
const browser = await chromium.connectOverCDP(data.ws.puppeteer);
const context = browser.contexts()[0];
// 在已登录的环境里执行自动化
await browser.close();
await fetch('http://127.0.0.1:50400/api/v1/browser/stop?user_id=' + profileId);- 调用失败时,先确认 AliasMode 桌面端已经打开,并用 curl http://127.0.0.1:50400/api/v1/status 检查接口是否返回 JSON。
- 确认环境 ID 来自 /api/v1/user/list,并且这个环境仍然存在。
- 同时检查 HTTP 状态和返回里的 code、msg。没有拿到 CDP 地址,就按启动失败处理。
- 删除环境前先停止它的浏览器。同一个环境同一时间只交给一个自动化程序操作,避免动作互相覆盖。
方式二:脚本库,多环境并行运行
在应用的“脚本”页面直接编写 JavaScript 或 Python 的 Playwright 脚本。Windows 版已内置 Node.js、Python 和 Playwright,不需要另外安装。脚本在 AliasMode Firefox 和 Chromium 环境上都能运行。
运行时选择一个、多个环境或整个文件夹,设置同时运行的浏览器数量(默认 10,设为 1 就逐个运行),日志实时显示,随时可以停止。并行运行时每个浏览器仍使用自己的会话和代理。公开脚本库里的社区脚本可以先读源码,再导入一份私有副本。
async def run(page, profile, log, **_):
await page.goto('https://example.com')
log(profile['name'], await page.title())方式三:MCP 服务器,让 AI 智能体操作环境
MCP(Model Context Protocol)是 AI 客户端调用外部工具的标准协议。AliasMode 安装包自带 MCP 服务器,提供列出、创建、删除环境,打开和关闭浏览器等工具,以及在选中浏览器里点击、输入、截图的 Playwright 工具。
本地 MCP 通过 stdio 运行在保存环境的电脑上,支持 Claude Code、Codex 等客户端,本地模式下不需要账号。在安装目录运行 aliasmode-mcp setup --yes,可以把 AliasMode 注册到检测到的客户端。远程 MCP 通过 AliasMode 云端发布同样的工具,Claude.ai 和 ChatGPT 用 OAuth 连接,需要云端模式和一台已登录、正在运行的 Windows 电脑。
如果桌面端没有打开,本地 MCP 服务器会在后台启动它并等待就绪,定时运行的智能体任务不会因为没人打开应用而失败。打开浏览器的工具会同时选中这个浏览器,之后的 Playwright 操作都在它里面执行,使用该环境自己的数据、代理和指纹。
三种自动化方式对比
| 方式 | 适合场景 | 语言 | 是否需要账号 | 运行位置 |
|---|---|---|---|---|
| 本地 API + Playwright | 已有 AdsPower 脚本,或自己编排任务 | 任意语言调用 HTTP,Playwright 连接 CDP | 不需要 | 只能在本机回环地址调用 |
| 脚本库 | 在多个环境上批量跑重复任务 | JavaScript、Python | 运行不需要;发布脚本需登录云端 | 应用内运行 |
| MCP 服务器 | 让 AI 智能体用自然语言操作环境 | 无需编程 | 本地 stdio 不需要;远程 MCP 需要云端模式 | 本地 stdio 或经云端的远程 MCP |
自动化常见问题
AdsPower 的脚本能直接用吗?
大部分常用接口可以。AliasMode 本地 API 兼容 AdsPower /api/v1 的一个子集,包括 browser/start、browser/stop、user/list、group/list 等,通常把地址改成 127.0.0.1:50400 即可。没有实现的接口不能用,迁移前请对照英文文档里的接口列表。
指纹浏览器自动化支持 Python 吗?
支持。脚本库可以直接写 Python 的 Playwright 脚本;外部程序也可以用 Python 调用本地 API,再通过 CDP 连接。
什么是 MCP?
MCP 是让 AI 客户端调用外部工具的协议。接入 AliasMode 的 MCP 服务器后,Claude Code、Codex、Claude.ai 或 ChatGPT 可以直接打开环境、浏览网页、填写表单。
能远程控制环境吗?
本地 API 不能远程开放,它没有身份验证。需要远程控制时用远程 MCP:开启云端模式,保持 Windows 电脑登录并运行,再用 OAuth 连接 Claude.ai 或 ChatGPT。