主题
MailWeave
AI 原生的桌面邮件客户端:把邮件、AI 智能体与 IM 通知织成一张网
项目是做什么的
MailWeave 是一个本地桌面邮件客户端,想解决的是「邮件、AI 助手、IM 通知各自为政」这件事:收信、让 AI 分诊与起草、按规则把重要的那几封推到飞书 / 钉钉 / 企微,都在同一个窗口里完成。
0.2.0 起它换了骨架:IMAP / SMTP / MIME 协议栈用 Kotlin Multiplatform 自己实现(Ktor socket + TLS),这样 Android / iOS / 鸿蒙将来可以复用同一套协议层;设置里还能与原来的 Jakarta Mail 引擎热切换,两个引擎共用账户、缓存、AI 分诊与路由规则。
0.3.0 补上了桌面端最要紧的一件事——实时收信:IMAP IDLE 常驻监听,新邮件进来立刻通知,另有定时同步兜底;键盘快捷键也一并补齐,日常可以完全不碰鼠标。
0.4.0 修的是三处「有功能却用不起来」:正文不再被压成纯文本而是按 HTML 排版、附件能按需下载并用系统程序打开、OAuth2 的 Microsoft 设备码与 Google 授权码 + PKCE 两条流程补齐。
数据默认留在本机:邮件缓存、AI 分诊结果、路由日志都进本地 SQLite;不想用云端模型可以把 AI 指向本机 Ollama。
核心能力
- 正文按邮件真实内容排版:有 HTML 就渲染表格 / 加粗 / 链接 / 列表,纯文本才显示纯文本,两者都有时可一键切换,并纠正「声明 us-ascii / gb2312 却塞 GBK 或 UTF-8」这类国内常见的字符集错标(0.4.0)
- 附件按需下载(同步阶段仍只存元数据)→ 落盘后用系统默认程序打开,左键 / 右键都能预览(0.4.0)
- OAuth2 两条流程补齐:Microsoft 走设备码、Google 走授权码 + PKCE + 本机回环,客户端配置按服务商存进凭据库、令牌过期自动刷新(0.4.0)
- 多账号 IMAP / POP3 / SMTP 收发,内置网易、腾讯、华为云、阿里云、飞书、Gmail、Outlook 等预设,支持 OAuth2(XOAUTH2 与设备码流程)
- 0.3.0 起桌面端实时收信:IMAP IDLE 常驻监听 + 新邮件系统通知 + 定时同步兜底
- 自研 KMP 原生邮件协议栈(IMAP / SMTP / MIME / modified UTF-7 全在 commonMain 自己实现),设置里能与 Jakarta Mail 引擎热切换、不用重启
- AI 分诊:分类(紧急 / 待处理 / 普通 / 垃圾)+ 摘要 + 待办 + 情感 + 回复建议,结果落库展示
- AI 对话带 6 个工具:searchEmails / sendEmail / draftReply / addLabel / forwardToIM / createCalendarEvent
- IM 通知桥接:飞书(文本 / 卡片 / 加签)、钉钉(Markdown / 加签)、企微、自定义 Webhook,支持一键测试发送
- 路由规则引擎:按 AI 分类 / VIP / 会议邀请 / 关键字匹配,同一封邮件同一渠道只推一次,失败原因落库
- 本地模型:Ollama 直连(无云端 Key 也能跑全流程);AI 抽取会议与截止时间 → 本地提醒,可导出 .ics
- 键盘优先:Ctrl+N 写信、Ctrl+R / F5 同步、Ctrl+F 聚焦搜索、Ctrl+1..4 切页;列表里 J/K 移动、Enter 打开、U 已读、S 星标
界面截图
点击任意截图可放大查看;截图都是本机真实运行程序后截的。








关于截图
截图分两类:多数是真实窗口截图(未配置账号状态下的界面,字面意思的「空状态」如实呈现);邮件列表那张是应用自身渲染测试的产出(合成样例数据),因为本机没有配真实邮箱,也不拿真实邮件做素材。采集时临时移开了账号凭据文件、没有登录任何账号、没有收发真实邮件,采集后已还原。
获取方式
暂未提供公开二进制,构建步骤见仓库 README;也可以直接邮件问我。
发版记录
- v0.4.0(2026-10-13)—— 详见发版信息。