agent-foundation/docs/semantic-routing.md
2026-07-28 16:24:50 +08:00

68 lines
3.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 企业微信语义路由
## 调用链
企业微信文本消息统一经过:
1. 回调验签、解密和消息去重。
2. DeepSeek 只输出结构化意图和日期参数。
3. 后端根据意图选择预注册的白名单处理器。
4. 处理器根据企业微信 UserID 调用对应业务接口。
5. 后端将结构化结果格式化成企业微信文本并发送。
6. 主消息发送成功后,再按登记顺序发送 Excel 等附件;附件不会先于业务回复出现。
模型不能输出或调用任意 URL,也不能传入校区、顾问或权限范围。业务接口仍会根据企业微信 UserID 做最终权限校验。
## 已支持意图
### CUSTOMER_DAILY_REPORT
- 示例:`查看今日客资管理日报`
- 支持:今日、昨日、本周、上周、本月、上月、明确的单日或日期范围。
- 调用:`POST /api/crm/daily-report`
- 请求参数:`startDate`、`endDate`、`wecomUserId`
### EC_CALL_COMPLIANCE_DAILY_REPORT
- 示例:`查看今日EC电话合规监控日报`
- 支持:今日、昨日、本周、上周、本月、上月、指定月份或明确日期范围;单次最多 31 天。
- 调用:`POST /api/ec/call-compliance/daily-report`
- Excel 下载:`POST /api/ec/call-compliance/daily-report/excel`
- 请求参数:`startDate`、`endDate`、`wecomUserId`
- 指标:外呼总量、接通率、有效通话与时长、录音覆盖率、AI 质检、敏感词预警。
- 人员链路:企业微信 UserID → 本地学邦账号映射 → EC 员工账号;管理层再按企业微信授权组织匹配 EC 部门。
- 明细权限:管理员、区域总和城市总按运动馆汇总;馆长按本馆人员展示;顾问和教练仅展示本人。
- 企业微信返回:日报汇总指标全部通过消息回复,Excel 不再包含“日报汇总”页;管理员附件只保留“运动馆明细”,馆长附件只保留“人员明细”。
- 账号风控暂未启用。
### 学员预警名单附件
- 课时预警和高频缺勤名单超过聊天展示上限时,统一发送 `.xlsx`,不再发送 `.txt`。
- 日期、接收人、预警数量和运动馆数量通过企业微信消息展示。
- Excel 只保留详细名单,按运动馆、学员和预警类型逐行展示剩余课时、排课及缺勤次数。
- 对发起推送指令的用户,先发送“推送完成”消息,再发送 Excel;其他馆长仍按“预警说明 → Excel”顺序接收。
## 扩展新意图
新增一个 Spring Bean,实现 `SemanticIntentHandler`:
```java
@Component
public class ExampleIntentHandler implements SemanticIntentHandler {
public String intent() { return "EXAMPLE_INTENT"; }
public String description() { return "意图用途和触发语义"; }
public String example() { return "企业微信中的示例问法"; }
public String handle(SemanticRequestContext context, SemanticRecognition recognition) {
return "处理结果";
}
}
```
处理器会自动加入 DeepSeek 可选意图目录和后端路由表,不需要修改中心 `switch`。如果意图重复,应用启动时直接失败,避免路由覆盖。
## 容错
- DeepSeek 暂时不可用或返回非 JSON 时,已知高频指令可以走受限关键词兜底。
- 低于置信度阈值或未知意图不会调用业务接口,只返回支持的示例。
- 人员未映射或不在组织权限范围内时,日报服务返回 403,企业微信显示“无权限查看”。