前言¶
在 DeepSeek Harness(DSH)裏做郵件相關自動化時,常見的問題是 agent 只能處理上下文裏的文本,不能直接查郵箱、讀正文、搜郵件或代發郵件。已有做法通常要人工複製郵件內容,或額外寫腳本調用 IMAP/SMTP。
dsh-email 是一個 DSH 郵件工具插件,把查收件箱、讀郵件、搜郵件、代發郵件和附件下載封裝成一組工具,配置完成後 agent 即可調用。
這是什麼¶
一句話定位:DeepSeek Harness 郵件工具插件,讓 agent 能查收件箱、讀郵件、搜郵件、代發郵件、收發附件。
倉庫路徑爲 STARDUSTLC666/dsh-email,包名爲 dsh-email,許可證爲 MIT。這是一個社區插件,與 DeepSeek 官方無關。
該插件爲純 Node 實現,Windows / macOS / Linux 使用同一份代碼,無原生二進制。package.json 聲明 Node >=22。
核心功能¶
email_list:列出文件夾最新郵件,支持未讀過濾、分頁、只看摘要。email_read:按uid讀取郵件全文,HTML 自動轉純文本,超長截斷。email_search:按關鍵詞服務器端搜索subject / from / to / cc;無結果時可回退掃描正文。email_send:代發郵件並支持附件,默認發信前彈確認審批。email_folders:列出郵箱文件夾並返回path供其他工具使用。email_attachment:按序號下載郵件附件到會話工作區。- 內置
QQ / 163 / 126 / Sina / Aliyun / Gmail / Outlook / iCloud八個預設。 - 支持一個
tool-email配置多個賬號,並通過account / defaultAccount選擇。 - 提供 Web 設置頁,可填寫郵箱地址、授權碼、測試連接並保存應用。
安裝與啓用¶
執行下面命令安裝插件:
dsh plugin --profile web add dsh-email
裝好後重啓 dsh web。
配置¶
Web 設置頁¶
重啓後打開:
設置 → 郵件 (dsh-email)
在頁面中填寫郵箱地址和授權碼,可使用「測試連接」,完成後點「保存並應用」。
YAML 配置¶
也可以在 profile 的 cordis.patch.yml 中覆蓋 tool-email 行,配置 provider、user、password 等字段,然後重啓 DSH Web 服務。
單賬號示例:
- id: tool-email
config:
provider: qq
user: you@qq.com
password: 你的授權碼
多賬號示例:
- id: tool-email
config:
accounts:
work:
provider: qq
user: work@qq.com
password: 授權碼1
home:
provider: '163'
user: home@163.com
password: 授權碼2
defaultAccount: work
多賬號配置中,defaultAccount 表示工具調用時省略 account 參數所使用的默認賬號。
典型用法¶
配置完成後,可以直接對 agent 說:
幫我看下 QQ 郵箱最新的 10 封未讀,把要回復的列出來。
agent 可以先調用 email_list 獲取最新或未讀郵件,再用 email_read 讀取具體郵件全文;如果需要回復,再調用 email_send,並在確認審批後發出。
適用場景與注意¶
適合在 DSH 中處理郵件查詢、正文讀取、郵件搜索、代發郵件和附件下載的場景。使用前需要能拿到郵箱服務商的授權碼或應用專用密碼。
安裝前建議檢查源碼和許可證,因爲插件會在當前 DSH 進程權限下運行。
注意事項如下:
- 不支持
OAuth2;強制 OAuth 的企業環境暫不可用,只能使用授權碼/應用專用密碼。 - 服務器端搜索僅覆蓋
subject / from / to / cc;正文搜索爲客戶端回退,較慢且受bodySearchLimit限制。 - 內嵌圖片暫不支持單獨下載;附件定位失敗會直接報錯,而不是下載錯誤文件。
email_send默認走 DSH 審批;無審批通道的環境會直接拒絕發信;Full Access模式下會被攔截並提示。- 授權碼/密碼以明文寫在本機
settings.yaml或cordis.patch.yml;secret標記只保證不進日誌/導出/診斷,不做磁盤加密。 - 本插件不做任何聯網上報,憑證只在內存中用於連接郵箱服務器。
- 兼容性說明:在
@deepseek-ai/dsh@0.1.1-rc.2上驗證,時間爲 2026-08-26。
參考¶
- GitHub:https://github.com/STARDUSTLC666/dsh-email