用途:当项目缺少可用凭据时使用,例如没有 iblai.env、其中 PLATFORM/TOKEN 为占位值或 PLATFORM=main,或平台 API 返回 401(令牌被撤销或过期)。若 iblai.env 已有真实值,或宿主已导出 IBLAI_API_KEY,则跳过。
主要能力:脚本在 127.0.0.1 上以随机空闲端口启动回环监听(五分钟超时),生成 state,并打开 https://login.iblai.app/connect?callback=http://127.0.0.1:<port>/callback&state=…&name=…。用户登录后选择组织并点击 Connect,令牌被写入当前目录的 iblai.env(DOMAIN、PLATFORM、TOKEN、IBLAI_USERNAME)、.env(IBLAI_ORG、IBLAI_USERNAME、IBLAI_API_KEY),存在 package.json 时还写 .env.local(NEXT_PUBLIC_MAIN_TENANT_KEY、IBLAI_API_KEY),并把相关文件加入 .gitignore。
使用方式:从项目根目录运行脚本,先定位 connect.mjs,再执行 node "$SKILLS_DIR/connect.mjs"。可选参数包括 --domain、--name、--origin、--org、--dry-run、--paste。成功时输出一行 connected: … 作为唯一确认,不要回读文件。
限制与规则:绝不索要密码;绝不回显令牌(仅显示 **** 加末四位);回调仅限 http://127.0.0.1:<port>/callback,拒绝指向其他主机;不把写入的文件读回对话。HOSTED_PAGE_UNAVAILABLE(退出码 3)时按来源技能回退或使用 --paste;NETWORK_ERROR(退出码 4)检查网络或 --domain;退出码 1 表示 state 校验失败、交换被拒或令牌未验证,可重跑(code 单次有效,60 秒过期)。若连错组织,用 --org <key> 重跑,旧令牌在 Integrations → APIs 撤销前仍有效。