mcpField
M
migrate-from-intercom

migrate-from-intercom

github.com/gleapsdk开发1102 次安装1 天前更新
代码仓库

关于 migrate-from-intercom

migrate-from-intercom 是协助将代码库从 Intercom 迁移到 Gleap 的技能,适用于需要替换客户端 SDK、服务端 API 或两者的项目。它通过平台映射文件指导检测、代码替换、配置清理和迁移验证。

主要功能

  1. 01检测 Intercom 集成位置
  2. 02按平台读取迁移映射
  3. 03替换客户端 SDK 与 API 调用
  4. 04迁移服务端 REST API
  5. 05清理配置并验证残留引用

适用场景

  1. 01将 Web 或移动端 SDK 换为 Gleap
  2. 02迁移服务端 Intercom API 调用
  3. 03检查多平台项目的迁移范围

安装

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

$npx skills add https://github.com/gleapsdk/agent-skills --skill migrate-from-intercom

安装后在 Claude Code 中输入/migrate-from-intercom确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

mapping-android.md
mapping-flutter.md
mapping-ios.md
mapping-javascript.md
mapping-react-native.md
mapping-server-api.md

详细介绍

从 Intercom 迁移到 Gleap

指导用户在代码库中用 Gleap 替换 Intercom。涵盖客户端 SDK 替换和服务端 API 迁移。

检测 Intercom

搜索代码库,查找 Intercom 集成。使用 Grep 查找:

包引用
  • package.json:@intercom/messenger-js-sdk、intercom-client、@intercom/intercom-react-native
  • Podfile:pod 'Intercom'
  • build.gradle:io.intercom.android:intercom-sdk
  • pubspec.yaml:intercom_flutter
  • composer.json:intercom/intercom-php
  • Gemfile:intercom-rails、intercom-ruby
代码模式(客户端 JavaScript — 适用于所有 Web 框架)
  • JavaScript:Intercom(、window.intercomSettings、widget.intercom.io、@intercom/messenger-js-sdk
  • iOS:import Intercom、Intercom.setApiKey、Intercom.loginUser
  • Android:import com.intercom、Intercom.initialize、Intercom.client()
  • React Native:import Intercom from '@intercom/intercom-react-native'、IntercomModule
  • Flutter:import 'package:intercom_flutter'、Intercom.instance
  • 服务端:intercom-client、intercom-php、intercom-ruby、intercom-go、intercom-java、Intercom.Dotnet

继续之前,向用户报告所有发现。

API Key 解析

在向用户索取 Gleap API key 之前,按以下顺序检查这些位置:

  1. 用户在对话中已提供 — 直接使用
  2. 项目根目录中的 .env 文件 — 查找 GLEAP_API_KEY=...
  3. 环境变量 — 通过 echo $GLEAP_API_KEY 检查是否已设置 GLEAP_API_KEY
  4. 未找到 — 询问用户(可在 https://app.gleap.io > Project Settings > Security > API Key 获取)

找到或收到 key 后,询问是否将其保存到 .env(并在需要时将 .env 添加到 .gitignore)。

工作流

  1. 检测 Intercom:使用上述模式。报告受影响的平台和文件。
  2. 确认范围:与用户确认要迁移的部分(客户端 SDK、服务端 API,或两者)。
  3. 解析 Gleap API key:按照上述 API Key 解析步骤操作。
  4. 读取映射文件:从此技能目录中读取与检测到的平台对应的文件。
  5. 移除 Intercom SDK:卸载包、移除脚本标签、删除导入和配置。
  6. 安装 Gleap SDK:按照映射文件中的安装步骤操作(或在已安装时参考 gleap-sdk-setup 技能)。
  7. 替换 API 调用:使用映射表将每个 Intercom 调用转换为对应的 Gleap 调用。在初始化代码中使用已解析的 API key。
  8. 迁移服务端代码(如适用):将 Intercom REST API 调用替换为 Gleap REST API 调用。参见 mapping-server-api.md。
  9. 清理:移除 Intercom 专属配置(API key、应用 ID、intercomSettings、推送通知处理程序)。
  10. 验证:构建并运行项目。搜索是否还存在 intercom 引用。

映射文件

根据检测到的平台读取相应文件:

  • JavaScript / Web:mapping-javascript.md — 也适用于所有服务端 Web 框架(Laravel、Django、Rails、ASP.NET、Spring Boot、Phoenix 等),因为它们的客户端都使用 JavaScript SDK
  • iOS(Swift / Objective-C):mapping-ios.md
  • Android(Kotlin / Java):mapping-android.md
  • React Native:mapping-react-native.md
  • Flutter:mapping-flutter.md
  • 服务端 REST API:mapping-server-api.md

对于使用多个平台的项目,请读取所有相关文件。常见组合包括:

  • Web 框架 + 服务端 SDK(例如,Laravel 配合 intercom-php、Rails 配合 intercom-ruby):客户端使用 mapping-javascript.md,服务端使用 mapping-server-api.md
  • React Native + 服务端 API:使用 mapping-react-native.md 和 mapping-server-api.md

重要说明

  • Intercom 使用 app_id + api_key(iOS/Android 各自使用不同的值)。Gleap 的每个项目使用一个 API 密钥,可从 https://app.gleap.io 获取
  • Intercom 的 boot() 将初始化与用户身份识别合并在一起。在 Gleap 中,这两个步骤是分开的:先调用 initialize(),再调用 identify()
  • Intercom 的 shutdown() 等同于 Gleap 的 clearIdentity()
  • Intercom 的 update() 等同于 Gleap 的 updateContact()
  • Intercom 自定义用户属性映射到 Gleap 的 customData 对象(最多 35 个键,且仅限原始类型)
  • Intercom 公司数据映射到 identify 中的 Gleap companyId + companyName 字段
  • Gleap 没有直接对应功能的特性:产品导览(startTour)、工单视图(showTicket)、新闻条目(showNews)。请告知用户,这些功能需要采用其他方案
  • 服务端:Intercom REST API 使用 Bearer 令牌身份验证。Gleap 使用 Api-Token 标头(旧版)或 Bearer + Project 标头(v3 API)

评论

支持 Markdown