用多个账号运营同一套业务
适合这样的团队:要同时接多个平台、在同一平台上用多个账号,或者把测试号和正式号分开。目标是业务代码只写一份,每个账号各自连接、出问题时能单独定位。
先分清两个词
- 适配器(Adapter):一个平台的接入插件,比如
icqq、slack。 - Endpoint:Bot 在平台上登录的一个具体账号或连接。一个适配器下可以有多个 Endpoint。
命令、组件、中间件属于你的插件,所有 Endpoint 共用一份,不会每个账号复制一份,也不直接调用平台的私有 SDK。
实施步骤
- 在 Sandbox 里验证命令和回复内容。
- 运行
npx zhin setup --adapters,为每个要接的平台安装适配器。 - 在适配器配置的
endpoints下为每个账号写一项;账号密钥只放环境变量。 - 启动后,在 Console 的“聊天账号”里用每个 Endpoint 各发一条测试消息。
- 在“运行时能力”查看每个 Endpoint 支持的操作(
operations)。同一适配器的不同连接方式能力可能不同,不要假定都一样。 - 出问题时在“日志”按级别和 Endpoint 筛选,在“工作台”确认 Host 与消息推送是否正常。
配置写法示例见 多平台社区 Bot。
验收清单
- 停掉任意一个 Endpoint,其他账号不受影响。
- 同一条命令在 Sandbox 和真实平台上得到相同的业务结果。
- 平台不支持撤回、表情回应等操作时,界面会自动隐藏或降级,而不是去调用私有 SDK。
- 生产环境的 HTTP Host 设置了 token;平台密钥不出现在代码仓库或 Console Demo 中。
下一步
- 平台适配器:按部署条件选择接入方式
- Console 管理路径:用浏览器管理多个账号