SuperAPI AI 工具集

browser-login

智能体与模型

查看项目

更新于 10-15 14:56

技能介绍

Browser Login

对目标站点执行一次认证,然后把得到的会话凭据保管起来,使后续技能(browser-extract、browser-form-fill、browser-test)可以复用,而无需重新驱动认证流程。该技能借鉴了 Browserbase 的 cookie-sync/SKILL.md 模式,但把结果上下文存储在 AgentDB 中,而不是托管后端上。

适用场景

  • 为智能体将反复访问的主机建立可复用的认证。
  • 刷新已过期的已保管 cookie 集合。
  • 捕获需要交互完成的、受 MFA 保护的会话。

步骤

  1. 通过 browser-record 打开一个已录制的会话。
  2. 驱动认证流程——用 browser_fill / browser_type 填写凭据。凭据来自用户或环境;不要从 .env 读取,也不要粘贴到 trajectory 参数中。
  3. 处理 MFA(当使用 --mfa 时):暂停等待用户输入,或调用用户的 TOTP 辅助工具;只捕获最终的重定向,不捕获验证码本身。
  4. 通过 browser_eval 捕获 cookie:

document.cookie // returns the cookie string for the active document

或在暴露该能力的地方使用 Playwright context API。

  1. AIDefence 清洗:

Each cookie value passes aidefence_scan to flag raw secrets / high-entropy tokens.

看起来是原始密钥的令牌在存入 AgentDB 之前会被 vault 包装(一个不透明句柄);原始值永远不会进入该命名空间。

  1. 存入 browser-cookies:

npx -y @claude-flow/cli@latest memory store --namespace browser-cookies
--key "<host>"
--value "{vault_handle:<opaque>, expiry:<iso>, aidefence_verdict:safe}"

  1. 返回 vault 句柄,以便下游技能可以通过计划中的 browser_cookie_use MCP 工具挂载它。

注意事项

  • 绝不要记录原始 cookie 值、令牌或密码。认证 POST 的 trajectory 步骤只记录表单字段名,值用 <redacted> 占位符。
  • browser_cookie_use MCP 工具已预留(ADR-0001 §7)但尚未实现。在此之前,下游技能通过 scripts/ 中的辅助 bash 函数挂载已保管的 cookie(待定)。
  • 有些站点会把 cookie 绑定到 UA 指纹;如果已保管的 cookie 在复用时失败,请重新运行 browser-login。不要尝试自行做指纹匹配。
  • 该技能不是凭据存储方案。vault 句柄模式防范的是 AgentDB 泄漏,而不是智能体环境被攻陷。