爱意满满的作品展示区。
JollyJ

嫌弃网页 AI 只有假大空润色:我写了个长在钉钉里的邮件工作台,带企业画像拆意图、左写信右 AI 双向同步、一键排期开会

  •  
  •   JollyJ · 3h 17m ago · 252 views

    各位 V 佬,我是个独立开发者,平时要处理不少海外业务和跨国沟通邮件。

    前阵子深度用了一圈市面上的邮箱 AI ,无论是网易邮箱 AI 、阿里邮箱 AI 这种原生工具,还是把邮件塞进豆包、ChatGPT 的各种插件,实际用下来总觉得很难受。所以前段时间花业余时间,按照自己每天干活的习惯,自己手搓了一个直接长在工作软件里的邮件工作台 —— 知了 OnIt。

    代码已经全部开源,今天把思路和实现分享给大家,欢迎老哥们轻喷和交流。


    为什么市面上的邮箱 AI 我用不下去?

    其实痛点总结下来就三点:

    1. 原生邮箱 AI 本质只是个“文本润色器”
      像大厂邮箱自带的 AI 写信,它压根不知道你是谁,不知道你的公司背景,更不知道你在当下这个岗位上有什么谈判底线。生成出来的信件全是万能假大空套话,根本不敢直接发给外部客户。
    2. 独立聊天框 AI (豆包 / ChatGPT 插件)体验极其割裂
      处理封信还得专门跳到一个外部网页聊天框。最反人类的是它们没有一个始终存在的邮件正文编辑器 —— 每次你让它“语气委婉点”或者“加上质保条款”,它就哗啦啦重新吐出一整篇全新的长文,你只能一段段人肉挑选复制,非常折腾。
    3. 邮件从来不只是“回几句话”那么简单
      实际工作中,客户邮件里敲定了下周开会,你还得退出邮箱,打开钉钉去建视频会议房间,去日历查同事空闲,再去 OA 抢会议室,最后回邮件发链接。一个简单的排期,要在 5 个软件之间人肉横跳搬运数据。

    我是怎么解决的?

    知了 OnIt 的核心逻辑其实很简单:工作的事情,就该交给工作的软件来干。

    1. 让 AI 真正知道“我是谁”
      系统内置了解耦的企业背景与员工岗位画像 Prompt 。你可以自由定义你的业务模式、岗位底线和公文格式。AI 是带着你的真实身份去思考和落款,写出来的邮件没有那种生搬硬套的塑料感。
    2. 新信入库自动拆解三件事
      邮件同步后,后台结合你的画像自动提取:
      • 这封信具体讲了什么;
      • 字面背后的真实商业意图是什么;
      • 建议采取什么策略应对。
    3. 正文编辑器始终在眼前,实时双向同步
      右边是 AI 伴随思考与草拟,左边是完整的邮件高级编辑器。你可以随时在左边手动改两句,也可以在右边用大白话口语让 AI 调细节(“推迟到周五”、“态度稍微硬气点”),两边实时双向同步,告别来回复制。
    4. 原地搞定视频会议与排期(首发钉钉)
      信里提到了开会,点一下按钮,直调钉钉官方接口建好正式视频会议、拉同事进日程,外商还能自动收到 RFC 5545 标准的 .ics 日历附件,甚至顺便把公司的物理会议室也给占了。
    5. 原位 HTML 解耦翻译
      读长外文信件时,解耦翻译完整保留原信的表格、字体和排版层级,不会把客户精心排版的邮件弄成白板纯文本,且自动根据视口做等比缩放,彻底消除恶心的横向滚动条。

    界面实拍

    1. 全景工作台(读信抓意图、AI 伴随起草与钉钉一键排期):

    知了 OnIt 全景工作台

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

    AI 伴随起草与高级编辑器双向同步

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

    双语 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
    Supplement 1  ·  1h 0m ago
    顺便多吐槽一句,这里面的会议预约功能,是我自己直接逆向了泛微 OA 的端口顺手干出来的,大家如果改动去用,最好是根据 OA 或者钉钉官方接口去做
    现在公司老板和业务高管要警惕那种假 IT 。屁大点事全甩给外包,自己天天动动嘴皮子一行代码不写;业务来个需求,他们非得逼着业务把所有条条框框列得严丝合缝才肯动,中间连个需求理解和翻译都懒得做,折腾到最后做出来的东西跟线上填 Excel 表没有任何区别,信息化水平其实低得可怜。更搞笑的是满身官僚病,只要没总裁签字的需求一律装死不接,把整个技术口搞成黑箱。这种只会吃预算、推责任的 IT ,对企业经营完全就是拖累。
    charsunny
        1
    charsunny  
       2h 32m ago
    市面上那些邮箱 AI 我用着也老是差点意思。长在自己每天用的软件里,这个思路对。
    JollyJ
        2
    JollyJ  
    OP
       1h 10m ago
    确实,很多的邮箱 AI 更像是程序员的自嗨,离真实经营场景隔很远
    做经营管理这么多年,最深的感受就是 IT 不懂业务,业务不懂 IT ,以前很多公司的方案就是这么被我否掉的,工具必须长在自己每天跑业务的土壤里才有生命力。所以我们现在很明确,大系统买成熟底座,解决经营根因的小系统自己动手打磨
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5105 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 62ms · UTC 03:59 · PVG 11:59 · LAX 20:59 · JFK 23:59
    ♥ Do have faith in what you're doing.