运行时依赖
安装命令
点击复制本土化适配说明
微信定时推送 安装说明: 安装命令:["openclaw skills install weixin-cron-push","openclaw cron add \\\n --name \"提醒标题\" \\\n --at \"2026-04-29T10:00:00Z\" \\\n --message \"请告诉用户:这是提醒内容\" \\\n --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n --announce \\\n --channel openclaw-weixin \\\n --delete-after-run","openclaw cron add \\\n --name \"每日天气\" \\\n --cron \"0 8 * * *\" \\\n --tz \"Asia/Shanghai\" \\\n --message \"请查询今天天气并发送给用户。\" \\\n --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n --announce \\\n --channel openclaw-weixin","openclaw cron add \\\n --name \"每小时间隔\" \\\n --every \"1h\" \\\n --message \"请执行 XXX 检查并告知用户结果。\" \\\n --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n --announce \\\n --channel openclaw-weixin","openclaw cron list # 查看活跃任务\nopenclaw cron list --all # 含已禁用/残留任务\nopenclaw cron delete <ID> # 删除任务\nopenclaw cron run <ID> # 立即触发","openclaw cron add \\\n --name \"每日天气\" \\\n --cron \"0 8 * * *\" \\\n --tz \"Asia/Shanghai\" \\\n --message \"请查询今天天气并发送给用户。\" \\\n --session-key \"agent:main:openclaw-weixin:direct:<userId>@im.wechat\" \\\n --announce \\\n --channel openclaw-weixin \\\n --account <account-id>","openclaw config set session.dmScope per-account-channel-peer"] 该技能用于微信相关操作,可能需要相应的平台账号或API密钥
技能文档
微信 Cron 推送
通过 Cron 定时任务实现微信主动推送。
原理 Cron 代理Turn → 独立会话 → --announce + --channel OpenClaw-weixin → 微信投递到用户手机
关键:
--会话-key 指定用户的微信会话桶(格式:代理:mAIn:OpenClaw-weixin:direct:@im.wechat) --announce --channel OpenClaw-weixin 确保回复通过微信投递 --message(代理Turn)而非 --系统-event(系统Event 走 mAIn 桶,无法投递) 前提 微信插件 OpenClaw-weixin 已安装启用 至少一个微信账号已扫码登录 Gateway 正在运行 用户通过微信给机器人发过至少一条消息(建立 会话Key) 创建任务 一次性提醒(at) OpenClaw cron 添加 \ --name "提醒标题" \ --at "2026-04-29T10:00:00Z" \ --message "请告诉用户:这是提醒内容" \ --会话-key "代理:mAIn:OpenClaw-weixin:direct:@im.wechat" \ --announce \ --channel OpenClaw-weixin \ --删除-after-运行
每日定时推送(cron 表达式) OpenClaw cron 添加 \ --name "每日天气" \ --cron "0 8 " \ --tz "Asia/ShanghAI" \ --message "请查询今天天气并发送给用户。" \ --会话-key "代理:mAIn:OpenClaw-weixin:direct:@im.wechat" \ --announce \ --channel OpenClaw-weixin
循环间隔(every) OpenClaw cron 添加 \ --name "每小时间隔" \ --every "1h" \ --message "请执行 XXX 检查并告知用户结果。" \ --会话-key "代理:mAIn:OpenClaw-weixin:direct:@im.wechat" \ --announce \ --channel OpenClaw-weixin
AI 对话方式
用户直接说"明天早上8点提醒我开会",AI 自动创建任务。AI 需从当前会话获取 会话Key 并使用上述参数。
获取 会话Key # 方法1:从会话列表查找(找含 OpenClaw-weixin 的 key) OpenClaw 会话s --json --all-代理s | grep OpenClaw-weixin
# 方法2:从会话文件查找(自动适配 macOS / Linux) python3 -c " 导入 json, pathlib 会话s_file = pathlib.Path.home() / '.OpenClaw' / '代理s' / 'mAIn' / '会话s' / '会话s.json' with open(会话s_file) as f: for k in json.load(f): if 'OpenClaw-weixin' in k and 'direct' in k: print(k) "
# 方法3:从微信账号配置获取 userId,拼接为: # 代理:mAIn:OpenClaw-weixin:direct:@im.wechat # userId 在 ~/.OpenClaw/OpenClaw-weixin/accounts/.json 中
关键 命令行工具 参数 参数 必填 说明 --message <文本> ✅ 代理Turn 消息内容,AI 处理后回复用户 --会话-key ✅ 微信会话桶 key(决定路由到哪个用户) --announce ✅ 启用投递(否则回复不发送) --channel OpenClaw-weixin ✅ 指定通过微信渠道投递 --at 调度 一次性触发 --cron <表达式> 调度 Cron 表达式循环 --every <间隔> 调度 固定间隔循环(如 10m, 1h) --tz <时区> 否 时区(如 Asia/ShanghAI) --删除-after-运行 否 触发后自动删除 --name <名称> 否 任务名称 --account 否 多账号时指定微信账号 ⚠️ 重要:系统-event vs message 方式 投递 说明 --系统-event + --会话 mAIn ❌ 不可靠 注入 mAIn 桶,没有 delivery上下文,回复无法投递 --message + --会话-key + --announce ✅ 可靠 独立会话 + 明确投递渠道,消息必定到达微信
必须用 --message 方式,不要用 --系统-event。
管理命令 OpenClaw cron 列出 # 查看活跃任务 OpenClaw cron 列出 --all # 含已禁用/残留任务 OpenClaw cron 删除 # 删除任务 OpenClaw cron 运行 # 立即触发
多账号场景
每个微信用户有独立 会话Key:
扫码登录:OpenClaw channels 记录in --channel OpenClaw-weixin 该微信号给机器人发一条消息(建立会话桶) 查找该用户的 会话Key 创建 cron 任务时用对应 会话Key
多账号时用 --account 指定微信账号:
OpenClaw cron 添加 \ --name "每日天气" \ --cron "0 8 *" \ --tz "Asia/ShanghAI" \ --message "请查询今天天气并发送给用户。" \ --会话-key "代理:mAIn:OpenClaw-weixin:direct:@im.wechat" \ --announce \ --channel OpenClaw-weixin \ --account
多账号隔离建议:
OpenClaw config 设置 会话.dmScope per-account-channel-peer
常见问题 延迟:正常几秒到1分钟,超过5分钟检查 gateway 状态 只发一条:不需要重复发送 图片/文件:在 message 中指示 AI 调用图片工具,AI 自动处理 会话Key 找不到:说明目标用户还没通过微信给机器人发过消息,需要先发一条建立绑定 会话Key 错误:任务会创建成功但消息无法投递,不会报错。请确认 userId 正确 创建任务后没收到消息:检查 gateway 是否运行、微信是否在线、会话Key 是否匹配该微信用户