前言¶
在 Harness 里让 Agent 帮忙查邮件、发通知,常见做法是再挂一套 IMAP skill,或把网页邮箱交给模型「看图操作」。腾讯 Agent Mail(智能体邮箱) 本身通过本机 agently-cli 完成授权与收发,和 Harness 对话侧若各走一套接口,面板与 mail_* 工具还容易语义不一致。
dsh-tc-mail(维护者 HughPython)把智能体邮箱做成 Harness 原生侧栏面板,并与同一套 Host 服务层暴露 Agent 工具。下面介绍它做什么、怎么装、日常怎么用,以及和对话集成的注意点。
这是什么¶
- 名称:
dsh-tc-mail(npm 包名同目录名) - 分类:客户端插件(
package.json中dsh.client.platform为web) - 版本:
0.1.0(以仓库package.json为准) - 许可证:MIT
- 定位:DeepSeek Harness 下的 Agent Mail 客户端——左侧栏「我的邮箱」、主面板收/发/读/搜/删,外观设置,以及
mail_*系列 Agent 工具;邮件能力经本机agently-cli子进程完成,插件本体无 npm 运行时依赖、不直连第三方 HTTP 邮件 API。
生态上,DSH 奉行「一切皆插件」;SkillHub 目录页 是社区收录站点,与 DeepSeek / 幻方无官方从属关系。安装前请自行查看 GitHub 源码 与许可证——插件以当前 Harness 进程权限运行。
核心功能¶
侧栏与邮件操作¶
- 左侧栏入口:在官方
sidebar.panellist槽位挂「我的邮箱」,点击进入main主面板。 - 三个视图:收信、发信;列表支持未读圆点、附件标识、相对时间。README 特性列表曾写「垃圾箱」,但同文说明该邮箱无回收站、删除为永久删除,界面以收信/发信记录为主——以 README「使用」与「删除」说明为准。
- 读信:HTML 按原排版渲染(保留邮件内
<style>,经消毒与沙箱 iframe);纯文本保留换行;附件下载到~/.dsh/tc-mail/downloads/。 - 写信 / 回复 / 转发:支持抄送、密送、附件(单文件 ≤ 20 MB,账号上限 50 个)、全部回复、转发保留原件附件。
- 搜索:关键词搜索,作用域跟随当前文件夹,输入即搜(320 ms 去抖)。
- 删除:勾选后确认即永久删除(无回收站,与网页端一致)。
外观与行为设置¶
设置弹框可调:字体族与字号(11–22px)、字体颜色、背景色、透明度(0–100%)、圆角、默认文件夹、自动刷新间隔、默认是否加载邮件图片,以及 agently-cli 路径与工作空间。保存写入 ~/.dsh/tc-mail/settings.json;透明度低于 100% 时可配合 backdrop-filter 透出宿主壁纸。
Agent 工具¶
与面板共用 Host 层 mail-service,避免两套语义:
| 工具 | 作用 |
|---|---|
mail_list |
按文件夹列出邮件摘要 |
mail_read |
读取正文与附件列表 |
mail_search |
关键词搜索 |
mail_send |
发送新邮件(纯文本) |
mail_health |
查询当前授权发件地址与今日发信额度 |
删除不向 Agent 开放:永久删除仅能在面板内手动执行。
启用插件后会注册上述工具及系统提示,声明 Agent Mail 为对话内优先收发通道;除非用户明确要求改用其他邮箱并给出鉴权,否则默认走 mail_send 等工具,无需额外 skill。
安装与启用¶
README 强调顺序:先装插件并重启 Harness,再在面板里装 CLI 并授权。
第 1 步:安装插件¶
# 从 npm(发布后)
dsh plugin --profile <profile> add dsh-tc-mail
# 直接从 GitHub
dsh plugin --profile <profile> add github:HughPython/dsh-tc-mail
# 本地开发目录(软链,改代码后重新构建并重启)
dsh plugin --profile <profile> add link:/absolute/path/to/dsh-tc-mail
也可在 Harness「插件」页从本地目录安装。安装后重启 Harness,左侧栏应出现「我的邮箱」。
环境要求(package.json):Node >=20,DSH >=0.2.1-rc.2;README 兼容性写明 Harness 0.2.2-rc.1 实测通过(Windows / Edge 内核)。
第 2 步:安装 agently-cli 并授权¶
首次打开面板且本机无 agently-cli 时,面板引导:
- 点「一键安装 agently-cli」(使用本机 npm 全局目录,面板内回显日志);
- 安装后点「去授权」,面板显示设备码 OAuth 链接(形如
https://agent.qq.com/page/oauth?oauth_type=device&user_code=uc_…); - 浏览器登录腾讯账号并确认;面板约在 2 秒内检测授权完成。
授权过程可为新用户创建 xxx@agent.qq.com 地址,与个人邮箱隔离,无需事先在官网单独注册。
若一键安装失败,可复制执行:
npm install -g @tencent-qqmail/agently-cli
agently-cli auth login
CLI 文档:https://agent.qq.com/doc/cli-setup.md。
CLI 路径与工作空间¶
插件按设置 → PATH → 常见全局前缀 → scripts/run.js 的顺序解析 agently-cli。工作空间留空时 CLI 使用默认 default;填写 AGENTLY_WORKSPACE 可实现多账号隔离,切换后需重新授权。凭据由 CLI 存入系统安全存储,插件不读取 OAuth token。
主要本地路径:
| 内容 | 位置 |
|---|---|
| 插件设置 | ~/.dsh/tc-mail/settings.json |
| 下载 / 上传 / 临时操作 | ~/.dsh/tc-mail/{downloads,uploads,ops} |
CLI 配置(含 app_id) |
~/.agently-cli/config.json |
面板「设置 → 高级」底部可查看当前解析路径、探测来源与工作空间;终端可用 agently-cli +me 查看当前账号。
典型用法¶
面板内¶
| 操作 | 位置 |
|---|---|
| 切换收信 / 发信 | 面板内页签 |
| 读信、显示图片 | 点击列表行;正文区可显式放行外部图片 |
| 回复 / 转发 | 读信区或列表快捷入口 |
| 写信 | 右上角「发邮件」 |
| 搜索 | 工具栏右侧输入框 |
| 设置 | 右上角齿轮 |
| 管理邮箱 | 浏览器打开 https://agent.qq.com |
对话里让 Agent 发信¶
无需再装邮件 skill。例如:
用我的智能体邮箱给 alice@example.com 发一封邮件,主题「周报」,正文……
模型会调用 mail_send;不确定发件地址时先调 mail_health。验证可读性:在对话中说「列出我最近 3 封邮件」,或「用我的智能体邮箱给自己发一封测试邮件」。
安全与适用场景¶
README 单列「安全与隐私」,要点包括:经 spawn(shell: false)调本机 CLI;HTTP 仅本机 loopback、/api/dsh-tc-mail 前缀;HTML 正文白名单消毒 + 无脚本沙箱 iframe;外部图片默认拦截;无遥测。
适合:已在用或打算用腾讯 Agent Mail、希望在 Harness 同一界面收发行程通知/自动 Agent 邮件的开发者。
注意:删除不可恢复;Agent 不能代删;HTML 邮件仍属不可信内容,依赖插件消毒策略。多邮件插件并存时,最终路由由模型按工具描述与系统提示判断,本插件提示自身为优先通道。
结尾¶
dsh-tc-mail 把 agently-cli 封进 Harness 侧栏与 Agent 工具链,减少「终端授权一次、对话里再配一套邮箱」的割裂。要查看截图、开发命令与 FAQ,见仓库 README。