Just A Rather Very Intelligent System (J.A.R.V.I.S.)
仓库地址:https://github.com/jizhiguo/jarvis.git
融合 Gemini Live API / 多 Provider 矩阵 实时双工语音、文本/图像/视频多模态统一中枢、Google Search 实时接地、Nano Banana Pro 视觉创作与 多 MCP Server (车辆轨迹重构 / LTC 利通虾 / 自定义工具服务) 的下一代车载与战术智能中枢。
-
多模态 Provider 分类归类与折叠配置 (Categorized Provider Configuration)
- 四大多模态分类架构:按 实时语音 (Realtime / Audio)、文本 (Text / LLM)、图像 (Image)、视频 (Video) 划分,支持独立折叠(Collapsible Accordion)。
- 原生多模态 vs 独立多端点智能识别:
- 原生统一多模态提供商(如 Google Gemini):一套多模态模型原生统一支持语音、文本、图像与视频多通道,自动隐藏冗余拆分选项,并显示统一多模态提示卡片。
- 分立端点提供商(如 字节跳动火山引擎 Doubao、OpenAI / 兼容端点、DashScope 等):在语音和文本各自分类下独立配置对应的 WebSocket 语音流端点与 HTTP REST/SSE 文本端点。
- 默认值衬底提示 (Watermark Defaults):各参数展示系统默认预设衬底提示(如官方端点、标准模型名、推荐采样率等),用户未显式修改时自动继承默认值。
- 即时连通性测试 (Instant Test):配置界面支持一键即时测试连通性,秒级反馈延迟、HTTP/WebSocket 握手状态与错误原因。
- 全量敏感数据环境变量化与无损保留:所有 API Key、Secret 支持
.env文件与服务器环境变量;配置界面留空或保持遮罩时不覆盖原值。
-
可扩展 Provider 适配层架构 (Provider Adapter Layer)
- 在服务端抽象标准适配层接口
IProviderAdapter(位于server/adapters/)。 - 统一规范文本生成 (
generateText)、流式输出 (streamText)、图像合成 (generateImage)、实时语音会话 (handleRealtimeSession) 及连通性测试 (testConnection)。 - 内置 GeminiAdapter、OpenAICompatibleAdapter、DoubaoAdapter 等,遵循适配层设计可零摩擦扩展接入任何第三方或本地私有化大模型。
- 在服务端抽象标准适配层接口
-
动态可扩展 MCP 服务集群 (Multi-MCP Support)
- 支持多 MCP 服务器配置(不仅限于 VTR,可扩展高精地图服务、实时路况、天气及自定义 FastMCP/工具服务)。
- 按需启用/禁用:每个 MCP 服务独立提供
enabled状态开关,仅启用的服务工具动态注册并注入会话推理上下文。 - 支持 SSE 与 Streaming HTTP:兼容 Server-Sent Events (SSE) 长连接与标准 HTTP JSON-RPC 传输。
- 配置即时测试:支持即时探测远端 MCP 服务,获取握手状态并实时列出该服务暴露的所有 Tools、参数 Schema。
- 预填默认参数:预设本地部署 (
localhost:8790) 与远程生产集群 (128.23.8.200:8790) 等推荐参数。
-
沉浸式 HUD 全屏交互 (Holo-HUD Fullscreen)
- 支持一键切换全屏 HUD 视效,支持
ESC快捷键退出。 - 具备反应堆动态电弧动画(Arc Reactor)、实时声波电平波动(Audio Waveform)及系统遥测诊断信息。
- 支持一键切换全屏 HUD 视效,支持
-
双语音唤醒词支持 (Voice Wake Words: "利通虾" / "Jarvis")
- 浏览器原生连续语音识别,支持以下唤醒词即时响应:
- 利通虾:针对车规与道路轨迹重构场景的高敏唤醒。
- Jarvis:经典智能管家唤醒词。
- 唤醒后自动播放 Jarvis 专属确认语音,并立即开启麦克风或执行伴随指令。
- 浏览器原生连续语音识别,支持以下唤醒词即时响应:
-
本地/远程 VTR MCP Server 深度集成
- 遵循 Model Context Protocol (MCP) 规范,深度连接车辆轨迹重构服务器(
vtr-mcp-server)。 - 支持单次车辆通行全息时序还原(线圈、激光光栅、车牌识别相机、ETC 天线 RSU、道闸动作等)与异常诊断。
- 遵循 Model Context Protocol (MCP) 规范,深度连接车辆轨迹重构服务器(
- Node.js:
>= 18.0.0(推荐 Node.js 20 LTS) - 包管理工具:
npm(推荐) 或pnpm/yarn - 浏览器推荐: Google Chrome / Microsoft Edge(完整支持 Web Speech API 唤醒词与 AudioContext)
- 代码仓库:
https://github.com/jizhiguo/jarvis.git
git clone https://github.com/jizhiguo/jarvis.git
cd jarvis在项目根目录下执行:
npm install注意:如果处于国内网络环境,可配置官方或镜像加速源:
npm config set registry https://registry.npmmirror.com npm install
复制环境变量模板:
cp .env.example .env使用编辑器打开 .env 并填入您的凭证信息:
# Google AI Studio Gemini API Key (必填)
GEMINI_API_KEY="AIzaSyYourGeminiApiKeyHere..."
# 本地运行端口默认 3000
APP_URL="http://localhost:3000"
# 本地或内网部署的 VTR MCP Server SSE 地址 (选填,支持在前端设置面板中动态修改)
VTR_MCP_URL="http://128.23.8.200:8790/sse"
# VTR MCP Server 认证密钥 X-API-Key (选填,支持在前端设置面板中动态修改)
VTR_MCP_API_KEY="vt-your-mcp-key-here"💡 提示:即使未在
.env中预先配置,您也可以在启动后直接点击 Web 界面右上角的 ⚙️ 设置 按钮进行可视化配置与保存!
npm run dev终端将输出启动信息,开发服务器将监听在:
👉 http://localhost:3000
在浏览器中打开该地址即可开始体验。
如需进行生产环境部署:
# 编译前端静态资源与后端服务端捆绑包
npm run build
# 启动生产服务
npm start系统支持 双通道配置,无需重复重启服务:
| 配置项 | 环境变量名 (.env) |
前端 UI 配置位置 | 说明 |
|---|---|---|---|
| Gemini API Key | GEMINI_API_KEY |
设置弹窗 ➔ Gemini API Key | 驱动实时语音、搜索接地及图像生成 |
| MCP SSE URL | VTR_MCP_URL |
设置弹窗 ➔ MCP Server URL | 默认为 http://128.23.8.200:8790/sse |
| MCP X-API-Key | VTR_MCP_API_KEY |
设置弹窗 ➔ MCP X-API-Key | 认证头 X-API-Key,与本地 MCP 校验 |
| 语音唤醒词开关 | 浏览器 localStorage |
设置弹窗 ➔ 语音唤醒词开关 | 支持开启/关闭 “利通虾” 与 “Jarvis” |
- 首次加载页面时,浏览器会请求麦克风权限,请点击“允许”。
- 只要控制台处于就绪状态,对麦克风说出以下任一唤醒词:
- 🗣️ “利通虾,帮我重构车辆轨迹”
- 🗣️ “Jarvis, report system status”
- 系统将立即弹出唤醒提示,播放管家声效,并自动提交指令进行解析。
- 若无麦克风,可点击 HUD 左下方的 ⚡ 利通虾 或 ⚡ Jarvis 快捷按钮进行仿真测试。
├── server.ts # Node.js + Express 服务端 (集成 Gemini SDK & MCP 代理)
├── server/
│ └── mcpManager.ts # MCP Server 客户端管理与 SSE 协议通信核心
├── src/
│ ├── App.tsx # 主应用组件与全局状态管理 (中英/主题/设置)
│ ├── i18n.ts # 中英文多语言字典与翻译引擎
│ ├── types.ts # TypeScript 核心数据类型定义
│ ├── components/
│ │ ├── Header.tsx # 导航栏、语言/主题切换、设置入口
│ │ ├── LiveConsole.tsx # HUD 控制台、全屏矩阵、声波与消息流
│ │ ├── ArcReactor.tsx # 反应堆高精度 SVG 动态电弧组件
│ │ ├── VtrModule.tsx # 车辆轨迹重构 (LTC 利通虾) 专用面板与预设
│ │ ├── SettingsModal.tsx # API Key 与 MCP 连接可视化配置弹窗
│ │ ├── SearchModule.tsx # Google Search 接地事实检索
│ │ ├── CreateModule.tsx # Nano Banana Pro 插画生成
│ │ └── ReimagineModule.tsx# 镜头艺术风格重构
│ └── utils/
│ ├── audio.ts # 16kHz PCM 麦克风录音与 24kHz 无缝播放器
│ └── useWakeWord.ts # 语音唤醒词识别 Hook ("利通虾" / "Jarvis")
├── .env.example # 环境变量配置范例
├── metadata.json # 项目元数据说明
└── package.json # 依赖与命令配置
本项目采用 MIT License 开源协议。