痛点与目标
在使用 AI 助手进行联网调研时,常遇到两个棘手问题。
首先是登录状态丢失。AI 启动的浏览器通常是全新的环境,没有 Cookie 和登录凭证。这意味着每次操作 Twitter、GitHub 或 Google 都需要重新登录,甚至触发风控机制。
其次是手动干预频繁。如果使用 Chrome 插件模式,每次 AI 需要连接浏览器时,用户必须手动点击插件图标。一旦 OpenClaw 重启或切换标签页,往往又得重复操作。这并非真正的自动化,而是半自动化的妥协。
理想的方案应当是:
- 保留完整的登录状态
- 无需任何手动点击
- 服务重启后自动重连
- 使用真实指纹避免被识别为机器人
核心思路:Chrome Debug 模式
利用 Chrome 的远程调试功能(Remote Debugging),配合独立的用户数据目录,即可实现上述目标。
为什么不能直接用默认配置?
出于安全考虑,Chrome 禁止在默认数据目录上开启远程调试端口。如果允许,本地任意程序都能接管你的浏览器,读取密码和历史记录。
因此我们需要创建一个隔离的环境:
- 新建一个 Chrome 数据目录
- 将现有浏览器的关键文件(Cookies、Login Data 等)复制过去
- 使用该目录启动带调试端口的 Chrome 实例
这样既能继承登录信息,又能让外部工具通过 CDP 协议控制浏览器。
配置步骤
1. 创建数据目录并迁移登录信息
在终端执行以下命令,将当前 Chrome 的登录状态复制到新目录。
# 创建新的数据目录
mkdir -p "$HOME/Library/Application Support/Google/Chrome-Debug/Default"
# 进入原数据目录
cd "$HOME/Library/Application Support/Google/Chrome/Default"
# 复制关键文件到新目录
cp Cookies "Login Data" "Web Data" Preferences "Secure Preferences" \
"$HOME/Library/Application Support/Google/Chrome-Debug/Default/"
# 复制全局状态文件
cp "$HOME/Library/Application Support/Google/Chrome/Local State" \
"$HOME/Library/Application Support/Google/Chrome-Debug/"
这些文件包含了所有网站的登录态、保存的密码以及表单填充数据。复制完成后,新的 Chrome 实例将直接拥有你的登录身份。
2. 编写启动脚本
我们需要一个专门的启动器来开启调试端口。在 macOS 上可以创建一个 App Bundle。
# 创建应用结构
-p
> <<
-arm64 \
--remote-debugging-port=9222 \
--user-data-dir= \
EOF
+x


