各位 V 佬,我是个独立开发者,平时要处理不少海外业务和跨国沟通邮件。
前阵子深度用了一圈市面上的邮箱 AI ,无论是网易邮箱 AI 、阿里邮箱 AI 这种原生工具,还是把邮件塞进豆包、ChatGPT 的各种插件,实际用下来总觉得很难受。所以前段时间花业余时间,按照自己每天干活的习惯,自己手搓了一个直接长在工作软件里的邮件工作台 —— 知了 OnIt。
代码已经全部开源,今天把思路和实现分享给大家,欢迎老哥们轻喷和交流。
为什么市面上的邮箱 AI 我用不下去?
其实痛点总结下来就三点:
- 原生邮箱 AI 本质只是个“文本润色器”
像大厂邮箱自带的 AI 写信,它压根不知道你是谁,不知道你的公司背景,更不知道你在当下这个岗位上有什么谈判底线。生成出来的信件全是万能假大空套话,根本不敢直接发给外部客户。 - 独立聊天框 AI (豆包 / ChatGPT 插件)体验极其割裂
处理封信还得专门跳到一个外部网页聊天框。最反人类的是它们没有一个始终存在的邮件正文编辑器 —— 每次你让它“语气委婉点”或者“加上质保条款”,它就哗啦啦重新吐出一整篇全新的长文,你只能一段段人肉挑选复制,非常折腾。 - 邮件从来不只是“回几句话”那么简单
实际工作中,客户邮件里敲定了下周开会,你还得退出邮箱,打开钉钉去建视频会议房间,去日历查同事空闲,再去 OA 抢会议室,最后回邮件发链接。一个简单的排期,要在 5 个软件之间人肉横跳搬运数据。
我是怎么解决的?
知了 OnIt 的核心逻辑其实很简单:工作的事情,就该交给工作的软件来干。
- 让 AI 真正知道“我是谁”
系统内置了解耦的企业背景与员工岗位画像 Prompt 。你可以自由定义你的业务模式、岗位底线和公文格式。AI 是带着你的真实身份去思考和落款,写出来的邮件没有那种生搬硬套的塑料感。 -
新信入库自动拆解三件事
邮件同步后,后台结合你的画像自动提取:- 这封信具体讲了什么;
- 字面背后的真实商业意图是什么;
- 建议采取什么策略应对。
- 正文编辑器始终在眼前,实时双向同步
右边是 AI 伴随思考与草拟,左边是完整的邮件高级编辑器。你可以随时在左边手动改两句,也可以在右边用大白话口语让 AI 调细节(“推迟到周五”、“态度稍微硬气点”),两边实时双向同步,告别来回复制。 - 原地搞定视频会议与排期(首发钉钉)
信里提到了开会,点一下按钮,直调钉钉官方接口建好正式视频会议、拉同事进日程,外商还能自动收到 RFC 5545 标准的.ics日历附件,甚至顺便把公司的物理会议室也给占了。 - 原位 HTML 解耦翻译
读长外文信件时,解耦翻译完整保留原信的表格、字体和排版层级,不会把客户精心排版的邮件弄成白板纯文本,且自动根据视口做等比缩放,彻底消除恶心的横向滚动条。
界面实拍
1. 全景工作台(读信抓意图、AI 伴随起草与钉钉一键排期):

2. 左侧高级编辑器与右侧 AI 伴随实时双向同步:

3. 双语 1:1 镜像公文与多轮微调定稿:

技术栈与实现
整体架构追求轻量、纯粹和 100% 数据本地可控:
- 后端:Python 3.10 + FastAPI + SQLite (开启 WAL 模式)
- 前端:React 19 + TypeScript + Tailwind CSS
- 通信与流式:SSE ( Server-Sent Events )驱动 AI 实时思考与草拟
- 数据安全:全量数据只保存在本地单文件 SQLite 库中,不依赖任何第三方云端托管,无追踪,无遥测。
5 秒开箱试玩(纯内存 Mock 模式)
平时独立开发精力有限,我就不单独掏服务器费用搭在线演示站了。
我自己平时体验很多开源项目时,最烦的就是一上来要配一堆环境、申请开发者凭证、还要绑 Key ,折腾半小时报错劝退。所以我特意花时间搓了一个纯内存 Mock 演示模式:
不需要配钉钉凭证、不需要绑定真实邮箱、不需要充值 API Key,本地只要有标准 Node 和 Python 环境,克隆下来跑一行命令直接把玩:
# 克隆仓库
git clone https://github.com/Jolly-J/OnIt-AI-Email.git
cd OnIt-AI-Email
# 装依赖(几分钟搞定)
npm ci && npm --prefix frontend ci
python3 -m venv backend/.venv
backend/.venv/bin/python3 -m pip install -r backend/requirements.txt
# 一键启动纯内存演示
npm run dev:mock