前言¶
在 Windows 环境下开发 AI 智能体时,直接操作 Outlook 是常见需求。然而,企业环境通常禁止注册 Graph API 应用或提供租户管理员权限,这使得基于 OAuth 的方案难以落地。DSH Harness 的 dsh-outlook 插件通过 COM 接口直接驱动本地已登录的桌面版 Outlook,无需任何应用注册或凭据存储,让智能体能够读取邮件、管理日程并执行操作,同时确保所有外发内容都经过人工确认。
插件简介¶
dsh-outlook 是一个专为 Windows 环境设计的 DSH 插件。它利用 COM 技术控制本地 Outlook 客户端,实现零凭据的自动化操作。插件维护者为 UnknowCao,许可证为 MIT。
核心功能¶
插件提供 18 个工具,涵盖邮件、日历和通讯录操作。其中,读操作可自动执行;任何外发动作(发送邮件、创建会议等)必须通过三层人工确认门。
- 邮件管理
outlook_check_new:新邮件到达时同步侧边栏角标。outlook_search_mail:按天数、文件夹、发件人、日期区间搜索邮件。outlook_read_mail:读取邮件全文及附件名。outlook_open_mail:在桌面 Outlook 中打开邮件并标记已读。outlook_draft_mail:创建草稿(永不自动发送)。outlook_send_mail:发送邮件。outlook_reply_mail:回复或转发邮件(自动引用原文)。
- 日历管理
outlook_calendar_query:查询未来 N 天的日程。outlook_calendar_create:创建个人日程或会议邀请。outlook_meeting_requests:查看待响应的会议邀请。outlook_respond_meeting:接受/拒绝会议邀请。outlook_meeting_update:更新会议。outlook_meeting_cancel:取消会议或删除个人日程。
- 资源查询
outlook_search_people:在通讯录(GAL)中搜索人员。outlook_freebusy:查询同事的空闲时段。outlook_search_rooms:搜索会议室及指定时段的空闲情况。
- 附件与账户
outlook_save_attachment:保存附件到本地。outlook_account:获取当前账户名和 SMTP。
安装与启用¶
确保环境满足以下前置条件:
* Windows 操作系统。
* 已安装经典版 Outlook(Win32 OUTLOOK.EXE)并已登录账号。
* 系统自带 Windows PowerShell 5.1。
安装命令如下:
dsh plugin --profile web add dsh-outlook
安装后无需额外配置凭据或注册应用,直接重启 profile 即可使用。
典型用法¶
智能体可以通过自然语言调用上述工具,示例包括:
1. “有什么新邮件?”
2. “搜一下上周张三发的关于交付物的邮件”
3. “把这封转给李四,附言说请他确认”
4. “帮我约下周三和王五的会,先看看他什么时候有空”
5. “找一间明天下午两点到三点空闲的宁波会议室”
适用场景与注意事项¶
该插件适用于在权限受限的企业环境中,需要直接操作桌面 Outlook 的场景。
- 安全机制:所有外发操作(发送邮件、会议邀请等)必须经过三层人工确认:两轮确认协议、内容哈希绑定以及独立的桥接层令牌验证。
- 运行机制:插件以当前 DSH 进程的权限运行,不保存或回传邮箱凭据。草稿不会自动发送,也不会静默发送任何内容。
- 系统要求:仅支持 Windows + 经典版 Outlook,不支持 Web 版 Outlook。需要 PowerShell 5.1 环境。
总结¶
dsh-outlook 解决了在受限企业环境中使用 Graph API 的痛点,提供了一种基于本地桌面客户端的安全自动化方案。所有外发内容均有人工把关,适合对安全性有较高要求的自动化场景。