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 的痛點,提供了一種基於本地桌面客戶端的安全自動化方案。所有外發內容均有人工把關,適合對安全性有較高要求的自動化場景。

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

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

小夜