前言¶
DeepSeek Harness(下文簡稱 DSH)把模型、工具、會話和界面都做成插件。官方倉庫的定位是「Everything is a Plugin」:加能力改配置,不必改 Harness 源碼。智能體因此能寫代碼、查文件、跑終端,但郵箱這一層通常還得自己打開客戶端。
日常裏這類需求很具體:看一眼未讀、按主題搜一封合同、把附件落到工作區、起草回覆再發出去。自己複製粘貼當然可以,但會話一長就容易漏。社區插件 dsh-email 做的就是這件事:用標準 IMAP/SMTP 把收件箱接到 agent 的工具列表裏。
本文按 DSH 插件目錄 詳情頁和 GitHub 倉庫 STARDUSTLC666/dsh-email(README、package.json、許可證,覈對於 2026-08-18)整理:它是什麼、有哪些工具、怎麼安裝配置,以及發信審批和憑證該怎麼處理。目錄站點是社區維護的檢索入口,與 DeepSeek / 幻方沒有官方從屬關係;插件本身也在 README 裏寫明是社區項目,和官方無關。
這是什麼¶
dsh-email 是一款界面增強類插件,由 GitHub 用戶 STARDUSTLC666 維護,倉庫許可證爲 MIT。當前 npm 包版本是 0.6.2,主要語言 TypeScript,engines 字段要求 Node.js >= 20。GitHub 倉庫在 2026-08-18 顯示 5 星。
它給當前 DSH 進程裏的 agent 一組郵件工具:列收件箱、讀信、搜索、代發、看文件夾、收發附件。協議走 IMAP 收信、SMTP 發信,不依賴系統 shell,也沒有原生二進制;README 寫明 Windows / macOS / Linux 同一份 Node 代碼。
設置界面掛在 Web UI 上。package.json 的 dsh.client 聲明瞭 platform: web,並注入 @deepseek-ai/dsh-client-runtime 與 @deepseek-ai/dsh-client-ui-settings。也就是說:郵件協議本身跨平臺,表單配置頁面向 dsh web。
核心功能¶
六類工具¶
README 把能力收成六個工具,名稱和職責如下。
| 工具 | 作用 |
|---|---|
email_list |
列出文件夾裏最新郵件,支持未讀過濾、分頁;默認只給摘要,不帶正文 |
email_read |
按 uid 讀一封全文;HTML 會轉成純文本,超長按 maxBodyChars 截斷(默認 20000 字) |
email_search |
服務器端按關鍵詞搜主題 / 發件人 / 收件人 / 抄送;無結果時默認回退掃描最近 30 封正文 |
email_send |
代發郵件,可帶附件;默認發信前彈確認,顯示收件人、主題和附件數 |
email_folders |
列出 INBOX、已發送、垃圾郵件以及自定義文件夾,把 path 交給其他工具 |
email_attachment |
按序號下載附件;默認落到會話工作區,單文件與總大小受 maxAttachmentBytes 限制(默認 20 MiB) |
v0.6.2 的改動主要在搜索和列表順序:服務器搜索補上 cc;正文回退掃描也匹配 to / cc,單封解析失敗不會打斷整批;列表按 UID 降序,保證最新在前;email_send 的附件參數校驗爲路徑字符串數組。
倉庫 README 給的對話示例是:
幫我看下 QQ 郵箱最新的 10 封未讀,把要回復的列出來。
agent 會先走 email_list(未讀、最近 10 封),需要正文時再調 email_read。這是文檔裏的用法說明,不是實測記錄。
八種郵箱預設¶
選 provider 就會填好 IMAP/SMTP 地址,不必手寫主機名。目錄頁和 README 列出的八個預設一致:
| provider | IMAP | SMTP |
|---|---|---|
qq |
imap.qq.com:993(SSL) | smtp.qq.com:465(SSL) |
163 |
imap.163.com:993 | smtp.163.com:465 |
126 |
imap.126.com:993 | smtp.126.com:465 |
sina |
imap.sina.com:993 | smtp.sina.com:465 |
aliyun |
imap.aliyun.com:993 | smtp.aliyun.com:465 |
gmail |
imap.gmail.com:993 | smtp.gmail.com:465 |
outlook |
outlook.office365.com:993 | smtp.office365.com:587(STARTTLS) |
icloud |
imap.mail.me.com:993 | smtp.mail.me.com:587(STARTTLS) |
沒有預設也可以手填任意 IMAP/SMTP。顯式寫的 host / port / secure 優先於預設。
各服務商都要求用授權碼或應用專用密碼,不要填網頁登錄密碼。README 裏的入口是:
- QQ:設置 → 賬戶 → 開啓 IMAP/SMTP → 生成授權碼
- 163 / 126:設置 → POP3/SMTP/IMAP → 開啓 → 新增授權碼
- Gmail:先開兩步驗證,再到安全頁生成應用專用密碼
- Outlook:微軟賬戶安全頁的應用密碼(部分賬號要先開兩步驗證)
多賬號與兩種配置入口¶
一個 tool-email 配置可以掛多個郵箱,調用工具時用 account 參數切換;defaultAccount 是省略該參數時的默認賬號。v0.1 的單賬號頂層字段(provider / user / password 等)仍可用,作爲各賬號的共享默認值。
配置有兩種,任選其一:
- 網頁設置(README 推薦):重啓
dsh web後打開 設置 → 郵件 (dsh-email),填郵箱和授權碼,點「保存並應用」。頁面帶「測試連接」。保存值寫在settings.yaml的dsh-email命名空間,會覆蓋 YAML 裏的默認賬號;密碼字段標成 secret,不會進導出和診斷。 - YAML:在 profile 的
cordis.patch.yml裏覆蓋tool-email這一行。設置頁的「多賬號(高級,YAML)」文本框也能填賬號映射,非空時覆蓋accounts。
插件自帶空配置,cordis.patch.yml 裏插入的是 config: {}。README 寫明這樣安裝不會把啓動弄崩;配置完成前調用任何 email_* 工具,會返回明確的配置提示。
安裝與啓用¶
目錄詳情頁給出的安裝命令是:
dsh plugin add github:STARDUSTLC666/dsh-email
需要可復現安裝時,按目錄頁說明固定 commit。2026-08-18 倉庫 main 最新提交爲 f24f1ffa6ce4a1369433a1a433fb8078d34b6683(提交於 2026-08-16):
dsh plugin add github:STARDUSTLC666/dsh-email#f24f1ffa6ce4a1369433a1a433fb8078d34b6683
倉庫 README 另外寫了帶 web profile 的裝法,和設置頁面向 dsh web 這一點一致:
dsh plugin --profile web add dsh-email
裝好後重啓 dsh web。單賬號 YAML 可以寫成:
- id: tool-email
config:
provider: qq
user: you@qq.com
password: 你的授權碼
README 更建議把密碼放到環境變量 DSH_EMAIL_PASSWORD,不要長期明文寫在配置文件裏。
沒有預設、直連公司郵箱時:
- id: tool-email
config:
user: you@corp.example
password: 你的授權碼
imap: { host: imap.corp.example, port: 993, secure: true }
smtp: { host: smtp.corp.example, port: 465, secure: true }
inboxFolder: INBOX
多賬號示例:
- 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
downloadDir 可改附件落盤目錄;不寫的話,默認是會話工作區下的 .dsh-email-downloads,再回退到 $DSH_HOME/email-downloads。
典型用法¶
配置完成後,可以直接用自然語言讓 agent 調工具,不必記參數名。和文檔一致的幾類任務包括:
- 列出某文件夾最新未讀,只看摘要
- 按 uid 打開一封,HTML 會變成純文本
- 按主題、發件人或抄送搜索;服務器沒命中時,默認再掃最近
bodySearchLimit封(默認 30)的正文 - 列出文件夾路徑,再把
path傳給email_list/email_search - 按序號下載附件,讓模型在工作區裏讀文件
- 起草回覆後走
email_send;默認會彈出確認,你批准才真正發出
發信審批是默認打開的(sendApproval: true)。每次發送會走 DSH 審批通道,提示類似「發送郵件給 xx,主題「xx」」。沒有審批通道的環境(例如無 UI 的 headless)會直接拒絕發信,這是文檔寫明的安全默認,不是故障。
還有一個容易踩的點:會話處於 Full Access(完全訪問) 時,Harness 的審批策略是 never(不彈確認)。此時 email_send 會被攔截並給出提示。README 給的兩條出路是:把訪問模式切回 Read Only / Write;或者在設置頁關掉「發信前確認」,等於明確接受風險。
適用場景與注意事項¶
比較適合已經在用 DSH Web、需要 agent 幫忙處理郵箱的人:掃未讀、檢索附件、起草並經你確認後發出。多賬號可以把工作和個人郵箱寫在同一行配置裏。企業郵局只要提供標準 IMAP/SMTP,也可以手填主機。
下面幾條是倉庫 README「已知限制」和「安全須知」裏已經寫明的,安裝前值得對照源碼看一遍。
不支持 OAuth2。 強制 OAuth 的企業環境(部分 Microsoft 365 / Google Workspace)目前用不了,只能走服務商的應用專用密碼或授權碼。
正文搜索是折中。 服務器端只搜 subject / from / to / cc。不少服務商(README 點名 QQ)的 IMAP TEXT / HEADER 搜索不可靠,所以無結果時會回退到客戶端掃描最近若干封,速度較慢;可以用 bodySearchFallback 關掉。
附件。 內嵌圖片暫不支持單獨下載;定位失敗會報錯,而不是下錯文件。默認大小上限 20 MiB,可在 1024 字節到 512 MiB 之間改 maxAttachmentBytes。
憑證落盤。 授權碼就是郵箱鑰匙。設置頁保存的值以明文寫在本機 settings.yaml:secret 標記只保證不進日誌、導出和診斷,不做磁盤加密。不要把該文件交給不信任的人,也不要提交到 Git。更穩妥的做法是用 DSH_EMAIL_PASSWORD。插件不做聯網上報,憑證只在內存裏用來連接你的郵件服務器。
權限模型。 目錄頁的安裝提示寫得很清楚:插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。裝之前應檢查源代碼倉庫和許可證。本插件許可證是 MIT;package.json 的 prepare 腳本會跑 tsc 構建。
最後再強調一次歸屬:dsh-email 是社區插件,README 寫明與 DeepSeek 官方無關,@deepseek-ai/* 是官方保留命名空間。本文引用的目錄頁同樣是獨立站點,不是官方應用商店。
小結¶
dsh-email 把 IMAP/SMTP 收成六個工具,配上 QQ、163、Gmail 等八個預設,以及 Web 設置頁和發信審批。對已經在 DSH 裏幹活、又希望 agent 能碰郵箱的人,安裝成本和能力邊界都比較清楚:授權碼、審批開關、OAuth 缺口,文檔裏都寫了。
目錄頁:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-email/
GitHub:https://github.com/STARDUSTLC666/dsh-email