用途:在飞书(含国际版 Lark)中向指定用户发送普通文件附件,如 HTML、PDF、ZIP、代码文件,并补救本地图片路径被当作文本发出去的情况。
主要能力:一是普通文件发送,必须两步——先调用 im/v1/files 上传取得 file_key,再用 msg_type=file 发送;二是稳定发送图片,先上传到 im/v1/images 获取 image_key,再以 msg_type=image 发送。两条链路不可混用。
使用方式:推荐用脚本 python3 scripts/send_file.py <file_path> <open_id> <app_id> <app_secret> [file_name],参数依次为文件路径、接收者 open_id、飞书应用 ID、密钥、可选自定义文件名。图片用 python3 scripts/send_image.py <image_path> <open_id> <app_id> <app_secret> [domain],国际版 Lark 追加 lark。app_id 与 app_secret 可从 openclaw.json 的 channels.feishu 中读取。也可手动执行两步 curl 流程。receive_id_type=open_id 对应个人用户,群聊改用 chat_id。file_type 用 stream 适用于所有普通文件类型。
限制:普通文件必须走两步流程,直接用 filePath 只会显示路径。当本地图片(尤其 /root/myfiles/...)发送后用户看到的是路径文本时,不要重试同样参数,改用 send_image.py;messageId 返回成功不代表用户看到图片,唯一成功标准是用户实际看到图片本体。不要把本地路径回显误判为发送成功。其他未在资料中说明的细节暂未提供。