需检查网关启用状态、配置file_upload参数及平台权限,使用hermes file upload命令上传文件,支持自然语言触发共享,并可配置白名单与大小限制。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您在使用 Hermes Agent 过程中需要将本地文件发送给飞书、Telegram 或 Slack 等平台上的联系人或群组,但发现消息中未携带附件或提示“不支持该文件类型”,则可能是由于网关配置缺失、文件路径不可达或权限限制所致。以下是解决此问题的步骤:
一、确认网关已启用并完成基础配置
文件共享依赖于已激活的消息网关(如 feishu、telegram、slack),仅启用 gateway 模块但未配置对应平台凭证时,文件传输功能将无法初始化。
1、运行 hermes gateway list 查看当前启用的网关列表,确认目标平台(如 feishu)状态为 enabled。
2、检查 ~/.hermes/config.yaml 中对应网关段是否包含 file_upload: true 字段;若不存在,手动添加至 gateway 配置块内。
3、对飞书网关,还需确保已开通 im:file:upload 权限并在飞书开放平台“权限管理”中提交审核。
二、使用 CLI 命令直接上传并分享文件
Hermes Agent 提供内置的文件上传命令,绕过消息解析阶段,直接调用平台 SDK 完成上传与消息构造,适用于调试及批量操作场景。
1、在终端中执行 hermes file upload /path/to/your/file.pdf,系统将返回可分享的永久链接或平台内嵌消息 ID。
2、若需指定接收方,追加 --to "user_id_or_chat_id" 参数,例如:hermes file upload report.xlsx --to "ou_xxx"(飞书用户 ID)或 hermes file upload script.py --to "@myteam"(Slack 频道名)。
3、上传成功后,Hermes 会自动向目标地址发送一条含文件卡片的消息;若失败,错误信息将明确指出是鉴权失败、文件超限(如飞书单文件上限 1GB)或网络不可达。
三、在对话中通过自然语言触发文件共享
当 Hermes Agent 正在运行网关服务时,可在飞书私聊、Telegram Bot 对话等上下文中直接输入指令,由 Agent 解析意图并执行上传流程,无需离开聊天界面。
1、在已接入 Hermes 的飞书对话窗口中发送:把 ~/Documents/data.csv 发给我。
2、Agent 将自动校验路径是否存在、当前用户是否有读取权限,并调用飞书 API 上传;若路径为相对路径,会基于 ~/.hermes/workdir 解析。
3、上传完成后,立即向同一会话返回带下载按钮的富媒体卡片;若文件类型不被平台支持(如 .exe、.sh 默认禁用),则回复提示并列出允许扩展名清单。
四、配置自定义文件白名单与大小限制
为防止敏感文件误传或规避平台策略限制,可通过修改全局配置限定可共享的文件类型与体积阈值,该设置对所有启用的网关生效。
1、编辑 ~/.hermes/config.yaml,在顶层添加 file_policy: 区块。
2、设定允许扩展名:在 allowed_extensions 下填入列表,例如 [".pdf", ".xlsx", ".log", ".txt"]。
3、设定最大单文件体积:设置 max_size_mb: 50,超过该值的文件将在上传前被拒绝并返回错误提示。


















