SuperAPI AI 工具集

dashboard-forge

通用与其它

查看项目

更新于 10-16 05:42

技能介绍

用途:针对仅存在于厂商网页控制台、没有公开 API 的操作(如 GitHub 细粒度 PAT 与 OAuth 应用创建、Cloudflare 令牌作用域配置)进行自动化。人类监督并处理登录/2FA,脚本执行其余步骤,强调可复现。

核心方法:工具链以 ../../lib/browser-forge.mjs 为单一事实来源,使用每站点持久化 Chrome 配置、CDP 附加、登录等待、身份预检、同意弹窗关闭与保险库写入。仅支持 node(Bun 的 connectOverCDP 会超时),依赖 playwright-core(在仓库根目录固定版本)以及 macOS 标准路径的 Chrome。

使用方式:采用“步进拍摄”法,将 forge 写成小而可恢复的步骤,对抗长期存活的 Chrome(浏览器关闭在 CDP 连接上只断开而不结束 Chrome)。先 launchChrome(site, loginUrl) 并人工登录,用 waitForLogin(ctx, probeUrl, ok) 轮询已认证端点检测完成。任何变更步骤前先做身份预检,用 assertIdentity(actual, expected, resource) 断言登录身份。每步一个交互簇并截图,定位器优先用 role/label。遇到同意覆盖层调用 dismissConsent(page),遇到 sudo/2FA 墙暂停由人工处理。秘密只从 DOM 提取并 vaultSet 入库,绝不截图揭示页;结束运行先 purgeShots() 再 teardown(site),只杀 CDP 端口上的特定进程,不用 pkill -f。

混合原则:浏览器只自动化最小必要部分(登录与生成凭证的表单),之后用生成的凭证走厂商真实 API,写成幂等的先 GET 后 POST 引导脚本。

借用会话模式:通过 AppleScript 驱动已登录的 Chrome,需开启 View → Developer → Allow JavaScript from Apple Events。适用于必须人工通过 passkey/硬件密钥且已有会话的场景;不适合无人值守、需要隔离或不应看到其他标签页的场景。规则包括按 URL 而非索引寻址标签、从文件读取 JS、用 getBoundingClientRect 判断可见性、框架输入需用原生 setter、点击前用 elementFromPoint 校验。

秘密纪律:值通过管道传入 vault set --stdin,脚本只打印长度与路径;配置目录含活动会话,绝不提交。

限制与经验记录:控制台界面频繁变动,选择器失效或流程变化时需修复脚本并追加漂移记录。资料包含大量具体厂商怪癖(Cloudflare、GitHub、Azure、Tailscale、Lark/Feishu、Chrome 调试端口等)的日期化记录,官方文档未提供,具体行为以实际控制台为准。