IM 智能客服
im 服务提供访客组件、访客端与坐席工作台:站点接入、会话排队与分配、消息收发、知识库回流与敏感词治理。
能力清单
- 站点与接入:站点管理(app_key、允许来源白名单、欢迎语、机器人开关),嵌入代码片段开箱即用;访客端
/im/visitor、组件/im/widget。 - 会话:访客发起 → 排队 / 自动分配 → 转人工 / 技能组 → 满意度评价;空闲超时自动关闭(可配)。
- 消息:文本 / 图片 / 文件,
client_msg_id幂等重发不重复、已读回执、撤回;WebSocket(/im/ws)与 REST 双通道一致语义。 - 机器人与知识库:OpenAI 兼容 bot(可关)、知识库未命中回流向坐席沉淀、命中统计。
- 坐席工具:快捷回复、访客名片与联系记录、访客历史会话、消息搜索、禁言、低分质检、KB 未命中处理、敏感词管理(mask / block,热生效)。
鉴权边界(重要)
- 访客使用 IM 自签的 guest token(非 auth JWT),仅能访问自己的会话;来源受站点白名单约束。
- 坐席访问令牌由 auth-service 签发;IM 在 WebSocket 与访客/坐席混合端点上都会向 auth 的
/internal/verify核验有效性、吊销状态与当前 IM 权限,无im:agent:access/im:admin:manage的用户进不了坐席链路,伪造X-Auth-*头无效。 - 网关路由把真实 IM 后端路径(API / WS / visitor / widget / uploads)交给 im 服务,管理页路由留给前端。
边界
- 🧪 实验业务线:API 与表结构可能调整;生产采用前请单独评估。
- 🤖 机器人能力依赖外部模型配置;未配置时按 stub 降级,不影响人工会话。