Skip to content

邮件与日历 ​

在 Halo 里配好一个邮箱,数字人就能替你查收、搜索、发送和整理邮件;再填一个 CalDAV 地址,它还能查看和安排日历。

直接对 Halo 说

查一下今天的未读邮件,按优先级整理

数字人会读取收件箱里今天的未读邮件,逐封看过后,按轻重缓急给你一份清单。

把这份报告发给 zhangsan@example.com

数字人会写好邮件,把报告作为附件直接发出去,然后告诉你发给了谁。发送前不会再问你确认。

前提:已按下文配好 设置 › 消息通道 › 电子邮件;你是在和一位 数字人 聊天(哪一位都行,新装的 Halo 自带一位「Halo AI 数字人模板」)。普通工作区会话里没有邮件工具。

开始之前 ​

邮件和日历只有数字人能用。数字人的 电子邮件 能力默认是开着的,但要等你在设置里配好邮箱才真正生效。

在哪里能用邮件吗
在 Halo 里和数字人聊天能
数字人按计划任务等方式自动运行能
通过企业微信、飞书或微信机器人和数字人聊能。访客另有限制,见 机器人里的邮件权限
普通工作区会话不能,这里没有邮件工具

还要知道三点:

  • 一个 Halo 只能配一个邮箱,所有数字人共用它。不能给每个数字人配不同的邮箱。
  • Halo 用邮箱地址加授权码登录邮箱,不支持「用 Google 账号登录」这类网页授权登录。
  • 配置邮箱要你自己在设置里完成,Halo 不能替你填写。

准备授权码 ​

大多数邮箱不允许第三方软件直接用登录密码收发信。你要先在邮箱网站上开启 IMAP 和 SMTP 服务,再生成一个专给软件用的密码。各家叫法不同:授权码、应用专用密码、客户端专用密码。下文统称授权码。

邮箱要准备的一般在哪里拿
QQ 邮箱、网易 163 / 126 等授权码邮箱网页版的设置里,开启 IMAP/SMTP 服务后生成
Gmail应用专用密码Google 账号的安全设置,通常要先开启两步验证
Outlook / Microsoft 365应用密码,或按管理员要求账号的安全设置;公司账号问 IT
公司邮箱授权码或客户端专用密码问 IT 要发信服务器地址和端口,并确认收信规则(见下方注意)

这一步在邮箱服务商的网站上操作,Halo 帮不上。一般步骤:

  1. 用浏览器登录邮箱网页版。
  2. 打开设置或账号安全页面,开启 IMAP 和 SMTP 服务。
  3. 生成授权码,给它起个名字(比如 halo)。
  4. 马上复制授权码。很多邮箱只显示一次。

同时记下服务商的 SMTP 发信服务器地址和端口,下一步要填。

收信和发信要用同一个服务器地址

Halo 只让你填发信(SMTP)服务器。读邮件时,它连同一个地址的 993 端口(IMAP,加密连接),用户名和密码也相同。没有单独填收信服务器的地方。如果你的邮箱收信和发信是两个不同的地址,Halo 能发信,但读不了信。

授权码以明文保存在你电脑上的 ~/.halo/config.json 里,界面上只显示 ***。用授权码而不是登录密码,出了问题只需在邮箱网站上作废它。

在 Halo 里填写邮箱 ​

  1. 点左侧导航栏底部的 设置,选 消息通道。

  2. 往下找到标着 单向 的 电子邮件 卡片(说明是「通过 SMTP 邮件发送通知」),点一下展开。

  3. 打开 已启用。

  4. 按下表填写字段。带 * 的必填。

    字段填什么说明
    SMTP 主机 *服务商的发信服务器地址框里的 smtp.gmail.com 只是示例,不是默认值。Halo 读邮件也连这个地址
    SMTP 端口 *服务商给的端口表单一开始是 587,使用 SSL/TLS 是关的
    使用 SSL/TLS服务商要求 465 端口时打开打开后端口自动变成 465,关上回到 587。你自己改过的端口不跟着变
    用户名 *完整的邮箱地址,如 zhangsan@example.com数字人发出的邮件以这个地址作为发件人
    密码 *上一步拿到的授权码框里提示「应用密码」
    默认接收者 *通常填你自己的邮箱只用于通知邮件,见 用邮件接收通知。数字人替你发信时,收件人要在对话里说明
  5. 填完不用点保存,改动会自动保存。卡片标题右边显示 已配置 和一个绿点。

公司提供的 Halo 可能已经预先填好 SMTP 主机、端口等字段。这时通常只需要填用户名和密码。

