10.3 登录态持久化
想象一下这个场景:
你配置好了自动发帖任务,满怀期待地点击运行。
浏览器打开了小红书,AI 准备点击发布按钮——
突然跳转到登录页面。
你叹气:昨天不是刚登过吗?怎么又没了?
浏览器自动化最大的痛点是什么?每次都要重新登录。
这不仅浪费时间,频繁登录还可能触发网站的安全验证。这一节,我们用 15 分钟,彻底解决登录持久化的问题。
Cookie 持久化原理
托管浏览器之所以能持久化登录状态,核心在于用户数据目录(User Data Directory)。
当你登录一个网站时,浏览器会保存:
| 数据类型 | 存什么 | 用途 |
|---|---|---|
| Cookie | 会话标识、登录凭证 | 保持登录状态 |
| LocalStorage | 本地存储的令牌 | 记住用户偏好 |
| IndexedDB | 更复杂的本地数据 | 离线数据缓存 |
这些数据都存储在配置文件的用户数据目录中。只要这个目录不被删除,下次启动浏览器时登录状态依然存在。
OpenClaw 的默认配置:
- 用户数据目录:
~/.openclaw/browser/openclaw/user-data - 每个配置文件有独立的目录
- 删除配置文件时会将数据移至回收站(不会直接丢失)
试一试:验证登录持久化
第一步:启动浏览器并登录
bash
openclaw browser start
openclaw browser open https://xiaohongshu.com在打开的浏览器中手动登录你的小红书账号。
第二步:关闭浏览器
bash
openclaw browser stop第三步:重新启动,检查登录状态
bash
openclaw browser start
openclaw browser open https://xiaohongshu.com如果配置正确,你应该直接进入已登录状态,不需要再次输入账号密码。
如何保持登录状态
方法 1:正常使用托管浏览器(推荐)
只要使用 openclaw 配置文件,登录状态会自动持久化。
bash
# 正常使用
openclaw browser --browser-profile openclaw start
# ... 登录操作 ...
openclaw browser --browser-profile openclaw stop
# 下次启动,登录状态还在
openclaw browser --browser-profile openclaw start方法 2:手动管理 Cookie
如果需要导出/导入 Cookie,可以使用 CLI:
bash
# 查看当前 Cookie
openclaw browser cookies
# 设置特定 Cookie
openclaw browser cookies set session "abc123" --url "https://example.com"
# 清除所有 Cookie
openclaw browser cookies clear方法 3:备份用户数据目录
如果你想在多台机器间迁移登录状态,可以备份用户数据目录:
bash
# 备份
zip -r ~/openclaw-browser-backup.zip ~/.openclaw/browser/openclaw/user-data
# 恢复(在另一台机器)
unzip ~/openclaw-browser-backup.zip -d ~/.openclaw/browser/openclaw/多账号管理
如果你有多个账号需要管理(比如多个小红书账号),推荐以下方案:
方案:多配置文件隔离
json5
// ~/.openclaw/openclaw.json
{
"browser": {
"enabled": true,
"profiles": {
"xhs_account_1": {
"cdpPort": 18801,
"color": "#FF4500"
},
"xhs_account_2": {
"cdpPort": 18802,
"color": "#0066CC"
},
"xhs_account_3": {
"cdpPort": 18803,
"color": "#00AA00"
}
}
}
}每个配置文件有完全独立的:
- 用户数据目录
- Cookie 和 LocalStorage
- 登录状态
试一试:切换不同账号
bash
# 账号 1 发帖
openclaw browser --browser-profile xhs_account_1 start
openclaw browser --browser-profile xhs_account_1 open https://xiaohongshu.com
# ... 手动登录账号 1 ...
# 账号 2 发帖
openclaw browser --browser-profile xhs_account_2 start
openclaw browser --browser-profile xhs_account_2 open https://xiaohongshu.com
# ... 手动登录账号 2 ...注意事项
不要同时启动相同网站的多个账号
- 同时登录多个小红书账号可能导致会话冲突
- 建议按顺序操作:账号 1 完成 → 关闭 → 账号 2 开始
定期验证登录状态
- 某些网站会定期要求重新验证
- 可以设置定时任务检查登录状态
登录安全建议
1。 手动登录,不要自动输入密码
推荐做法:
- 第一次使用时,在托管浏览器中手动登录
- 让浏览器记住登录状态
- 后续自动化任务直接使用已登录状态
不推荐做法:
- 把账号密码提供给 AI
- 让 AI 自动填写登录表单
原因:
- 自动登录容易触发反机器人检测
- 可能导致账号被锁定
- 密码在日志中可能留下痕迹
2。 敏感账号使用专用配置文件
对于重要的社交媒体账号,建议:
- 创建独立的配置文件
- 不与其他任务混用
- 定期备份用户数据目录
3。 使用二次验证的账号
如果账号开启了二次验证(2FA):
- 在托管浏览器中登录时完成 2FA
- 选择"记住此设备"
- 后续自动化任务通常不需要再次验证
故障排查
问题 1:登录状态丢失
可能原因:
- 用户数据目录被清理
- 网站强制要求重新登录
- 配置文件被删除重建
排查:
bash
# 检查用户数据目录是否存在
ls -la ~/.openclaw/browser/openclaw/user-data
# 查看目录大小(如果很小,可能是空的)
du -sh ~/.openclaw/browser/openclaw/user-data问题 2:网站提示"在新设备登录"
原因:托管浏览器的指纹与你常用浏览器不同。
解决方案:
- 在托管浏览器中完成验证
- 选择"记住此设备"
- 避免频繁切换 User-Agent
问题 3:Cookie 过期
某些网站的 Cookie 有有效期限制。可以设置定时任务定期刷新:
bash
# 每天访问一次保持活跃
openclaw schedule add --name "keep-alive" --cron "0 9 * * *" \
--command 'browser open https://xiaohongshu.com'这一节,你做了什么
| 学了什么 | 核心理解 |
|---|---|
| Cookie 持久化 | 用户数据目录保存登录状态 |
| 保持登录 | 正常使用托管浏览器即可 |
| 多账号管理 | 多配置文件隔离,互不干扰 |
| 安全建议 | 手动登录,不要自动输入密码 |
下一节
登录问题解决了,接下来我们来实战——让 AI 自动帮你发小红书。