Skip to content

10.3 登录态持久化


想象一下这个场景:

你配置好了自动发帖任务,满怀期待地点击运行。

浏览器打开了小红书,AI 准备点击发布按钮——

突然跳转到登录页面。

你叹气:昨天不是刚登过吗?怎么又没了?

浏览器自动化最大的痛点是什么?每次都要重新登录。

这不仅浪费时间,频繁登录还可能触发网站的安全验证。这一节,我们用 15 分钟,彻底解决登录持久化的问题。


托管浏览器之所以能持久化登录状态,核心在于用户数据目录(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

如果需要导出/导入 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. 不要同时启动相同网站的多个账号

    • 同时登录多个小红书账号可能导致会话冲突
    • 建议按顺序操作:账号 1 完成 → 关闭 → 账号 2 开始
  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

某些网站的 Cookie 有有效期限制。可以设置定时任务定期刷新:

bash
# 每天访问一次保持活跃
openclaw schedule add --name "keep-alive" --cron "0 9 * * *" \
  --command 'browser open https://xiaohongshu.com'

这一节,你做了什么

学了什么核心理解
Cookie 持久化用户数据目录保存登录状态
保持登录正常使用托管浏览器即可
多账号管理多配置文件隔离,互不干扰
安全建议手动登录,不要自动输入密码

下一节

登录问题解决了,接下来我们来实战——让 AI 自动帮你发小红书

基于 MIT 许可发布