消息通道设置里展开的电子邮件卡片,显示 SMTP 主机、端口、SSL/TLS 开关、用户名、密码、默认接收者和测试通过

测试连接 ​

  1. 在 电子邮件 卡片底部点 测试。按钮先变成 测试中...。
  2. 看到绿色的 测试通过,说明 Halo 能用这个账号登录发信服务器。
  3. 失败时,按钮旁边显示红色的错误原文,对照 遇到问题 排查。

测试 只检查发信服务器(SMTP)能否登录,不会真的发出一封邮件。它也不检查收信(IMAP)和日历(CalDAV)。

  • 已启用 关着时,测试 按钮是灰的。
  • 端口为空或不是有效数字时,会显示「请输入 SMTP 端口」,不会开始测试。

想确认读信也正常,就在数字人聊天里说:

列出我邮箱里的所有文件夹

数字人列出收件箱、已发送等文件夹,就说明收信也通了。

为数字人打开电子邮件 ​

每位数字人的 电子邮件 能力默认是开着的,一般不用动。想检查或关掉它:

  1. 点左侧导航栏的 数字人,在 我的数字人 里打开这位数字人。
  2. 切到 能力与设置,找到 模型与能力 这一组。
  3. 看 电子邮件 这一行(「允许此应用读取、发送和管理电子邮件及日历」),开关打开就能用。

如果这一行是灰的,下面还有一行黄色提示「已启用,但尚未配置邮件渠道。请在 设置 > 消息渠道 中进行配置。」,说明 电子邮件 卡片的 已启用 还关着。点这行提示可以直接跳到设置。

不想让某位数字人碰邮箱,就把它的 电子邮件 关掉。改完后如果页面出现 快速重启,点它,让正在进行的聊天用上新设置。

完成

在数字人聊天里说「列出我邮箱里的所有文件夹」,它返回文件夹列表,就说明邮箱和数字人都配好了。

数字人能做什么 ​

配好以后,数字人在聊天和自动运行里都能用下面这些邮件工具。你用自然语言说要做什么就行,不用记工具名。

你可以让它工具说明
列出邮件email_list收件箱或任一文件夹,新的在前;可以只看未读;一次最多 100 封
读一封邮件email_read正文、发件人、收件人和附件列表
搜索邮件email_search按主题、发件人、收件人和日期范围搜,支持中文;不是全文搜索;一次最多 50 条
发新邮件email_send可以抄送、密送,可以附上 Halo 所在电脑上的文件
回复email_reply可以只回发件人,也可以回复全部,会引用原文
转发email_forward带上原邮件和附件,可以在前面加一段话
移动email_move移到其他文件夹,比如垃圾邮件或你自建的文件夹
标记email_mark已读、未读、加星标、取消星标,可以一次标多封
删除email_delete默认移到已删除文件夹,可以恢复;也可以彻底删除
查看文件夹email_folders列出所有文件夹,以及各自的邮件数和未读数
下载附件email_attachment_download把附件存成电脑上的文件,之后可以接着读、整理

可以这样说:

  • 「搜一下这两周来自 zhangsan@example.com 的邮件,把带附件的列成表格」
  • 「把今天的未读邮件都标成已读」
  • 「回复这封邮件,说我周五前给答复」

发信和删信前不会再确认

数字人发出、回复、转发或彻底删除邮件时,Halo 不会弹窗让你确认,邮件发出就收不回。想多一道保险:

  • 先让它把邮件发给你自己试几次,再发给别人。
  • 在数字人的 系统提示词 里写明「发邮件前先把收件人和正文发给我,等我同意再发」。这靠 AI 自己遵守,不是强制拦截。

管理日历(CalDAV) ​

填上 CalDAV 地址后,数字人还能查看、新建和删除日历里的日程。CalDAV 是日历的通用协议,很多邮箱自带的日历都支持。

  1. 在 设置 › 消息通道 › 电子邮件 卡片里,点开 高级。
  2. 在 CalDAV URL 里填服务商提供的日历地址。地址从服务商的帮助文档或 IT 那里获取。
  3. 地址里可以写占位符:{host} 会换成 SMTP 主机,{email} 会换成 用户名。框里的示例是 https://{host}/dav/users/{email}/calendars/default/。
  4. TLS 加密套件 保持空着(显示「自动(系统默认)」),除非 IT 要求填特定值。

日历用同一个用户名和密码登录。填了地址后,数字人多出三个工具:

你可以让它工具说明
查看日程calendar_list列出一段时间内的日程
新建日程calendar_create标题、开始和结束时间,可选描述、地点、参会人;默认提前 15 分钟提醒
删除日程calendar_delete删除指定的日程

