dsh-email-board: DeepSeek Harness Email Board Plugin

在 DeepSeek Harness(DSH)中直接读取邮件会消耗 token 并在会话中留下痕迹。dsh-email-board 通过直接调用 dsh-email 的 IMAP 连接池来展示未读邮件,避免了对大模型的调用。

是什么

这是 dsh-email-board 插件,由 Feizhaiqianqian 维护,采用 MIT 许可证。它的核心作用是将 dsh-email 各账号的未读邮件按账号汇总成卡片列表,并展示在 Web 界面右侧栏的「邮件看板」tab 里。

核心功能

  • 只读模式:插件不会标记邮件已读,不会删除邮件,也不会发起发信请求。
  • 不消耗 Token:数据直接取自 dsh-email 的 email_list 实现(EmailPool.list(..., unreadOnly: true)),刷新不经过模型,不留痕迹。
  • 手动刷新:页面加载后默认不轮询,需手动点击刷新按钮。
  • 缓存机制:宿主侧有 cacheMs 短路缓存,防止频繁点击 IMAP 导致连接被打爆。

安装

在安装前,请确认 dsh-email 已启用并配置好账号,看板插件会读取这些设置。

  1. 克隆本仓库到本地。
  2. 打开 DSH 的「插件」页面。
  3. 在安装框中粘贴该目录的绝对路径。
  4. 安装器会执行 pnpm add <路径> 并将插件追加到 profile 的 dsh.profile.bundles。
  5. 重启 DSH。

配置

在 profile 的 cordis.patch.yml 中,通过 id: email-board 覆盖插件的默认配置项:

- id: email-board
  name: dsh-email-board
  config:
    accounts: []          # 空数组表示读取 dsh-email 配置的全部账号
    folder: ""            # 空字符串表示读取各账号的 inboxFolder
    perAccountLimit: 20   # 每个账号最多展示的未读信封数量(1-100)
    cacheMs: 20000        # 宿主侧结果缓存时间(毫秒)
    timeoutMs: 25000      # 单账号 IMAP 超时时间(毫秒)

使用方法

  1. 打开右侧栏(点击会话 header 右上角的展开按钮或使用快捷键)。
  2. 在开始页点击「邮件看板」胶囊。
  3. 进入 tab 后,列表展示各账号的未读邮件卡片(包含发件人、主题、时间)。
  4. 点击右上角「刷新」按钮重新读取数据。

注意事项

  • 只统计指定文件夹:目前只统计各账号的 inboxFolder(或 folder 指定的那一个),不遍历全部文件夹。
  • 数量限制:当单账号未读数超过 perAccountLimit 时,只显示最新若干封,并标注限制信息。
  • 无定时轮询:插件当前没有定时自动刷新功能。
  • 开发限制:file: 安装方式是快照,源码修改后需重启 DSH 才能生效;开发时建议使用 link: 方式。
  • 隐私安全:未读邮件的标题和发件人是隐私数据,只读路由带有同源判定(Sec-Fetch-Site 检查),防止任意网页恶意读取。

总结

dsh-email-board 解决了 DSH 用户在不消耗 token 的情况下快速查看多账号未读邮件的需求。它依赖 dsh-email 的现有实现,通过 Web 界面提供轻量级的看板视图,适合需要在开发过程中快速确认邮件状态的场景。

GitHub 仓库 | 社区目录

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

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

Xiaoye