运行时依赖
安装命令
点击复制技能文档
DingTalk 发送 Media
使用同目录脚本 scripts/发送_media.py 发送钉钉媒体消息。OpenClaw 不会自动执行目录中的 .py 文件;命中本 技能 后,应显式调用脚本。
触发场景
在这些场景使用本 技能:
用户要求把本地文件、图片、截图、录音、视频、压缩包发到钉钉 用户要求发送给某个钉钉用户 ID,或发送到某个钉钉群 ID 当前上下文已明确是钉钉账号或钉钉会话,且目标是“发送附件”
不要在这些场景使用本 技能:
用户想编辑钉钉文档正文或知识库内容 用户只说“发给他”但没有文件路径、目标 ID,且上下文无法补全 与钉钉无关的发送场景,例如邮件附件、飞书文件、Slack 上传 运行前提
脚本依赖 python 或 python3。
可用配置来源:
环境变量 DINGTALK_命令行工具ENTID + DINGTALK_命令行工具ENTSECRET,优先级最高 OpenClaw.json 中的 channels.dingtalk.accounts OpenClaw.json 中的 channels.dingtalk-connector.accounts OpenClaw.json 中的 channels.dingtalk-connector 顶层凭证
相关环境变量:
DINGTALK_命令行工具ENTID DINGTALK_命令行工具ENTSECRET DINGTALK_RO机器人CODE DINGTALK_CORPID DINGTALK_代理ID OpenClaw_代理_ID OpenClaw_ACCOUNT_ID OpenClaw_CONFIG 执行入口
脚本文件:scripts/发送_media.py
执行时使用绝对路径,形式如下:
python /absolute/path/to/scripts/发送_media.py [account-id] [media-type] [--group|--user] [--调试]
在 Linux 或 macOS 上,如果只有 python3,使用:
python3 /absolute/path/to/scripts/发送_media.py [account-id] [media-type] [--group|--user] [--调试]
发送前检查
执行前尽量确认这些信息:
文件路径存在,且是本机可访问的绝对路径 目标 ID 是钉钉用户 ID,或以 cid 开头的群 ID 如果存在多个钉钉账号,确认应该使用哪个账号 如果用户没有指定媒体类型,可以让脚本自动检测 默认会将 cid... 自动识别为群聊;如需覆盖,可使用 --group 或 --user 命令映射
- 自动检测账号并发送
适用:
当前只有一个账号 或者已能从 OpenClaw_代理_ID / OpenClaw_ACCOUNT_ID / bindings 推导账号
执行:
python /absolute/path/to/scripts/发送_media.py
说明:
若 tar获取-id 以 cid 开头,脚本会自动按群聊发送 其他目标默认按单聊发送
- 指定账号发送
适用:
存在多个钉钉账号 用户明确要求用某个账号发送
执行:
python /absolute/path/to/scripts/发送_media.py
- 指定媒体类型发送
适用:
自动检测类型不可靠 用户明确要求按图片、语音、视频或普通文件发送
执行:
python /absolute/path/to/scripts/发送_media.py [media-type]
媒体类型仅允许:
image voice video file
- 显式指定群聊或单聊
适用:
目标 ID 规则不稳定,不能只靠 cid 判断 你想覆盖自动检测结果
执行:
python /absolute/path/to/scripts/发送_media.py [account-id] [media-type] --group python /absolute/path/to/scripts/发送_media.py [account-id] [media-type] --user
- 调试模式
适用:
账号检测或配置选择异常
执行:
python /absolute/path/to/scripts/发送_media.py --调试
工作流程 确认目标是钉钉发送媒体,而不是文档编辑。 提取文件路径和目标 ID。 如有多个账号或上下文不明确,优先确认账号。 执行脚本。 若脚本返回 ok: true,向用户报告已发送的文件名、目标和账号。 若脚本返回 ok: false,根据错误内容给出下一步说明。 常见错误 未找到 OpenClaw 配置文件 OpenClaw.json:当前无配置文件,需提供环境变量凭证或配置文件 未找到钉钉账号配置:账号自动检测失败,需显式指定账号或补齐配置 获取 访问 令牌 失败:检查 命令行工具entId / 命令行工具entSecret 上传媒体文件失败:检查文件路径、大小、媒体类型和上传权限 发送消息失败:检查目标用户 ID / 群 ID、机器人权限和 ro机器人Code 限制 本 技能 用于发送媒体,不用于编辑钉钉文档内容 需要本机已有可发送的文件路径 群聊发送要求目标是合法 cid... 多账号场景下,若无法唯一推导账号,可能需要显式传入 account-id 参考 人工说明文档:README.md 实际执行脚本:scripts/发送_media.py