JARVIS-ChatGPT
用钢铁侠J.A.R.V.I.S的声音与ChatGPT对话,本地运行的AI语音助手,支持唤醒词、多引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用钢铁侠J.A.R.V.I.S的声音与ChatGPT对话,本地运行的AI语音助手,支持唤醒词、多引擎
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这个场景:深夜里你正研究碳纤维航天的应用,突然脑海中闪过一个绝妙的想法,但手边没有键盘——你对着空气喊了一声「Hey Jarvis」,一个熟悉的钢铁侠 AI 声音立刻响应了你,帮你查找资料、记录灵感、甚至起草一封邮件。这就是 JARVIS-ChatGPT——一个用 ChatGPT 驱动、配上 J.A.R.V.I.S 原声的本地 AI 语音助手。它不只是一个聊天机器人,而是一套完整的本地语音交互系统,集成了语音识别、LLM 推理、语音合成、LangChain 工具调用,甚至还有本地文档检索研究模式。
这个项目的诞生源于一个非常具体的生活痛点:创意往往在最不方便的时刻出现,当你终于有空坐下来深入探索时,灵感早已消散。作者 gia-guar 是意大利摩德纳大学(Università di Modena e Reggio Emilia)的学生,自 2022 年开始开发这个项目,灵感直接来自漫威宇宙中的 J.A.R.V.I.S——托尼·斯塔克的超级 AI 管家。
项目的技术栈非常「重型」:核心用 Python 3.8/3.9 编写,集成了 OpenAI ChatGPT API(gpt-3.5-turbo)、OpenAI Whisper 语音识别、Coqui TTS 语音合成引擎、IBM Watson TTS、ElevenLabs 语音克隆、PicoVoice 唤醒词检测,以及 LangChain 的 ReAct Agent 框架。总代码量超过 600 个文件,其中 TTS 子目录就包含了完整的 Coqui TTS 训练推理框架(覆盖 Tacotron2、FastSpeech2、Glow-TTS、VITS 等主流 TTS 架构),这是一个完整的文字转语音研究库,不只是调用 API 那么简单。
整个系统由两层构成:主助手层负责语音交互循环,TTS 层负责高质量语音生成。
主助手层以 openai_api_chatbot.py 为入口,核心逻辑在 Assistant/VirtualAssistant.py 中实现。这是一个典型的本地实时语音对话系统,流程如下:唤醒词检测(PicoVoice Porcupine)→ 语音活动检测(WebRTC VAD)→ Whisper 语音识别 → LangChain ReAct Agent 推理 → 回复文本 → 多引擎语音合成(TTS/IBM/ElevenLabs)→ 播放音频。
Assistant/Agents.py 定义了 LangChain ZeroShot Agent,使用工具包括:本地文件搜索(基于 OpenAI Embedding 相似度)、对话历史保存、文件读取、文本摘要等。Assistant/tools.py 额外实现了 Translator(多语言翻译,基于 argostranslate 离线库 + ChatGPT)、LocalSearchEngine(本地向量搜索)、AssistantChat(对话历史管理)。
值得注意的是,项目还包含一个可选的 Vicuna 本地 LLM 模式,通过 Oobabooga text-generation-webui 提供纯离线的 GPT 替代方案,适合 API 额度紧张或网络不稳定的场景。
TTS 子目录实际上是一个完整的 Coqui TTS 研究框架,包含:
这套 TTS 框架支持从零训练和推理,意味着如果你有足够的数据和 GPU,可以训练专属的 J.A.R.V.I.S 声音模型,而不只是调用云端 API。
1. 语音唤醒与持续对话 使用 PicoVoice Porcupine 进行本地唤醒词检测("jarvis"),无需按压即说。唤醒后通过 WebRTC VAD 判断用户停止说话,自动截断录音。配合 pygame 播放音效(启动音、思考音、错误音等科幻音效),体验感拉满。
2. 多引擎语音合成
系统支持三种 TTS 引擎:IBM Watson Cloud TTS(支持多种语言和定制音色)、ElevenLabs(支持语音克隆,可模拟特定人的声音)、Coqui TTS(本地离线运行,支持 VITS 等高质量模型)。用户可以在 VirtualAssistant.__init__() 中切换默认引擎和语言。
3. 研究模式(Research Mode) 这是项目最有深度的功能之一。切换到研究模式后,可以:
研究模式的核心实现在 Assistant/research_mode.py,底层调用 Assistant/semantic_scholar/ 模块进行 API 交互。
4. 本地文件智能搜索 基于 OpenAI Embedding(text-embedding-ada-002)将本地文档向量化,存储在 pandas DataFrame 中。用户可以用自然语言查询本地文件,Agent 自动检索相关内容作为上下文。
图1:JARVIS-ChatGPT 项目概念图(MidJourney AI 生成)

图2:IBM Watson TTS 支持的语言配置界面
这个项目的部署难度是相当高的,主要门槛来自以下几个方面:
硬件要求:必须有 NVIDIA GPU(6GB+ VRAM),因为 Whisper medium/large 模型和 Coqui TTS 本地推理都需要 CUDA 加速。CPU 也能跑,但体验会大打折扣。CUDA 版本需 >= 11.2,搭配 PyTorch 2.0 使用。
软件依赖复杂:项目需要同时安装 PyTorch、OpenAI Whisper、Coqui TTS、Vicuna(可选)、LangChain 等多个重量级库,且版本兼容性敏感——明确要求 Python 3.8-3.9,不支持 3.10+。安装流程涉及源码文件替换(whisper_edits),不够自动化。
多 API 配置:需要注册 OpenAI、IBM Watson、ElevenLabs、PicoVoice 等多个平台账号和 API Key。纯本地运行虽然可行(通过 Vicuna + Coqui TTS),但配置更复杂。
研究模式不稳定:作者在 README 中明确提到 Research Mode「not super stable and needs to be worked on」,部分 Semantic Scholar API 调用存在可靠性问题。
已停止维护:作者 2023 年 7 月宣布暂停开发直至 2024 年毕业论文完成,当前仓库已超过 2 年未更新,LangChain 版本可能已经过时。
JARVIS-ChatGPT 属于「AI 桌面助手」这一赛道的早期探索者。在它诞生的 2022-2023 年,这类本地运行的语音 AI 助手还很稀缺,大多数类似产品都是纯云端 API 包装。项目最独特的价值在于它展示了一种可能性:用消费级 GPU 在本地跑一套完整的语音对话系统,从唤醒、识别、推理到语音合成全部本地化。
这个项目对后来者的启示包括:LangChain 是构建 Agent 工具链的有效框架;Whisper + TTS 的组合是本地语音 AI 的标准范式;唤醒词检测是打造「自然交互」体验的关键环节。
然而,它也暴露了这类项目的共同问题:本地部署的工程复杂度太高,普通用户难以驾驭;多 API 依赖导致成本和稳定性不可控;维护成本大,项目容易成为「一次性」作品。后续的开源社区逐渐转向纯 Web UI 方案(如 Open WebUI)或纯 API 方案,降低了使用门槛。 如果你是一个对 AI 语音助手充满热情的开发者,想要一个可以完全控制、可深度定制的本地解决方案,JARVIS-ChatGPT 是一个值得研究的参考实现。它的代码组织清晰(Assistant 主逻辑 + TTS 研究框架分离),LangChain Agent 模式设计合理,且包含了语音 AI 完整链路的所有环节。即使你不直接使用这个项目,它的架构设计也能为你自己的 AI 助手开发提供灵感。