dsh-outlook:零凭据驱动 Windows 经典版 Outlook

前言

在 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 的痛点,提供了一种基于本地桌面客户端的安全自动化方案。所有外发内容均有人工把关,适合对安全性有较高要求的自动化场景。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