题目
同一个 Agent 接入网页、飞书和钉钉时,如何设计消息模型与渠道适配器?
答案
核心业务使用统一消息模型,包含内部用户身份、会话 ID、消息 ID、文本、附件、回复目标和事件类型。各渠道适配器负责把外部事件转换成该模型。
输入侧处理渠道认证、签名校验、用户映射、重复消息和附件权限;输出侧将统一回复转换成文本、卡片或文件,并适配长度、频率和格式限制。
核心 Agent 不直接依赖某个平台的消息字段。渠道不支持流式输出时,可以分阶段更新卡片或最终发送结果,但要避免每个 Token 都发一条消息。

渠道可能重复推送回调,所以按渠道消息 ID 去重,并将回复与原任务绑定。发送消息是外部副作用,需要记录发送状态,处理超时和重复回复,不能只靠前端按钮防重。
