Chrome CDP 链路关系图

Hermes 如何隔着两台机器操作 win-client 上的浏览器 · 实测于 2026-10-19

acer-server · 192.168.110.112 win-client · 192.168.110.246 · Windows 10 19045 Windows 任务计划程序 Hermes Agent Discord 里回你话的“我” 发 HTTP/WebSocket 指令 cdp-tunnel.service systemd 常驻 · Restart=always 自己不听 Chrome,只做管道 监听本机 127.0.0.1:9222 ChromeCDP 触发:登录时 · 只跑一次 负责把 Chrome 用正确参数拉起来 ChromeCDPGuard 触发:每 3 分钟 探活,死了就重启(wscript 启动,无窗口) Chrome 浏览器 10 个 chrome.exe 进程 CDP 调试端口 127.0.0.1:9222 Chrome 内建,非独立程序 主进程 pid 7656 browser 进程 占着 9222 的就是它 渲染 / GPU / 网络 / 扩展 子进程 ×9 启动参数: --remote-debugging-port=9222 --user-data-dir="C:\ChromeCDP\profile" CDP 只绑 127.0.0.1,改不了(M113+ 强制) 所以必须靠 SSH 隧道才能跨机器访问 登录态存这里 C:\ChromeCDP\profile agent.jlpay.com 的 jwtToken 在 sessionStorage Chrome 一关就丢,脚本救不回来 这是 Guard 存在的真正理由 读页面 / 点击 / 执行 JS SSH 端口转发 -L 9222:127.0.0.1:9222 登录时启动 探活 保证不关 → 保住登录态 读写 图例 Hermes Agent systemd 服务 / 机器边界 Windows 计划任务 Chrome / CDP 端口 登录态数据 保活 / 恢复动作 任务计划程序分组 虚线箭头 = 守护/握手动作  实线箭头 = 数据流

一句话记住四层

  • Chrome · 唯一真干活的,10 个进程
  • CDP · Chrome 自带的功能,不是程序
  • CDP / CDPGuard · 两个计划任务,负责起和捞
  • cdp-tunnel · acer 上的 SSH 管道,只搬数据

坏了会怎样

  • Chrome 挂 · 9222 消失 → Guard 3 分钟内拉起
  • Guard 挂 · 暂无影响,等 Chrome 真挂就没人管
  • 隧道挂 · 我连不上,Chrome 和登录态无恙
  • CDP 没开 · Chrome 在跑但 9222 空 → Guard 重开

三个容易搞混的点

  • CDP 端口不能监听局域网,官方锁死 127.0.0.1
  • Guard 保的是登录态,不只是端口别断
  • 桌面上可能有两个 Chrome:只有走 C:\ChromeCDP\profile 的那个带 9222

实测状态 · 当前

  • 隧道 pid 212822,已连 1h41m
  • Chrome 155.0.8059.85,主进程 7656
  • 9222 双向 LISTEN 正常
  • Guard 每 3 分钟触发,已无黑窗口