Hermes-Agent:修复dingtalk不支持上传文件的问题
问题
在使用钉钉作为交互入口时,发送图片可以被智能体响应,但是发送其他类型文件时没有响应。
原因分析
钉钉的模式是,将文件上传到临时的oss云盘上,然后将信息发送到智能体机器人的接口上,智能体机器人通过推送的信息解析临时文件云盘地址进行访问。
分析代码后,发现智能体的python版本的钉钉sdk有接收到推送的文件消息,但是并没有对文件类型为file的数据进行处理,导致后没有后续动作。可能是sdk还在迭代中。
临时方案
让智能体自己修改本地sdk,支持文件类型为file的逻辑,生成与图片类型一样的临时文件地址,后面就可以根据自己的需要是下载,还是读取了。
生成的地址上不是真实文件名,如果需要真实文件名需要解析推送包中的filename。
效果如
我将文件保存到了本地盘中
小彩蛋:看sdk源码发现,对话中智能体机器人是否已读的消息是智能体接收到消息后,推送给钉钉服务器的,这样就确认是否消息已经发送到了智能体机器人中。
