> ## Content Index
> Fetch the complete content index at: https://tbbbk.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# AdsPower + AI 浏览器自动化：用本地 API、Playwright 和 MCP 驱动独立浏览器环境
- URL: https://tbbbk.com/adspower-local-api-ai-automation/
- Published: 2026-11-08T11:05:40.000Z
- Updated: 2026-11-08T11:05:40.000Z
- Description: 把 AdsPower 的独立浏览器环境接到 Playwright 脚本和 Claude Code 上，做多环境的浏览器自动化。
- Author: TuBaiBai
- Tags: AI 编程工具, AdsPower

*说明：文中 AdsPower 注册链接和邀请码 H1vkd0 是我的推广链接，通过它注册价格不变，我会拿到一点佣金。*

用 AI 做浏览器自动化，最麻烦的往往不是写脚本，而是**浏览器环境**：每个任务要独立的登录状态、Cookie 不能串、团队里几个人要共用同一套环境。AdsPower 本来是做多账号环境管理的工具，它的**本地 API** 和**官方 MCP** 正好能把这两件事接起来：一个账号、一个项目一个独立的浏览器环境，用 Playwright 脚本或者 Claude Code 这类 AI Agent 去驱动它。

这篇讲两种用法：用 Python Playwright 控制 AdsPower 环境，以及让 Claude Code 通过 MCP 直接操作浏览器。

## 先说清楚：本地 API 要付费版

AdsPower 免费版只能建 2 个环境，而且**不能用本地 API**，官方文档原话是 "A paid AdsPower plan is required to use the API"。所以想跟着这篇做自动化，需要：

- 开通付费版（专业版起，可选 10 / 20 / 50 / 100 个环境，季付、年付有折扣），具体价格以[官网](https://www.adspower.net/share/H1vkd0)为准
- 或者先用官方的 **7 天全功能免费试用**体验一下

注册地址：[AdsPower 注册链接](https://www.adspower.net/share/H1vkd0)，邀请码 **H1vkd0**。客户端支持 Windows、macOS 和 Linux（Ubuntu 22.04 及以上）。

## 第一步：开启本地 API，拿到 API Key

1. 安装并登录 AdsPower 客户端
2. 进入 **账户管理 → 设置 → Local API**
3. 记下接口地址，默认是 `http://local.adspower.net:50325`（也可以用 `http://localhost:50325`，端口以这个页面显示的为准）
4. 点 **Generate api-key** 生成 API Key。一个账号只有一个 Key，重新生成后旧的立刻失效

先在浏览器里打开 `http://local.adspower.net:50325/status` 测一下，返回 `{"code":0,"msg":"success"}` 就说明接口通了。

开了安全校验的话，之后所有请求都要带请求头：

```
Authorization: Bearer 你的API_KEY
```

注意本地 API 依赖 AdsPower 客户端在运行，客户端关了接口就不通了。

## 第二步：用 Python Playwright 控制一个环境

思路是：调接口启动某个环境 → 接口返回一个调试地址 → Playwright 用 `connect_over_cdp` 连上去，之后就和平时写 Playwright 一样了。

先装依赖：

```
pip install requests playwright
```

完整示例（打开第一个环境、访问网页、打印标题、关闭）：

```
import requests
from playwright.sync_api import sync_playwright

API = "http://local.adspower.net:50325"
HEADERS = {"Authorization": "Bearer 你的API_KEY"}

def first_profile():
    r = requests.get(f"{API}/api/v1/user/list", params={"page_size": 10}, headers=HEADERS).json()
    return r["data"]["list"][0]["user_id"]

def start(user_id):
    r = requests.get(f"{API}/api/v1/browser/start", params={"user_id": user_id}, headers=HEADERS).json()
    if r["code"] != 0:
        raise RuntimeError(r["msg"])
    return r["data"]["ws"]["puppeteer"]

def stop(user_id):
    requests.get(f"{API}/api/v1/browser/stop", params={"user_id": user_id}, headers=HEADERS)

uid = first_profile()
ws = start(uid)
with sync_playwright() as p:
    browser = p.chromium.connect_over_cdp(ws)
    context = browser.contexts[0]
    page = context.pages[0] if context.pages else context.new_page()
    page.goto("https://example.com")
    print(page.title())
    browser.close()
stop(uid)
```

几个要点：

- **查询环境列表**的 `page_size` 默认只返回 1 条，最多 100，要列多个记得传参数
- **启动接口**返回的 `data.ws.puppeteer` 就是给 Playwright / Puppeteer 用的 WebSocket 地址；用 Selenium 的话取 `data.ws.selenium` 和 `data.webdriver`
- 想不弹窗口在后台跑，启动时加参数 `headless=1`
- 用连接上去的那个 context，不要自己 `new_context()`，否则用的就不是这个环境的 Cookie 和设置了
- 新版还有一套 v2 接口（`POST /api/v2/browser-profile/start`，传 `profile_id`），返回格式一样，二选一就行

接口有频率限制：环境数 200 以内是每秒 2 次，部分接口每秒 1 次。批量启动时记得加间隔。

## 第三步：让 Claude Code 通过 MCP 直接操作浏览器

这是最省事的玩法。AdsPower 官方出了 MCP 服务（npm 包 `local-api-mcp-typescript`），提供打开环境、新建环境、跳转网页、点击、填表、截图、读取页面文字等二十多个工具。接上之后，你直接用中文跟 AI 说要做什么就行。

需要 Node.js 18 以上，并且本机装着、开着 AdsPower。在 Claude Code 里添加：

```
claude mcp add adspower -e API_KEY=你的API_KEY -e PORT=50325 -- npx -y local-api-mcp-typescript
```

用 Cursor、Cherry Studio 这类支持 MCP 的客户端也一样，命令填 `npx -y local-api-mcp-typescript`，环境变量填 `API_KEY` 和 `PORT`。

添加好之后，在对话里就可以这样用：

- "列出我 AdsPower 里的浏览器环境"
- "打开名字叫『资料收集』的环境，访问某某网页，把页面上的价格表整理成表格"
- "打开环境 3，截一张当前页面的图"

AI 会自己调用对应的工具去操作那个独立的浏览器环境，登录状态都是这个环境自己的，不会跟你日常用的浏览器混在一起。

如果你还没装 Claude Code，或者想让它走更便宜的模型，可以看 [Claude Code 接入 DeepSeek](https://tbbbk.com/claude-code-codex-deepseek-flash-setup/)；想了解另一个浏览器 Agent 工具，可以看 [Browser Use CLI 教程](https://tbbbk.com/browser-use-cli-guide-2026/)。

## 适合用来做什么

- **团队共用环境**：运营、客服几个人共用同一批店铺或社媒后台，每个账号一个环境，分享环境就行，不用到处发密码
- **按项目隔离**：每个项目、每个客户一个独立环境，Cookie 和登录状态互不影响
- **自动化自己的重复工作**：定时登录自己的后台导出报表、整理资料、填写固定格式的表单

最后提醒一句：自动化操作要遵守目标网站的服务条款。AdsPower 自己的条款也写明，禁止用来欺诈、冒充或绕过网站的安全机制，自动化导致第三方账号被限制的后果由用户自己承担。别拿它去批量注册、刷量。

参考：[AdsPower Local API 文档](https://localapi-doc-en.adspower.com/docs/Rdw7Iu)、[官方代码示例](https://localapi-doc-en.adspower.com/docs/K4IsTq)、[AdsPower MCP（npm）](https://www.npmjs.com/package/local-api-mcp-typescript)。文中代码按官方文档和示例整理。