Ente Ensu 更新日志解读:从 v0.1.3 到 v0.1.19 的本地 LLM 应用演进
【免费下载链接】ente💚 End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente
Ente Ensu 是 Ente 旗下的本地优先 AI 聊天应用:语言模型直接在设备上运行,对话无需云端推理,无需账号、无追踪、无用量限制。本文以官方 更新日志 为主线,逐版本解读从 2026 年 3 月首次发布(v0.1.3)到 2026 年 8 月(v0.1.19)的功能演进,并结合作品仓库中 Rust 推理核心 与 官方文档 补充底层原理,帮助你理解每个版本背后"改了什么、为什么改、在源码中如何落地"。
Ensu 是什么:一次快速背景
Ensu 颠覆了主流 AI 聊天应用"瘦客户端 + 云端模型"的形态:模型被压缩到足以放进手机和桌面设备,聊天界面与模型运行在同一台设备上,推理链路中不存在任何服务器。How it works 明确指出,对话过程中的唯一网络流量来自操作系统自身的后台行为,不存在任何 Ente 端点参与。
这种架构由共享的Rust core承载,负责模型加载、提示词处理与 token 生成:
- iOS / Android:Rust core 以原生库形式打包,上层是 Swift / Kotlin UI;
- macOS / Windows / Linux:以 Tauri 应用形式分发——Rust core 负责推理,内嵌 Ensu Web UI 作为界面;
- Web(实验性):模型编译为 WebAssembly,模型文件缓存在浏览器 Origin Private File System 中。
底层推理引擎基于 llama.cpp(原生平台)及其 WebAssembly 构建(浏览器端),Ensu 在此基础上封装,使聊天 UI、模型下载与设置在各平台保持一致。全部源码位于本仓库,桌面端入口见 rust/apps/ensu。
v0.1.3(2026 年 3 月):首次发布
更新日志的起点是 Ensu 的首次发布,定义了三项核心承诺:
Initial release of Ensu, Ente's local LLM app: a private, on-device AI that works offline. Cross-platform, open source, and powered by a shared Rust core.
- 私有:推理完全在本机完成,无账号、无遥测、无后台上传;
- 离线可用:模型下载完成后,飞行模式下聊天依旧正常;
- 跨平台 + 开源:iOS、Android、macOS、Windows、Linux 与实验性 Web 版共享同一 Rust 推理核心。
首次启动时 Ensu 会根据设备自动选择默认模型并从 Hugging Face 下载,模型为单文件GGUF格式(多模态模型附带独立的mmproj视觉投影文件):
- 桌面端(≥16 GB 内存):Gemma 4 E4B(Q4_K_M),约 40 亿参数的 DeepMind 多模态模型,约 6 GB;
- 其余平台(Android、iOS、低内存桌面、Web):LFM 2.5 VL 1.6B(Q4_0),约 16 亿参数的 Liquid AI 多模态模型,约 700 MB。
v0.1.5(2026 年 3 月):桌面构建优化
首个迭代聚焦桌面端体验:
Improvements to desktop builds.
结合 rust/apps/ensu/README.md 可以看到桌面端的技术底座:Node + Rust + CMake 依赖,npm run dev启动开发模式(Web 应用运行在 3010 端口并由 Tauri 拉起,Web 代码变更热重载),npm run build产出静态构建。这一版本正是围绕该构建链路进行打磨。
v0.1.12(2026 年 3 月):进阶模型设置与体验优化
进阶模型设置:预设模型或自带模型
Advanced model settings for power users: choose from preset models or bring your own.
普通用户使用"零配置"体验(无需登录、无需选择模型),而高级用户可进入设置选择预设模型,或指向自己的模型文件。这一能力对应桌面端命令层 llm.rs 与 config.rs 的配置管理——模型选择、系统提示词等偏好均持久化在本地。
可自定义系统提示词(全平台)
Customizable system prompt on all platforms.
系统提示词用于塑造助手行为,可在所有平台编辑,属于本地存储的设置项之一。
智能默认模型选择(桌面)
Smart default model selection based on your device's available memory (desktop).
与 How it works 中"按设备内存挑选默认模型"的策略一致:桌面端根据系统可用内存决定默认模型(如 ≥16 GB 选 Gemma 4 E4B,否则选更小的 LFM 2.5 VL)。后续 v0.1.16 又进一步"improved desktop model selection by using better system memory detection",即对这一内存检测逻辑的持续修正。
原生数学渲染
Native inline math rendering on chat messages.
助手回复以 Markdown 渲染,其中行内与块级公式通过 KaTeX 排版输出(例如$E = mc^2$),模型产出的 LaTeX 直接呈现为排印数学公式,而不是原始文本。
断点续传与智能重试
Model downloads now resume automatically after app restarts or interruptions. Smarter retry behavior for interrupted assistant responses.
- 模型下载断点续传:原生下载基于 HTTP range 请求并自动重试,下载中断后下次启动继续;Web 版将模型缓存进 OPFS 供跨访问复用(详见 features)。
- 回复智能重试:助手回复被中断后重试行为更聪明,配合 UI 上的重试按钮与分支机制,用户可在不同生成结果间切换。
移动端聊天体验
Smoother mobile chat experience with better keyboard and scroll handling.
优化移动端键盘弹出/收起与滚动定位,减少输入时的跳动与错位。
v0.1.14(2026 年 3 月):Apple Silicon DMG 与构建收敛
Added DMGs for Apple Silicon. Pruned Windows builds.
为 Apple Silicon 提供原生 DMG 安装包,同时精简 Windows 构建产物。这是对 rust/apps/ensu 桌面发布矩阵的一次收窄,聚焦维护质量。
v0.1.15(2026 年 4 月):桌面自动更新
Added auto updates for Linux, macOS, and Windows. Fixed crash on exit on macOS.
Linux、macOS、Windows 桌面端引入自动更新,安装后无需再手动访问 releases 页面;同时修复 macOS 退出时的崩溃。桌面端也支持在Settings → Check for updates手动检查更新(见 features)。
v0.1.16(2026 年 5 月):多模态与下载管道的重大升级
这是功能密度最高的版本之一,也印证了 changes/ 目录的变更追踪流程——每个面向用户的改动对应一个任意命名的.md文件,按字母序拼接生成发布说明。
桌面端新增 Gemma 4
Added Gemma 4 for the desktop app.
桌面端可用模型家族新增 Gemma 4,与 v0.1.12 的"预设/自带模型"机制协同。
本地语音转录(iOS / Android)
Added local voice transcription for chat input on iOS and Android.
移动端语音输入首次使用时从models.ente.com下载 Parakeet 转录模型与 Silero VAD 模型(若未缓存),之后完全离线工作,语音从不离开设备。桌面与 Web 暂不支持语音输入。
图片附件体验全面升级
Improved image attachments with compression, thumbnails, full-screen previews, and cleaner composer previews.
移动端:附件图标 → 选择多图或拍照 → 文本域上方预览(点击移除);桌面端:附件图标或直接拖拽图片进输入框,点击缩略图可全屏预览(对应 changes/attachment-progress.md 中"添加图片附加时的进度指示器")。图片会在设备本地缩放到模型输入尺寸后再交给多模态投影器处理,数据不出设备。
原生端图片提示性能
Improved image prompt performance on native apps by resizing to model limits and caching multimodal context.
将图片缩放到模型限制尺寸、缓存多模态上下文,减少重复计算,提升含图对话的响应速度。
应用内更新日志
Added in-app changelogs to desktop, Android, and iOS.
桌面、Android、iOS 内置 "What's new" 对话框,展示各平台最新更新条目——本文解读的 changelog 数据源正是该功能的后端。
触觉反馈平衡
Balanced haptics on mobile to once at the start of response generation.
移动端触觉反馈从持续震动改为仅在响应生成开始时触发一次,避免打字与流式输出过程中的过度震动。
模型下载管道重写
Improved model downloads with shared native downloading, cache reuse, parallel/range downloads, retries, and better progress reporting.
原生平台引入共享下载组件:缓存复用、并行/分段(range)下载、自动重试与更清晰的进度上报,替代各平台各自实现。这是 v0.1.12 断点续传能力的工程化落地。
内存检测与 Android 修复
Improved desktop model selection by using better system memory detection. Fixed Android back button handling when the sidebar is open. Fixed the desktop app version shown in settings.
- 桌面端默认模型选择改用更准确的内存检测;
- Android 侧边栏打开时返回键行为修复(避免误退出应用);
- 修复设置页显示的桌面应用版本号(v0.1.17 又再次修复了同一问题,说明该处经历了两轮修正)。
v0.1.17(2026 年 6 月):桌面 Tauri v2 迁移与 Android 16 KB 页兼容
Fixed the desktop app version shown in settings. Updated JNA library to satisfy Android's 16 KB page size requirement. Added support for dragging and dropping images into desktop chat attachments. Migrated the desktop app to Tauri v2. Added a mobile device memory check to disable local chat on devices with less than 4 GB of RAM.
- Tauri v2 迁移:桌面应用升级到 Tauri v2,对应仓库中 tauri.conf.json 与 capabilities/default.json 的权限模型;
- Android 16 KB 页对齐:更新 JNA 库以满足 Android 新的 16 KB 内存页大小要求,这是 Google Play 上架合规的技术前提;
- 桌面拖拽传图:图片可直接拖入桌面聊天附件(v0.1.16 已支持拖拽,此版本针对 Tauri v2 下的实现做适配);
- 低内存设备禁用本地聊天:移动端增加内存检查,低于 4 GB RAM 的设备禁用本地聊天,避免模型加载导致 OOM——与 changes/gemma-high-ram-mobile.md 中"Gemma 作为高内存移动设备的默认模型"形成配套:只有内存足够的设备才可能运行更大的模型。
v0.1.18(2026 年 8 月):Ensu Packs、Vulkan GPU 加速与 KV 缓存
Ensu Packs on Mobile - Add on knowledge packs for more accurate answers Under the hood improvements for better download management Chat responses are now GPU-accelerated on Linux via Vulkan. Thanks @bjorn! Fixed the desktop icon on Fedora. Thanks @fosszil! Faster replies in ongoing chats with a best-effort KV cache.
- Ensu Packs(移动端):支持叠加知识包以获得更准确的回答,桌面端对应条目见 changes/ensu-packs-desktop.md("Ensu packs support on desktop");
- 下载管理内部优化:延续 v0.1.16 的共享下载组件迭代;
- Linux Vulkan GPU 加速:聊天响应在 Linux 上通过 Vulkan 获得 GPU 加速,由社区贡献者 @bjorn 完成;
- Fedora 桌面图标修复:感谢 @fosszil;
- best-effort KV cache:进行中的聊天借助尽力而为的 KV 缓存加快回复速度——复用已计算的历史 token 键值缓存,减少重复前向计算(对应 changes/input-responsiveness.md 中"修复消息输入框与聊天搜索的输入延迟")。
v0.1.19(2026 年 8 月):Gemma 模型下载修复
Fixed an issue that prevented Gemma models from downloading.
修复阻止 Gemma 系列模型下载的问题。结合 How it works 中"首次启动按设备自动下载默认模型"的流程,此修复确保高内存设备(桌面 ≥16 GB、高内存移动端)能顺利取得 Gemma 4 E4B / Gemma 4 模型文件,而不会卡在下载阶段。
从变更日志看 Ensu 的技术脉络
将全部版本串联起来,可以归纳出三条清晰的产品主线:
- 推理本地化与隐私结构:从 v0.1.3 的"on-device、离线、开源"到 v0.1.18 的 Vulkan GPU 加速,全部围绕"让本地推理更流畅"展开。正如 How it works 所强调的,Ensu 的隐私是结构性的——明文不出设备、默认无账号、开源可审计,而非依赖服务条款承诺。它也坦诚不防御被攻陷设备、模型幻觉以及提示词本身的泄露风险。
- 多模态能力的渐进增强:图片附件从基础支持(v0.1.16 压缩/缩略图/全屏预览)到桌面拖拽(v0.1.17),再到原生端图片尺寸缩放与多模态上下文缓存(v0.1.16);语音输入则从首次引入(v0.1.16)延续至今。所有图像与语音处理都在本地完成。
- 工程基础设施的持续重写:共享下载组件(v0.1.16)、Tauri v2 迁移与 Android 16 KB 页对齐(v0.1.17)、Linux Vulkan GPU 加速与 KV 缓存(v0.1.18),展示了 Ente Labs 在快速迭代期对"下载、渲染、推理性能"三大基础设施的投入。
延伸阅读
- Ensu 简介:安装、发送第一条消息与推荐提示词
- Ensu 工作原理:设备端推理、数据存储位置与隐私边界
- Ensu 功能总览:按平台对照各项功能
- 桌面端源码构建说明:Node + Rust + Tauri 的开发与静态构建流程
- Rust 推理核心命令层:llm、config、chat_db 等桌面命令实现
- 变更记录文件:每个面向用户改动对应的变更条目
【免费下载链接】ente💚 End-to-end encrypted cloud for everything.项目地址: https://gitcode.com/GitHub_Trending/en/ente
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考