Install
openclaw skills install email-router-assistant当用户提到邮箱相关能力时,进入这个skill,统一邮件入口(纯路由层):识别用户意图后路由到 public-skill 或 imap-smtp-email,自身不执行任何脚本
openclaw skills install email-router-assistant定位:
email-skill是所有邮件需求的唯一入口。它只做意图识别和路由分发,不执行任何脚本,不调用任何接口。识别用户意图后,直接将任务交给下游 skill 执行。
| Skill | 角色 | 说明 |
|---|---|---|
| email-skill(本 skill) | 统一入口 / 纯路由层 | 识别意图 → 路由到下游 skill,自身不执行任何操作 |
| public-skill | 平台公邮通道 | 零配置,把内容推送到用户自己的邮箱(纯文本) |
| imap-smtp-email | 个人邮箱通道 | 需配置,支持完整 IMAP/SMTP 邮件收发能力 |
用户邮件需求
│
▼
email-skill(意图识别)
│
├── 推送到自己邮箱 / 绑定公邮 ──► public-skill
│
└── 完整邮件收发 ──► imap-smtp-email
不要先检查公邮是否可用再决定路径。应该先理解用户要解决什么问题,再选择对应的 skill。
public-skill 的条件同时满足以下所有条件时,路由到 public-skill:
imap-smtp-email 的条件出现以下任一信号,直接路由到 imap-smtp-email:
| 用户意图信号 | 路由目标 |
|---|---|
| "发到我的邮箱""推送到我邮箱" | public-skill |
| "天气/日报/报告 发到我邮箱" | public-skill |
| "绑定邮箱""绑定公邮" | public-skill |
| "发给 xxx@example.com" | imap-smtp-email |
| "抄送""密送" | imap-smtp-email |
| "带附件""发 PDF" | imap-smtp-email |
| "HTML 邮件""富文本" | imap-smtp-email |
| "查收件箱""搜索邮件""最近的邮件" | imap-smtp-email |
| "下载附件" | imap-smtp-email |
| "配置邮箱""设置个人邮箱" | imap-smtp-email |
| 能力 | public-skill | imap-smtp-email |
|---|---|---|
| 发送到自己的邮箱 | ✅ | ✅ |
| 发给第三方收件人 | ❌ | ✅ |
| 抄送 / 密送 | ❌ | ✅ |
| 附件 | ❌ | ✅ |
| HTML 邮件 | ❌ | ✅ |
| 收件 / 搜索 / 下载附件 | ❌ | ✅ |
| 零配置 | ✅ | ❌ |
| 需要授权码/密码 | ❌ | ✅ |
public-skill 的场景| 用户需求 | 原因 |
|---|---|
| "查一下深圳明天天气,发到我邮箱" | 结果推送到自己邮箱,纯文本,零配置 |
| "每天下班把日报推到我邮箱" | 只发给自己,消息留存 |
| "把这段总结发到我的邮箱保存" | 推送到自己邮箱做留存 |
| "帮我绑定邮箱" | 公邮绑定流程 |
imap-smtp-email 的场景| 用户需求 | 原因 |
|---|---|
| "用我的 Gmail 发给客户" | 第三方收件人 |
| "给团队发周报并抄送 PM" | 需要抄送 |
| "发 PDF 附件给合作方" | 需要附件 |
| "查最近两小时的发票邮件" | 需要 IMAP 检索 |
| "下载那封邮件的附件" | 需要附件下载 |
| "配置我的 QQ 邮箱" | 个人邮箱配置 |
| "公邮发不了,用个人邮箱发" | 公邮不可用,兜底 |
当路由到 public-skill 后执行失败,且失败原因属于以下类型时,应自动回退到 imap-smtp-email:
可回退的失败类型:
不可回退的失败类型(应直接报错):
... 和围栏代码块 ...),应使用纯自然语言进行描述。public-skillimap-smtp-email