用途:指导用户将代码库中的 Intercom 替换为 Gleap,覆盖客户端 SDK 更换与服务端 API 迁移。
主要能力:检测 Intercom 集成(package.json、Podfile、build.gradle、pubspec.yaml、composer.json、Gemfile 等依赖,以及 JS、iOS、Android、React Native、Flutter 和服务端各类代码模式),汇报受影响平台与文件;按平台提供映射文件(mapping-javascript.md、mapping-ios.md、mapping-android.md、mapping-react-native.md、mapping-flutter.md、mapping-server-api.md)并据此完成替换。
使用方式:先检测并汇报,与用户确认迁移范围(客户端、服务端或两者);解析 Gleap API 密钥,顺序为对话中提供、项目根目录 .env 中的 GLEAP_API_KEY=...、环境变量 echo $GLEAP_API_KEY,均无则向用户索取(https://app.gleap.io > Project Settings > Security > API Key),可取到时建议写入 .env 并加入 .gitignore;读取对应映射文件,卸载 Intercom 包、移除脚本标签与配置,按映射文件安装 Gleap SDK(或参考 gleap-sdk-setup 技能),转换每个 API 调用,服务端 REST API 参见 mapping-server-api.md,清理 Intercom 配置,最后构建运行并搜索残留 intercom 引用。
适用场景:使用上述任意平台或服务端 SDK 的项目,多平台项目需同时读取相关映射文件(如 Web 框架加服务端 SDK 组合客户端用 mapping-javascript.md、服务端用 mapping-server-api.md)。
限制与注意:Intercom 使用 app_id + api_key(iOS/Android 分开),Gleap 每项目单一 API key;Intercom 的 boot() 合并初始化与用户识别,Gleap 拆分为 initialize() 后 identify();shutdown() 对应 clearIdentity(),update() 对应 updateContact();自定义属性映射为 customData(最多 35 键,仅基本类型);公司数据映射为 identify 中的 companyId + companyName;产品导览(startTour)、工单视图(showTicket)、新闻(showNews)无直接对应,需告知用户采用替代方案;服务端 Intercom REST API 用 Bearer token 认证,Gleap 用 Api-Token 头(旧版)或 Bearer + Project 头(v3 API)。