360 Secure SkillHub
360 安全技能中心

Email Router Assistant

该 Skill 是邮件需求的统一入口,本身不执行脚本、不调用接口,只负责识别用户邮件相关意图,并按场景路由到 public-skill(平台公邮,推送给本人、纯文本)或 imap-smtp-email(个人邮箱,支持第三方收件人、抄送密送、附件、HTML 及收件箱检索),并给出公邮失败时的回退规则。

sky-lv
sky-lv
热度 16.02
最近更新 2026-05-29 11:50:33
分类:协作依赖:纯提示词应用场景:邮件起草 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add email-router-assistant
Metadata
name
email-skill
description
当用户提到邮箱相关能力时,进入这个skill,统一邮件入口(纯路由层):识别用户意图后路由到 public-skill 或 imap-smtp-email,自身不执行任何脚本
version
3.0
trigger_keywords
["发邮件","发送邮件","写邮件","邮箱","email","send email","收邮件","查邮件","检查邮箱","收件箱","inbox","搜索邮件","查找邮件","下载附件","邮件附件","绑定邮箱","邮箱绑定","日报推送","天气推送","报告推送","提醒推送","邮件通知","邮件推送","推送到邮箱","消息留存"]
exclude_when
["操作与邮件完全无关(如日历、文件管理、聊天)","用户要求发送短信或站内信(非邮件渠道)"]

Email Skill(统一邮件入口 / 纯路由层)

定位:email-skill 是所有邮件需求的唯一入口。它只做意图识别和路由分发,不执行任何脚本,不调用任何接口。识别用户意图后,直接将任务交给下游 skill 执行。

1. 架构总览

Skill 角色 说明
email-skill(本 skill) 统一入口 / 纯路由层 识别意图 → 路由到下游 skill,自身不执行任何操作
public-skill 平台公邮通道 零配置,把内容推送到用户自己的邮箱(纯文本)
imap-smtp-email 个人邮箱通道 需配置,支持完整 IMAP/SMTP 邮件收发能力
用户邮件需求
     │
     ▼
 email-skill(意图识别)
     │
     ├── 推送到自己邮箱 / 绑定公邮 ──► public-skill
     │
     └── 完整邮件收发 ──► imap-smtp-email

2. 路由规则

2.1 核心原则:先理解场景,再选路径

不要先检查公邮是否可用再决定路径。应该先理解用户要解决什么问题,再选择对应的 skill。

2.2 路由到 public-skill 的条件

同时满足以下所有条件时,路由到 public-skill:

  • 发送对象是用户自己(没有第三方收件人)
  • 内容是纯文本(不需要 HTML)
  • 不需要附件、抄送、密送
  • 不需要收件、检索、下载附件
  • 场景属于"结果推送 / 消息留存"类(天气、日报、报告、提醒等)

2.3 路由到 imap-smtp-email 的条件

出现以下任一信号,直接路由到 imap-smtp-email:

  • 需要发给第三方收件人
  • 需要抄送(cc)或密送(bcc)
  • 需要附件
  • 需要 HTML 邮件
  • 需要收件箱查询、搜索、拉取详情、下载附件
  • 需要标记已读/未读、列出邮箱文件夹
  • 用户明确说"发给别人""带附件""查收件箱""下载附件""正式邮件""抄送某人"
  • 平台公邮不可用,需要兜底发送

2.4 快速判断表

用户意图信号 路由目标
"发到我的邮箱""推送到我邮箱" 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

3. 两条路径的能力对比

能力 public-skill imap-smtp-email
发送到自己的邮箱 ✅ ✅
发给第三方收件人 ❌ ✅
抄送 / 密送 ❌ ✅
附件 ❌ ✅
HTML 邮件 ❌ ✅
收件 / 搜索 / 下载附件 ❌ ✅
零配置 ✅ ❌
需要授权码/密码 ❌ ✅

4. 场景示例

路由到 public-skill 的场景

用户需求 原因
"查一下深圳明天天气,发到我邮箱" 结果推送到自己邮箱,纯文本,零配置
"每天下班把日报推到我邮箱" 只发给自己,消息留存
"把这段总结发到我的邮箱保存" 推送到自己邮箱做留存
"帮我绑定邮箱" 公邮绑定流程

路由到 imap-smtp-email 的场景

用户需求 原因
"用我的 Gmail 发给客户" 第三方收件人
"给团队发周报并抄送 PM" 需要抄送
"发 PDF 附件给合作方" 需要附件
"查最近两小时的发票邮件" 需要 IMAP 检索
"下载那封邮件的附件" 需要附件下载
"配置我的 QQ 邮箱" 个人邮箱配置
"公邮发不了,用个人邮箱发" 公邮不可用,兜底

5. 回退策略

当路由到 public-skill 后执行失败,且失败原因属于以下类型时,应自动回退到 imap-smtp-email:

可回退的失败类型:

  • 平台公邮日发送上限 / 额度不足
  • 通道不可用 / 连接失败
  • 请求超时
  • 登录已过期 / 未登录
  • 网关层通信错误

不可回退的失败类型(应直接报错):

  • 邮箱未绑定平台公邮(应引导用户走绑定流程)
  • 参数校验错误
  • 频率限制

6. 安全规则

  1. 禁止泄露授权码、SMTP/IMAP 密码、验证码等敏感信息
  2. 发送邮件为非幂等操作,失败后禁止自动重试
  3. 附件路径必须落在允许读取目录内
  4. 下载附件路径必须落在允许写入目录内
  5. 必须用utf8编码
  6. 禁止使用代码块:回答中不得出现任何形式的代码块(包括行内代码 ... 和围栏代码块 ...),应使用纯自然语言进行描述。

7. 一句话记忆

  • 推给自己做留存 → public-skill
  • 像正常邮箱那样完整收发 → imap-smtp-email