CalDAV URL 空着时,这三个工具不会出现。测试 不检查日历,想确认就对数字人说「看看我本周的日程」。

用邮件接收通知 ​

同一张 电子邮件 卡片也是一个单向通知通道。数字人干完活或遇到重要情况时,可以自己决定发一封通知邮件给 默认接收者。

  • 通知邮件的发件人显示为「Halo」,主题是 [Halo] 通知标题。
  • 发通知只要求 电子邮件 卡片已启用,不看数字人的 电子邮件 能力开关。
  • 通知只发给 默认接收者。想让数字人发给别人,用上面的发信功能。

通知通道和主动推送到聊天有什么不同,见 通知与主动推送。

机器人里的邮件权限 ​

数字人接上机器人后,你在企业微信、飞书或微信里和它聊,也能让它处理邮件。用的是 Halo 里配好的那个邮箱。

  • 主人:和在 Halo 里一样,能用全部邮件工具。
  • 访客:默认不能用邮件。想让企业微信或飞书机器人的访客也能用,打开 设置 › 消息通道 ›(机器人)› 权限 › 权限控制,设好主人后,在 访客权限 里打开 访客访问权限,再在 访客允许使用的工具 里打开 电子邮件。
  • 微信机器人:没有权限控制,每个给它发消息的人都按主人对待,都能用邮件。

访客能用邮件,就能动你的邮箱

给访客打开 电子邮件 后,群里任何访客都能让数字人读你的邮件、以你的名义发信。只在可信的群里打开。

主人和访客怎么区分、其他工具怎么放开,见 主人与访客权限。

定时处理邮件 ​

Halo 没有「收到新邮件就触发」的方式。想让数字人定期处理邮件,就给它一个计划任务,让它按时醒来去看邮箱。

  1. 打开这位数字人的 能力与设置 › 身份与指令,在 系统提示词 里写清每次要做什么。比如:「检查今天的未读邮件,按优先级整理成摘要,客户来信单独列出。」
  2. 切到 触发器 › 定时执行,打开开关。默认每 1 小时一次。
  3. 想固定时间,选 按时间,比如 重复 选 每天,时间设成 8:30。只想在工作日运行,再打开 仅限中国大陆工作日。
  4. 点页面顶部的 立即运行 先试一次,在 工作动态 里看结果。
  • 每次运行都会用模型,消耗 token。间隔越短,花费越多。
  • 到点时 Halo 要在运行,电脑要开着。
  • 想让它把摘要发给你,见 通知与主动推送。

计划任务的更多选项见 运行计划与触发方式。

遇到问题 ​

数字人说它没有邮件工具 ​

  • 你可能在普通工作区会话里提问。邮件只在数字人聊天里可用,去 数字人 打开一位数字人再说。
  • 设置 › 消息通道 › 电子邮件 的 已启用 没打开。
  • 这位数字人的 电子邮件 被关掉了,见 为数字人打开电子邮件。
  • 通过机器人提问的人是访客,见 机器人里的邮件权限。

测试通过了,但数字人读不了邮件 ​

测试 只检查发信,读信走的是同一地址的 993 端口。逐项确认:

  • 邮箱网站上已经开启 IMAP 服务。很多邮箱默认只开 SMTP。
  • 你的邮箱收信服务器和发信服务器是同一个地址。不是的话,Halo 目前读不了这个邮箱。公司邮箱可以问 IT。

测试失败,错误里有 Invalid login、Authentication failed 或 535 ​

用户名或密码不对。确认 用户名 是完整邮箱地址,密码 填的是授权码,不是登录密码。必要时在邮箱网站上重新生成一个。

测试失败,错误里有 ETIMEDOUT 或 ECONNREFUSED ​

连不上服务器。检查 SMTP 主机 和 SMTP 端口 是否和服务商给的一致,网络或防火墙是否拦了这个端口。

错误里有 self signed certificate 或 unable to verify the first certificate ​

Halo 连接邮件服务器时不校验证书链,所以这类错误多半是加密方式和端口没对上。465 端口一般要打开 使用 SSL/TLS,587 端口一般关着。

测试按钮是灰的 ​

电子邮件 卡片的 已启用 还没打开。打开后再点 测试。

看不到日历工具,或日历报错 CalDAV … failed: HTTP … ​

没有日历工具,说明 高级 › CalDAV URL 是空的。报 HTTP 错误,多半是地址不对。向服务商或 IT 确认准确的 CalDAV 地址,以及占位符替换后的地址是否正确。

改了邮箱设置,数字人还在用旧的 ​

在这位数字人的页面点 更多 › 重启智能体,再发一条消息试试。

下一步 ​

基于 MIT 协议开源 · Open source under the MIT license