Skip to content

provider 命令

🔌 `snir provider` — 启动共享 CDP Provider。

启动一个常驻 Chrome/CDP 端点,让多个进程的 worker 复用同一 Chrome,避免每个进程各自拉浏览器。

用法

bash
snir provider [flags]

标志

标志默认说明
--port9223Provider 服务监听端口
--chrome-port9222Chrome 远程调试端口
--max-concurrent10最大并发截图数
--idle-timeout0浏览器空闲超时(如 5m0=不自动关闭)
--chrome-pathChrome 可执行文件路径
--user-agent自定义 UA
--proxy代理服务器地址

示例

bash
# 启动共享 Provider
snir provider --port 9223 --max-concurrent 20

# 空闲 5 分钟自动关闭 Chrome
snir provider --idle-timeout 5m

# 指定 Chrome 路径与代理
snir provider --chrome-path /usr/bin/chromium --proxy http://127.0.0.1:8080

多 worker 复用

Provider 的 Chrome 进程在空闲超时下的状态流转:

各 worker 用 --wss 连接 Provider 暴露的 Chrome:

bash
# 在 worker 进程中
snir scan example.com --wss ws://provider-host:9222/devtools/browser/<id>

适合场景

  • 多 agent / 多 worker 并发采集
  • 跨进程资源复用,降低 Chrome 启动开销
  • 集中式浏览器管理

与 DriverPool 的区别

两层复用,别搞混

层级机制复用范围启动开销
DriverPool(进程内)同进程复用一批 Driver单进程多任务
provider(跨进程)多进程共享同一 Chrome 端点多进程/多 worker集中管理

进程内并发用 DriverPool 即可;只有跨进程/跨机器共享浏览器时才需要起 provider

并发与池

下一步

基于 MIT 许可发布