SuperAPI AI 工具集

intercom-local-dev-loop

编程与开发

查看项目

更新于 10-15 23:26

技能介绍

用途:为 Intercom 集成建立快速本地开发工作流,包含测试隔离、Mock 策略与 webhook 隧道。流程分两条通道:离线运行、无需令牌的 Mock 单元通道;以及连接真实开发工作区、无令牌时自动跳过的集成通道。

前提:已完成 intercom-install-auth 设置;Node.js 18+ 与 npm/pnpm;一个独立于生产的测试/开发 Intercom 工作区。

认证:客户端使用单个 Intercom bearer access token,由 intercom-install-auth 按工作区签发。从 process.env.INTERCOM_ACCESS_TOKEN 读取(由被 git 忽略的 .env.development 加载),切勿硬编码。Mock 单元通道完全不需要令牌。

主要步骤:搭建 src/intercom/ 模块(单例 client.ts,以及 contacts.ts、conversations.ts、types.ts),tests/ 目录含 mocks/ 工厂,三个环境文件(提交 .env.example,忽略 .env.development 与 .env.test);环境感知的客户端单例在缺少令牌时抛出明确错误,并提供 resetClient() 供测试使用;构建覆盖 contacts、conversations、messages、admins、tags 的 Mock 客户端工厂;编写断言调用参数与返回结构的 Mock 单测;用 ngrok http 3000 打通 webhook,并在 Intercom Developer Hub 注册 HTTPS URL;配置 dev、test、test:watch、test:integration、typecheck 等脚本。

产出:可运行的本地开发循环,包括客户端模块与可复用 Mock 工厂、三个环境文件、离线 Mock 单测通道、令牌门控的集成通道,以及 ngrok webhook 隧道。

错误处理:INTERCOM_ACCESS_TOKEN not set 时复制 .env.example 为 .env.development;端口 3000 被占用时用 lsof -i :3000 处理或换端口;ngrok 免费层 2 小时到期需重启;Mock 类型不匹配时按 SDK 类型重新生成;开发环境 rate_limit_exceeded 可在集成测试间加延迟。

限制:集成通道需真实开发工作区令牌;部分平台与收费细节资料未提供。