Skip to content

MailWeave 发版记录 ​

AI 原生的桌面邮件客户端:把邮件、AI 智能体与 IM 通知织成一张网

当前版本0.4.0
最近更新2026-10-13
Git 标签v0.4.0(另有 v0.3.0、v0.2.0、v0.1.0)
状态可用(0.4.0,本站不分发安装包)
平台Windows 已验证;macOS / Linux 未出包;Android / iOS / 鸿蒙未启用

0.4.0 — 2026-10-13 ​

正文按 HTML 排版、附件能预览、OAuth2 两条流程补齐

三处「有功能却用不起来」的问题,影响的都是每天读邮件的实际体验:

  • 正文被压成纯文本:阅读区取的是抓取阶段已压平的 displayBody,表格 / 加粗 / 链接 / 列表全丢。改为按邮件真实内容展示——有 HTML 就渲染 HTML(新增 commonMain 自研解析 + 渲染组件 HtmlMailView,不引新依赖、不用 jsoup),只有纯文本才显示纯文本,两者都有时可一键切换。顺带治乱码:两个引擎共用一条字符集解码链,纠正「声明 us-ascii / latin1 / gb2312 却塞 GBK 或 UTF-8」这类国内常见的错标
  • 附件只能看名字:附件字节根本没保存,点了也没反应。新增 MailGateway.fetchAttachment(按需下载单个附件;Jakarta / 自研栈 / POP3 都实现,同步阶段仍只存元数据),平台层落盘到临时目录后用系统默认程序打开,界面加左键 / 右键菜单预览
  • OAuth2 只有半个:Google 的设备码端点不接受 Gmail 的 IMAP scope,原实现永远拿不到令牌;另外列表「测试」拿空密码连、POP3 账号被 IMAP 服务器校验挡住存不下来、Microsoft 预设不会自动切 OAuth2。现在 Microsoft 走设备码、Google 走授权码 + PKCE + 本机回环(state 恒定时间校验),客户端配置按服务商存进凭据库、令牌过期自动刷新,设置页可切服务商并分别填客户端 ID / 密钥 / 租户
  • 版本号唯一来源升到 0.4.0,顺带把三处手写的旧版本字符串改成读 MailWeaveInfo.VERSION
  • 验证::shared:jvmTest + :composeApp:jvmTest 共 168 用例全绿(3 个需要真实账号环境的 LiveMailTest 按设计跳过);桌面冒烟 MAILWEAVE_SMOKE_OK;开发版与 ProGuard 发布版打包产物都跑了冒烟
  • 未验证:本机没有可用的 Microsoft / Google 客户端凭据,且境内 oauth2.googleapis.com 不可达,两条 OAuth 流程只做到 MockEngine + 真实回环端口级别的验证

0.3.0 — 2026-10-08 ​

桌面端实时收信 + 易用性补齐,默认引擎切到自研栈

  • IMAP IDLE 常驻监听:新邮件进来即时刷新(Jakarta 引擎与自研栈两条路都支持),另有定时同步兜底
  • 新邮件走系统通知;状态栏实时指示 + 显示上次收信时间
  • 键盘操作补齐:J / K 上下移动(自动滚动到可见)、Enter 打开、U 切换已读、S 切换星标; Ctrl+N 写信、Ctrl+R / F5 同步、Ctrl+F / Ctrl+K 聚焦搜索、Ctrl+1..4 切页、Esc 关闭弹窗
  • 邮件协议引擎默认切到自研 KMP 原生栈(可在设置 → 同步与提醒 → 邮件协议引擎里切回 Jakarta,不用重启)

0.2.0 — 2026-10-08 ​

自研 KMP 原生邮件协议栈第一版(路线 A)

  • IMAP / SMTP / MIME / modified UTF-7 全部在 commonMain 自己实现(Ktor socket + TLS), 为 Android / iOS / 鸿蒙复用同一套协议层铺路
  • IMAP 支持 CAPABILITY / LIST / EXAMINE / SELECT / UID FETCH / STORE / SEARCH / LOGIN / AUTHENTICATE XOAUTH2 / ID(网易系必需)/ STARTTLS / IDLE;SMTP 支持 EHLO-HELO 回退、能力解析、 STARTTLS、XOAUTH2 / PLAIN / LOGIN 认证、dot-stuffing
  • MIME 侧做了 Base64 / quoted-printable / RFC 2047 编码字 / RFC 2231 参数、multipart 递归(带深度上限)、 附件与预览、地址头解析与头部折叠展开
  • 与既有的 Jakarta Mail 引擎可热切换(SwitchableMailGateway),两个引擎共用账户、缓存、AI 分诊与路由规则
  • 真机验证:用真实 163 账号跑通 IMAP over TLS、SMTP 发信、ID 命令与中文文件夹名
  • 顺带把安装包瘦下来:Compose 打包优化后 msi 由开发版 95 MB 降到发布版 79 MB

0.1.0 — 2026-10-08 ​

首个可运行版本(桌面端)

  • 多账号邮件收发:IMAP / POP3 / SMTP,内置网易、腾讯、华为云、阿里云、飞书、Gmail、Outlook 等预设,接入 OAuth2
  • SQLDelight 本地缓存与「数据目录迁移」
  • AI 分诊(分类 / 摘要 / 待办 / 情感 / 回复建议)与 AI 对话(6 个工具:搜索、发信、起草回复、贴标签、转发到 IM、建日程)
  • IM 通知桥接与路由规则:飞书、钉钉、企微、自定义 Webhook,同一封邮件同一渠道只推一次
  • 本地提醒:从邮件里抽取会议与截止时间,到点弹通知,可导出 .ics
  • 桌面 UI 重做与全链路端到端测试

下载 ​

本站不再分发 MailWeave 的安装包:原先挂在这里的 0.3.0 MSI(79 MB)已从服务器撤下,也不为 0.4.0 出公开包。

需要 Windows 安装包的话,按仓库 README「打包与发布」一节自行构建(Compose Desktop 的 packageDistributionForCurrentOS,本机需要 JDK 21 与 WiX),产物是 MailWeave-<版本>.msi / .exe;体积偏大是因为 Compose Desktop 会把运行时一起打进去(同一份代码将来出 macOS / Linux 包 也是这个量级)。源码或其它需求可以邮件联系。