《Lumi:macOS 原生菜单栏语音 AI 助手,听你指令搞定查资料、写代码、操作系统全流程》
Lumi
住在你菜单栏的 AI Agent。
语音优先,随时唤起,懂你记你。

一、项目简介
Lumi 是基于 Electron + Next.js 打造的macOS原生语音AI Agent助手,核心主打语音优先交互,常驻系统菜单栏,零桌面冗余、无坞站图标,以轻量化后台模式运行。项目遵循优质人机交互逻辑:语音为人类自然输入、视觉为机器最优输出,整合ASR语音识别、TTS语音合成与大模型能力,实现全流程语音智能操作。
相较于传统桌面AI工具,Lumi 最大亮点是内置长效智能记忆体系,可持续沉淀对话数据、迭代用户认知模型。同时支持自定义AI角色、可拓展技能插件、十余种国内外大模型无缝切换,适配开发者、办公人群使用,二次开发门槛低。目前项目处于Demo迭代阶段,持续深耕语音+视觉的智能人机交互方向。
二、核心应用场景
Lumi凭借轻量化常驻、全语音交互、系统级操控能力,覆盖多类高频使用场景:
-
开发者辅助:语音查文档、生成代码片段、调试问题、执行简易开发指令,解放双手编码
-
高效办公:语音全网检索、文案创作、内容整理、日程规划,无需手动输入
-
系统操控:语音控制macOS系统功能、调整设备状态,实现无触控操作
-
个性化AI交互:自定义工作、创作、学习专属AI角色,按需切换适配不同场景
-
长效智能适配:依托记忆系统沉淀用户习惯,持续优化交互效果,越用越精准
三、项目核心功能特性
1. 全链路语音交互
打通ASR语音识别+AI智能处理+TTS语音合成完整链路,支持实时语音监听、转写与应答。配套透明悬浮字幕弹窗,无需盯屏即可查看回复;支持连续对话模式,单轮交互结束后自动监听下一轮指令,贴合自然对话逻辑。
2. 双模式全局唤醒
提供两种系统级唤醒方式,随时快速调用AI能力,适配不同使用习惯:
-
快捷键唤醒:按住右侧Option键录音,松开自动提交指令
-
唤醒词唤醒:自定义专属唤醒名称,语音呼叫即可启动监听
3. 可定制AI角色系统
内置Persona角色管理体系,通过Markdown文件可自定义AI头像、性格、语气及行为逻辑。支持创建多套独立角色配置,一键切换工作助理、创意搭档、学习教练等不同身份,场景适配性极强。
4. 高拓展技能插件能力
支持 Markdown、压缩包两种格式导入技能包,可自定义拓展AI工具能力与工作流。内置可视化管理面板,支持一键启用/禁用插件,无需修改源码即可完成功能迭代,二次开发成本极低。
5. 长效智能记忆机制
自动每日归档对话数据,周期性提炼核心记忆、迭代用户模型。AI可自主学习用户使用习惯与需求偏好,实现个性化适配,用户可随时回溯历史记忆记录,查看AI学习成果。
6. 13款大模型全覆盖
兼容主流国内外AI后端,支持运行时无缝切换,语音识别、合成服务可独立选配,自由度极高:
-
国际模型:Anthropic Claude、OpenAI ChatGPT
-
国内模型:智谱GLM、DeepSeek、Kimi、通义千问、火山豆包、小米MiMo等
-
聚合模型:OpenRouter、SiliconFlow
-
语音服务:火山引擎语音、阿里百炼Paraformer识别+CosyVoice合成
7. 轻量化菜单栏常驻
无桌面窗口、无坞站占用,静默常驻macOS菜单栏,资源占用极低。托盘指示灯实时反馈状态:灰色(空闲)、蓝色(思考中)、绿色(执行完成)、红色(异常),状态直观可控。
四、项目技术架构解析
1. 整体架构
采用 Electron 主进程 + Next.js 15 嵌入式子进程 架构,摒弃传统REST通信,基于IPC实现前后端交互,响应更快、架构更轻量化。生产环境下Next.js以内嵌子进程运行在Electron中,实现桌面一体化部署。
职责分层清晰:Electron主进程负责托盘、快捷键、语音流水线、进程调度;Next.js负责页面渲染、状态管理与用户交互。
2. 语音交互流水线
基于sherpa-onnx实现唤醒检测与静音判定,全链路自动化流转:
音频监听 → 唤醒词识别 → VAD静音检测 → 音频录制 → ASR语音转文字 → Claude Agent AI处理 → TTS语音合成 → 悬浮字幕展示
3. 标准化状态机
全流程闭环状态管控,保障交互稳定:
空闲(idle) → 录音中(recording) → 转写中(transcribing) → 思考中(thinking) → 执行中(executing) → 执行完成(completed) → 回归空闲
五、项目目录结构
目录分层清晰、职责明确,便于二次开发与迭代维护:
Lumi/
├── electron/ # Electron主进程核心
│ ├── main.ts # 核心调度(窗口、状态机、IPC、语音流水线)
│ ├── tray.ts # 菜单栏托盘与状态指示
│ ├── shortcuts.ts # 全局快捷键监听
│ ├── recorder.ts # 音频录制与ASR处理
│ ├── tts.ts # 语音合成与语句解析
│ ├── voice-providers/ # 语音服务适配层
│ ├── voice-bar.ts # 悬浮录音指示器
│ ├── subtitle-popup.ts # 透明字幕悬浮窗
│ ├── wake-word.ts # 唤醒词引擎
│ ├── audio-listener.ts # 麦克风音频监听
│ └── native/ # Swift原生键盘模块
├── src/
│ ├── app/
│ │ ├── (main)/ # 主页面(对话/记忆/角色/设置)
│ │ └── (transparent)/ # 悬浮弹窗页面
│ ├── components/ # 通用UI组件
│ ├── lib/ # 公共工具库(状态管理/AI/记忆)
│ └── types/ # TS类型定义
├── resources/ # 图标、语音模型等静态资源
└── scripts/ # 项目构建脚本
六、全套技术栈明细
|
技术分层 |
所用技术方案 |
|
桌面框架 |
Electron 35 |
|
前端框架 |
Next.js 15、React 19、TypeScript |
|
样式方案 |
Tailwind CSS |
|
语音引擎 |
sherpa-onnx(唤醒词+VAD检测) |
|
语音识别 |
火山引擎ASR、阿里百炼Paraformer |
|
语音合成 |
火山引擎TTS、阿里百炼CosyVoice |
|
AI调度核心 |
Claude Agent SDK |
|
本地数据库 |
better-sqlite3 |
|
原生模块 |
Swift、uiohook-napi |
|
打包工具 |
electron-builder(DMG安装包) |
七、环境依赖与部署教程
1. 前置环境
-
系统:macOS 13.0+
-
运行环境:Node.js 18+
-
编译依赖:Xcode Command Line Tools
2. 项目启动流程
# 进入目录
cd Lumi
# 安装依赖
npm install
# 启动开发环境
npm run electron:dev
3. 项目打包
# 打包生成DMG安装包 npm run electron:build
打包产物自动输出至项目 release/ 目录。
八、常用脚本说明
|
执行脚本 |
功能描述 |
|
npm run electron:dev |
启动开发环境,并行运行Next.js与Electron |
|
npm run electron:build |
完整打包,生成macOS DMG安装包 |
|
npm run build:electron |
仅编译Electron主进程 |
|
npm run build |
仅编译Next.js前端项目 |
九、项目迭代规划
项目处于快速迭代中,后续重点更新四大核心能力:
-
智能意图路由:自动判别任务复杂度,简单问题极速响应,复杂任务调用完整工具链
-
前置语音应答:任务执行前先语音反馈,告别静默等待,优化交互体验
-
屏幕场景感知:识别光标周边屏幕内容,实现场景化上下文对话与操作
-
语音克隆与切换:支持自定义TTS音色,少量样本即可完成语音克隆
十、开源协议
Lumi 基于 MIT开源协议 开源,支持免费学习、二次开发与商用部署,仅需遵守对应开源协议规范即可。
十一、总结
Lumi 是一款轻量化、高自由度的macOS专属语音AI开源助手,凭借菜单栏常驻零冗余、全自然语音交互、智能长效记忆、可拓展技能体系、全主流大模型适配的核心优势,完美适配开发、办公各类场景。项目架构清晰、部署简单、二次开发友好,且持续迭代更新,是macOS平台优质的开源AI桌面项目,值得开发者收藏学习与落地使用。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐
所有评论(0)