@agentproto/adapter-browser-chromium

中文文档
0.2.6发布于 2026/11/01Apache-2.0TypeScriptES Module构建来源已验证近 30 天下载 4951

Chromium browser provider for agentproto: a defineBrowser provider that launches Playwright's Chromium on a dedicated profile dir, with an idempotent launch, CDP access and a BrowserDriver.

原始使用文档
文档目录4 节
  1. Install the binary
  2. F11: never the default Chrome profile
  3. Behaviour
  4. Tests

@agentproto/adapter-browser-chromium

The chromium browser provider for @agentproto/driver-browser: Chromium driven by Playwright on its own dedicated profile directory, with CDP access, network capture (including response bodies), screenshots and cookie injection.

import { chromium } from "@agentproto/adapter-browser-chromium"

const instance = await chromium.launch({ profile: "work" }, { log: console.log })
const driver = await instance.attach({ initialUrl: "https://example.com" })
await driver.close()
await instance.stop()

Install the binary

playwright-core is loaded lazily, on the first launch(). Importing this package needs no browser and no Playwright download. To get a Chromium build:

npx playwright install chromium

Or point CHROMIUM_EXECUTABLE_PATH (or launch({ executablePath })) at any Chromium build. Without a binary, launch() fails with a message that names this command.

F11: never the default Chrome profile

Chrome 136+ refuses --remote-debugging-port on the default user-data-dir, so this provider never attaches to it or launches against it. Every launch uses a fresh dedicated dir under ~/.agentproto/browser/chromium/profiles/<name> (override the root with AGENTPROTO_HOME or dataDir) and receives granted cookies by injection through attach({ sessionPayload }).

These requests are refused with the typed error browser:profile-refused (BrowserProfileRefusedError, from @agentproto/driver-browser):

  • a userDataDir, or a profile given as a path, that is or sits inside the default dir of Chrome, Chromium, Brave or Edge on this OS (symlinks resolved);
  • a profile naming a real Chrome profile (Default, Profile 1, ...);
  • fullProfile: true, or a --full-profile argument, until the grant model lands;
  • extra args that set --user-data-dir or --remote-debugging-*.

The check runs in resolveDedicatedProfileDir, and once more on the exact argv before Chromium starts. Tests cover each refusal.

Behaviour

  • launch() is idempotent per dedicated dir: a second launch of the same profile returns the same instance id with wasAlreadyRunning: true and never starts a second browser. A dir held by a live process outside this one is refused instead of shared.
  • Chromium starts with --remote-debugging-port=0; the real port is read from DevToolsActivePort, and endpoints.cdp is the browser websocket URL.
  • Headless by default; pass headless: false for a window (needs a display).
  • downloads is not offered: the driver port has no download verb, so the download conformance level is skipped.
  • stealth is false. For a stealth browser use @agentproto/adapter-browser-camofox.
  • Cookie values are never written to logs.

Tests

runConformance (core, interaction, network) runs against a local fixture server when a Chromium binary is available, and skips with a printed reason when it is not.

版本与发布记录

@agentproto/adapter-browser-chromium 共发布 8 个版本,首次发布于 2026/09/30;过去 12 个月发布了 8 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.2.6latest2026/11/016 天前
0.2.52026/10/2711 天前
0.2.42026/10/1919 天前
0.2.32026/10/1821 天前
0.2.22026/10/1029 天前
0.2.12026/10/0929 天前

关于 @agentproto/adapter-browser-chromium 的常见问题

@agentproto/adapter-browser-chromium 是什么?

Chromium browser provider for agentproto: a defineBrowser provider that launches Playwright's Chromium on a dedicated profile dir, with an idempotent launch, CDP access and a BrowserDriver.

如何安装 @agentproto/adapter-browser-chromium?

在项目目录运行 npm install @agentproto/adapter-browser-chromium,或使用 pnpm add / yarn add / bun add。

@agentproto/adapter-browser-chromium 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@agentproto/adapter-browser-chromium 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@agentproto/adapter-browser-chromium 可以商用吗?

@agentproto/adapter-browser-chromium 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@agentproto/adapter-browser-chromium 的下载量有多少?

根据 npm 官方下载统计,@agentproto/adapter-browser-chromium 在 2026/10/05 – 2026/11/03 这 30 天内被下载 4,951 次,日均约 165 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@agentproto/adapter-browser-chromium 还在维护吗?

最新版本 0.2.6 发布于 2026/11/01(6 天前);至今共发布 8 个版本,其中过去 12 个月发布了 8 个;首次发布于 2026/09/30。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。