仪表盘

这里不只是看“成没成功”,还会告诉你:写后校验有没有通过、页面是不是跳到了异常登录页、有没有触发重试、以及当前 AT 过期时间。同时内置了 GitHub Release 检查更新与一键升级。

🖥️ 打开登录页面
Chrome 状态
运行中
最近刷新时间
2026-03-09 20:25:41 (UTC+8)
最近结果
❌ 失败
自动刷新频率
30 分钟
下次自动刷新
2026-03-09 20:55:41 (UTC+8)
倒计时:
当前版本
v0.2.5-3-g6504905-dirty
最新 Release
v0.2.5
更新状态
✅ 稳定
健康检查
⚠️ 异常
写后校验
AT 过期时间
页面预热
✅ 正常
重试次数
2

关键状态摘要

这次到底算不算“真成功”?

不算,最近一次没有通过完整刷新链路。

页面状态

预热后落在:https://labs.google/fx/vi/tools/flow

重试机制

现在默认失败会自动重试 1 次,重试间隔 3000ms

校验状态

页面预热

正常

写后校验

未知

Flow2API API

失败

验证详情

Flow2API 地址
http://127.0.0.1:38000
Flow2API Host
127.0.0.1
Token 邮箱
数据库路径
Token ID
ST 指纹(当前)
ST 指纹(库内)
指纹比对
未确认
当前项目
项目 ID
尝试次数
2

最近一次 Flow2API 响应

暂无返回内容。第一次成功刷新后,这里会显示 Flow2API 的响应。

最近一次完整状态 JSON

{'time': 1773059141, 'cookie_count': 9, 'has_session_token': False, 'remote_debugging_port': 9223, 'flow2api_url': 'http://127.0.0.1:38000', 'flow2api_host': '127.0.0.1', 'prewarm': {'strategy': 'aggressive', 'mode': 'exact+goto', 'page_url': 'https://labs.google/fx/vi/tools/flow', 'page_state': {'url': 'https://labs.google/fx/vi/tools/flow', 'is_abnormal': False, 'reason': 'ok'}, 'settle_ms': 5000, 'nav_timeout_ms': 45000, 'context_count': 1, 'page_count': 2, 'fallback_from': 'soft'}, 'success': False, 'error': 'No session token found', 'attempt': 2, 'attempts': [{'time': 1773059125, 'cookie_count': 9, 'has_session_token': False, 'remote_debugging_port': 9223, 'flow2api_url': 'http://127.0.0.1:38000', 'flow2api_host': '127.0.0.1', 'prewarm': {'strategy': 'aggressive', 'mode': 'exact+goto', 'page_url': 'https://labs.google/fx/vi/tools/flow', 'page_state': {'url': 'https://labs.google/fx/vi/tools/flow', 'is_abnormal': False, 'reason': 'ok'}, 'settle_ms': 5000, 'nav_timeout_ms': 45000, 'context_count': 1, 'page_count': 2, 'fallback_from': 'soft'}, 'success': False, 'error': 'No session token found', 'attempt': 1}, {'time': 1773059141, 'cookie_count': 9, 'has_session_token': False, 'remote_debugging_port': 9223, 'flow2api_url': 'http://127.0.0.1:38000', 'flow2api_host': '127.0.0.1', 'prewarm': {'strategy': 'aggressive', 'mode': 'exact+goto', 'page_url': 'https://labs.google/fx/vi/tools/flow', 'page_state': {'url': 'https://labs.google/fx/vi/tools/flow', 'is_abnormal': False, 'reason': 'ok'}, 'settle_ms': 5000, 'nav_timeout_ms': 45000, 'context_count': 1, 'page_count': 2, 'fallback_from': 'soft'}, 'success': False, 'error': 'No session token found', 'attempt': 2}], 'attempt_count': 2, 'retried': True}

登录向导

首次安装、登录失效,或者仪表盘持续显示“页面异常 + 刷新失败”时,用这里重新登录。

🔑 进入登录页面
1
启动登录浏览器

点击上方“启动登录浏览器”。服务器上的 Chrome 会在虚拟桌面里启动,并打开 Google Labs Flow 页面。

2
进入登录页面

点击“进入登录页面”,你会看到嵌入式 noVNC 页面。直接在里面像普通浏览器一样点、输、登录就行。

3
确认已经进入 labs.google

登录成功后,确保浏览器停留在 Google Labs / Flow 页面。不要关掉这个浏览器窗口。

4
回到仪表盘点击“立即刷新 Token”

如果看到“写后校验通过”,说明登录态已经被正确同步进 Flow2API,后续就交给 daemon 自动维护。

配置

这里放真正会影响稳定性的参数,包括刷新周期、预热等待和连接配置。

基础参数

示例:http://127.0.0.1:38000 或你自己的域名地址。
从 Flow2API 管理后台复制过来。它不是 Google 的 token,也不是 OpenAI/Claude 的 key。
登录态就保存在这里。换目录会导致需要重新登录。
Host Agent 通过这个端口附着到正在运行的 Chrome。
Linux 虚拟桌面 display,通常保持 :99 就行。
保存后会自动重启 daemon 并立即应用新频率。
手机或外部设备访问时,这里不要填 localhost,应填服务器可访问地址。
留空时会自动读取当前 git remote origin。建议明确填写,方便长期无人托管运行时更稳定。

帮助 / 原理 / 稳定性

这页解释它为什么比单纯“读 cookie -> 发请求”更稳,以及你该重点关注哪些状态。

工作原理

1. 浏览器登录态留在宿主机

Google Labs 的登录态保存在服务器上的 Chrome Profile 中,不塞进 Flow2API Docker 容器里。

2. Host Agent 先预热页面再读 Cookie

会先激活/打开 Flow 页面,等待页面状态稳定,再读取 __Secure-next-auth.session-token,减少拿到陈旧 ST 的概率。

3. 推送回 Flow2API 后再回读数据库

不是只看 HTTP 200,而是会直接核对 Flow2API 数据库里的 ST 指纹,确认真的写进去了。

资源与长期运行

Web UI 进程内存约 60MB
Daemon 进程内存很低
主要资源热点Chrome GPU/renderer
稳态策略预热 + 重试 + 校验

会不会越用越大?

理论上任何长期运行的浏览器都有积累开销的可能,尤其是在云服务器 + Xvfb 环境里。所以主要风险看作“Chrome 的长期稳定性”,而不是 Python 逻辑。

需不需要每天定时重启?

可以做,而且合理。如果你追求长期省心,可以加一个 systemd timer,每天低峰时段重启一次 browser/daemon/UI 服务,减少长期累积状态带来的偶发问题。

推荐运维策略

普通用户默认策略

刷新频率设置为 10–30 分钟;预热等待 5 秒;失败自动重试一次;只有登录失效时手动介入。

重点看什么

最重要的是:写后校验是否通过页面是否异常AT 过期时间是不是新的

异常排查顺序

先看“写后校验” → 再看“页面预热状态” → 再看“AT 过期时间” → 最后再考虑重新登录。