mcpField
B
browser-login

browser-login

github.com/ruvnetAgent 工作流80.0k729 次安装今天更新
代码仓库

关于 browser-login

browser-login 是用于网站认证的 Agent 技能,可将会话凭据封存,供后续浏览器技能复用。它会先清理 Cookie 值,再将凭据句柄存入 AgentDB;计划中的 browser_cookie_use MCP 工具尚未实现。

主要功能

  1. 01重复使用网站认证
  2. 02捕获 MFA 会话
  3. 03清理 Cookie 并生成封存句柄
  4. 04在 AgentDB 中存储会话

适用场景

  1. 01为反复访问的网站保存会话
  2. 02刷新已过期的封存 Cookie
  3. 03捕获受 MFA 保护的会话

MCP 相关

该技能提及计划中的 browser_cookie_use MCP 工具,供后续技能挂载封存的 Cookie;该工具尚未实现。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill browser-login

安装后在 Claude Code 中输入/browser-login确认已加载。

详细介绍

浏览器登录

针对目标网站完成一次身份验证,然后将生成的会话凭据存入保险库,以便后续技能(browser-extract、browser-form-fill、browser-test)可以复用,而无需重新执行身份验证流程。此技能借鉴了 Browserbase 的 cookie-sync/SKILL.md 模式,但会将生成的上下文存储在 AgentDB,而不是托管后端。

适用场景

  • 为 Agent 将反复访问的主机建立可复用的身份验证。
  • 刷新已过期的保险库 Cookie 集。
  • 捕获需要交互式完成的 MFA 保护会话。

步骤

  1. 通过 browser-record 打开录制会话。
  2. 执行身份验证流程 — 使用 browser_fill / browser_type 填写凭据。凭据由用户提供或来自环境;不要从 .env 读取凭据,也不要将凭据粘贴到轨迹参数中。
  3. 处理 MFA(使用 --mfa 时):暂停以等待用户输入,或调用用户的 TOTP 辅助工具;只捕获生成的重定向,不要捕获验证码本身。
  4. 通过 browser_eval 捕获 Cookie:
    document.cookie  // returns the cookie string for the active document
    
    或使用可用的 Playwright 上下文 API。
  5. 使用 AIDefence 清理:
    # Each cookie value passes aidefence_scan to flag raw secrets / high-entropy tokens.
    
    看起来像原始值的令牌会先包装成保险库句柄(不透明句柄),再存入 AgentDB;原始值绝不会进入命名空间。
  6. 存储到 browser-cookies 中:
    npx -y @claude-flow/cli@latest memory store --namespace browser-cookies \
      --key "<host>" \
      --value "{vault_handle:<opaque>, expiry:<iso>, aidefence_verdict:safe}"
    
  7. 返回保险库句柄,以便下游技能通过计划中的 browser_cookie_use MCP 工具挂载该句柄。

注意事项

  • 绝不要记录原始 Cookie 值、令牌或密码。身份验证 POST 的轨迹步骤只记录表单字段名称,并将字段值替换为 <redacted> 占位符。
  • browser_cookie_use MCP 工具已预留(ADR-0001 §7),但尚未实现。在此之前,下游技能需通过 scripts/ 中的辅助 bash 函数挂载保险库中的 Cookie(待定)。
  • 有些网站会将 Cookie 绑定到 UA 指纹;如果保险库中的 Cookie 无法复用,请重新运行 browser-login。不要尝试自行进行指纹匹配。
  • 此技能并非凭据存储解决方案。保险库句柄模式可防止 AgentDB 泄漏,但无法防止 Agent 的运行环境遭到入侵。

评论

支持 Markdown