YingClaw 通知推送配置教程:让任务结果自动发到微信和钉钉
数字员工干活再快,结果「不通知到你」就是白干。YingClaw 之所以能让非技术人员真正用起来,关键能力之一就是通知推送——任务跑完、文件生成、异常报警,第一时间发到你最常用的 IM 上。
这篇文章按「为什么 → 配什么 → 怎么配 → 怎么用」的顺序,手把手教你把 YingClaw 的任务结果推到微信和钉钉。如果你刚装好 YingClaw,看完这篇基本就能跑通第一条推送链路。
一、为什么通知推送是数字员工的"最后一公里"
很多企业部署完 AI Agent 后真正用不起来的根因只有一个:结果没回流到人。Agent 在后台跑了一份日报、清理了一批文件、抓了一批数据,但销售还在等邮件、运营还在翻文件夹——效率黑洞就是从这里开始的。
营域智能在设计 YingClaw 时,把通知推送定位成「数字员工的标准器官」,而不是可选插件。YingClaw 默认支持以下 5 个国内主流 IM 渠道,任何一个数字员工任务跑完都可以指定一个或多个渠道同时推送:
| 渠道 | 适合场景 | 配置难度 | 备注 |
|---|---|---|---|
| 钉钉 | 团队协作、运维报警、日报推送 | ⭐⭐ | 推荐首选,自定义机器人最简单 |
| 企业微信 | 公司已用企微作为统一沟通工具 | ⭐⭐ | 与个人微信打通需走企业认证 |
| 飞书 | 互联网/技术团队、文档协作密集 | ⭐⭐ | 机器人 webhook 与钉钉类似 |
| 个人微信 | 个人任务提醒、临时通知 | ⭐⭐⭐ | 需借助企业微信或第三方网关,不推荐企业正式场景 |
| 内部小团队、低敏感度通知 | ⭐ | 已较少用于企业场景 |
实操建议:先打通钉钉或企业微信其中一个,能覆盖 90% 的国内企业协作场景。 个人微信推送能力受限于腾讯政策,会更复杂且不稳定,本文重点讲钉钉和企业微信。
二、配置前的 3 个准备工作
在让 YingClaw 推送之前,你需要准备好三样东西。整个过程大约 10-15 分钟。
1. 一台运行 YingClaw 的机器(本地或服务器)
- 推荐配置:4 核 CPU / 8GB 内存 / 50GB 磁盘,能跑通中小团队所有定时任务
- 系统:Windows / macOS / Linux 都支持,本文以 Linux + macOS 命令行为例
2. 一个有「群管理」或「机器人管理」权限的钉钉 / 企微账号
- 普通成员需要联系群主开通权限
- 自定义机器人不需要审批,但群主需在群设置里开启「群机器人」
3. YingClaw 配置文件目录的写权限
- 配置文件默认在
~/.YingClaw/config/notifications.yaml(首次推送时自动生成)
确认这 3 件事齐了,就可以开始配置。
三、钉钉机器人配置(推荐首选,5 分钟搞定)
钉钉自定义机器人是企业里最稳的推送通道,配置一次永久生效。步骤如下:
步骤 1:创建机器人
- 打开钉钉电脑端 → 进入目标群(建议建一个「数字员工通知群」,把需要接收通知的人都拉进来)
- 群设置 → 智能群助手 → 添加机器人 → 选择「自定义」
- 设置机器人名字(例如「YingClaw 数字员工」)、头像、安全设置(推荐选「加签」)
步骤 2:拿到 Webhook 地址
添加完成后,钉钉会生成一个 Webhook URL,格式类似:
https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx
把这个 URL 复制下来,下一步要填到 YingClaw 配置里。
步骤 3:写入 YingClaw 配置
打开终端,进入 YingClaw 配置目录:
nano ~/.YingClaw/config/notifications.yaml
在文件里加入以下内容(首次推送时文件不存在,YingClaw 会自动创建):
notifications:
channels:
- name: dingtalk-sales-alert # 内部 ID,YingClaw 引用时用
type: dingtalk
webhook: "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxx"
secret: "SECxxxxxxxxxxxxxxxxx" # 加签密钥,钉钉机器人安全设置选加签时才有
at_mobiles: # 可选:@指定手机号
- "13800000000"
default_channel: dingtalk-sales-alert
保存退出。
步骤 4:测试推送
在终端输入一条大白话指令:
yingclaw notify --channel dingtalk-sales-alert --message "YingClaw 通知推送测试成功 🎉"
如果你看到钉钉群里收到一条带 🎉 的消息,链路就打通了。后面所有任务结果都能复用这个 channel。
四、企业微信 / 个人微信推送配置
企业微信(推荐)
企业微信的机器人配置逻辑和钉钉几乎一致:
- 群聊 → 右键 → 添加群机器人 → 创建一个「群机器人」
- 拿到 Webhook URL(格式
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxx) - 同样写入
notifications.yaml:
notifications:
channels:
- name: wecom-ops-alert
type: wecom
webhook: "https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx"
default_channel: wecom-ops-alert
个人微信(不推荐企业用)
个人微信没有官方推送 API,强行推送只能走两条路:
- 方案 A(合规):先把个人微信绑定到企业微信,再用企业微信机器人推给自己 —— 实际推送到的还是企业微信
- 方案 B(不推荐):借助第三方网关服务(如 Server 酱、WxPusher)—— 稳定性差、消息有审查风险、且涉及用户数据出本地,与 YingClaw 的本地部署理念冲突
YingClaw 团队的官方建议是:企业场景一律用钉钉或企微群机器人,个人提醒用手机自带推送或邮件。
五、在任务里调用推送
通知通道配好后,怎么让 YingClaw 在跑完任务时自动调推送?三种写法:
写法 1:在指令末尾直接说「发到钉钉」
yingclaw run "每天早上 9 点汇总昨天 GitHub 提交记录,结果发到钉钉"
YingClaw 看到「发到钉钉」会自动匹配 default_channel,跑完任务后立刻推送。
写法 2:在定时任务里指定 channel
yingclaw schedule add \
--cron "0 9 * * *" \
--task "汇总昨天销售线索并按来源分组" \
--push-to dingtalk-sales-alert,dingtalk-lead-team
这条指令创建了一个每天 9 点执行的任务,结果同时推送到两个钉钉群(销售报警群和线索团队群)。
写法 3:在 Python 脚本里用 YingClaw SDK
如果你的任务本身是脚本代码,YingClaw 也提供 Python SDK:
from yingclaw import notify
result = run_my_custom_task() # 你的业务逻辑
notify.send(
channel="dingtalk-sales-alert",
title="日报生成完成",
content=result.summary,
at_all=False
)
三种写法底层走的是同一套推送通道,差别只是触发位置。 实操中「写法 1」覆盖 80% 的日常场景,复杂定时任务用「写法 2」,自研系统集成用「写法 3」。
六、4 个真实推送场景
以下是团队上线 YingClaw 后最常用的推送组合:
| 场景 | 推送内容 | 接收人 | 频率 |
|---|---|---|---|
| 销售日报 | 昨日新增线索数、跟进完成率、待办清单 | 销售主管钉钉群 | 每天 9:00 |
| 运维异常报警 | 服务宕机、磁盘超 80%、备份失败 | 运维钉钉群 @oncall | 实时 |
| 财务发票整理 | 当日已识别发票张数、异常单据列表 | 财务企微 | 每个工作日 18:00 |
| 内容生产 | 公众号草稿生成完成 + 预览链接 | 内容负责人企微 | 触发即推 |
注意:所有这些任务的执行和推送都跑在本地机器上——客户数据、推送内容、群机器人 webhook 都不上传第三方云。这是营域智能一直坚持的「数据自控」理念。
七、常见问题 FAQ
Q1:钉钉机器人被风控/限流了怎么办? 每个自定义机器人每分钟最多 20 条消息。YingClaw 内部有节流机制会自动合并相近时间的推送。如果业务量大,建议按主题分多个机器人(如日报机器人、报警机器人分两个 webhook)。
Q2:推送的消息格式能定制吗?
可以。YingClaw 支持 Markdown 消息、链接卡片、ActionCard(带按钮)三种格式。通过在指令里说「用 Markdown 格式发」或在配置里指定 message_type: markdown 即可。
Q3:YingClaw 推送失败任务会重试吗? 会。默认重试 3 次,间隔指数退避(1s / 4s / 16s)。重试全部失败后会在本地日志写入失败记录,不会丢失。
Q4:能不能根据任务结果智能选择推送渠道? 能。在指令里用条件表达式,例如:
yingclaw run "监控订单数据库,如果有支付失败订单发钉钉 @运维,否则只发一份日报到企微"
YingClaw 的多代理协作会自动处理这种分支逻辑。
Q5:推送内容会不会泄露敏感数据? 推送消息文本本身是你可控的,但若任务结果里包含客户手机号、身份证、银行卡等敏感字段,建议在任务输出阶段做脱敏——YingClaw 不会替你自动打码。营域智能的安全建议是:先脱敏,再推送。
八、开始你的第一条推送
如果你已经装好 YingClaw,今天就能跑通推送链路:
- 建一个 3 人测试群(你自己 + 1 个同事 + 1 个管理员)
- 按本文第三节步骤配好钉钉自定义机器人
- 跑一次
yingclaw notify --channel 你的 channel 名 --message "hello" - 看到消息出现就标记「推送能力 ✓」
- 把这条能力用到你的第一个真实任务上
通知推送不是 YingClaw 的「附加功能」,而是数字员工能不能真正替代人工的关键标志——没有推送,AI 干再多活也是「黑盒」;有了推送,AI 才真正嵌入到团队的日常协作里。