[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-93991":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":29,"readmeContent":30,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},93991,"pub-local-jarvis","LYiHub\u002Fpub-local-jarvis","LYiHub","Windows 本地多模态 AI 桌面桌宠，支持屏幕与音频感知。","",null,"Python",201,45,1,5,0,58,174,90.76,"MIT License",false,"main",[24,25,26,27,28],"ai-assistants","cuda","desktop-assistant","local-ai","minicpm","2026-07-30 04:02:14","\u003Cdiv align=\"center\">\n  \u003Cimg src=\"src\u002Fjarvis_backend\u002Fassets\u002Fjarvis-character-reference.png\" width=\"180\" alt=\"AI Jarvis 桌宠形象\">\n  \u003Ch1>AI Jarvis（AI 贾维斯）\u003C\u002Fh1>\n  \u003Cp>\u003Cstrong>能看懂屏幕、听懂声音的本地全双工桌面助手\u003C\u002Fstrong>\u003C\u002Fp>\n  \u003Cp>面向 Windows · 本地多模态推理 · 桌宠交互 · 游戏陪伴 · 课程记录\u003C\u002Fp>\n\u003C\u002Fdiv>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"#功能亮点\">功能亮点\u003C\u002Fa> ·\n  \u003Ca href=\"#快速开始\">快速开始\u003C\u002Fa> ·\n  \u003Ca href=\"#隐私与数据\">隐私与数据\u003C\u002Fa> ·\n  \u003Ca href=\"#工作原理\">工作原理\u003C\u002Fa> ·\n  \u003Ca href=\"#开发与构建\">开发与构建\u003C\u002Fa>\n\u003C\u002Fp>\n\nAI Jarvis 使用本地多模态模型持续理解桌面画面与系统播放音频，并根据当前场景，以桌宠气泡、游戏弹幕或课程笔记等方式提供帮助。\n\n日常的屏幕、音频感知与核心推理都在本机完成，因此数据默认无需上传云端，兼顾响应速度与隐私安全。\n\n## 功能亮点\n\n| 能力 | 说明 |\n| --- | --- |\n| **桌面陪伴** | 结合实时屏幕与系统声音理解当前场景，在合适的时机给出简短提醒或点评。 |\n| **主动对话** | 按 `Ctrl+M` 在桌宠旁打开对话框，直接向本地模型提问并查看回复。 |\n| **游戏陪伴** | 识别实时游戏场景，通过不干扰操作的透明弹幕提供提示和互动；可为不同游戏配置专属陪伴方案。 |\n| **网课记录** | 课程中提供内容提醒，结束后生成包含关键画面与知识点总结的 Markdown 课程笔记。 |\n| **本地记忆** | 从稳定的场景感知结果中整理活动时间线与每日总结；原始屏幕画面和音频不会写入长期记忆。 |\n| **日程图** | 配置兼容的图像生成 API 后，可将当天总结生成为可视化日程图。 |\n| **隐私模式** | 双击桌宠即可暂停或恢复屏幕与音频感知；暂停后模型无法继续获取画面和声音。 |\n\n### 可视化日程\n\n日程图将当天的活动时间线整理为一张便于回顾的图片。该能力默认关闭，只有在用户配置图像生成 API 并主动生成时才会联网。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"src\u002Fjarvis_backend\u002Fassets\u002Fjarvis-style-reference.png\" width=\"760\" alt=\"AI Jarvis 可视化日程图示例\">\n  \u003Cbr>\n  \u003Csub>可视化日程图示例\u003C\u002Fsub>\n\u003C\u002Fp>\n\n### 与 AI 贾维斯对话\n\n按 `Ctrl+M` 即可打开或关闭对话窗口，AI 贾维斯会结合实时画面与你沟通。\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fimages\u002Fpet-chat.png\" width=\"760\" alt=\"AI Jarvis 桌宠与主动对话界面\">\n  \u003Cbr>\n  \u003Csub>桌宠与主动对话界面\u003C\u002Fsub>\n\u003C\u002Fp>\n\n## 隐私与数据\n\n- **即时推理：** 屏幕画面和系统音频仅用于当前推理，普通运行不会长期保存原始采集数据。\n- **课程记录：** 课程模式只保存被选中的关键画面、整理后的知识点和画面说明。\n- **可选联网：** 只有主动生成可视化日程时，当日回顾和项目角色参考图才会发送到用户配置的图像 API。\n\n## 快速开始\n\n### 环境要求\n\n- 64 位 Windows 10\u002F11；\n- 支持 AVX2 指令集的 x64 处理器；\n- 至少 12 GiB 可用磁盘空间；\n- 首次启动时可连接网络，以下载约 6.32 GiB 的模型文件。\n\n### 使用安装包（推荐）\n\n1. 从项目发布页下载 `AI-Jarvis-Setup-0.1.2-x64.exe`。\n2. 运行安装程序并完成安装。\n3. 启动 AI Jarvis，点击“启动 AI 贾维斯”。\n\n安装包已包含 Python 后端和编译好的 C++ 推理运行时，不需要额外安装 Python、Git、CMake、Visual Studio 或 CUDA。\n\n模型权重不包含在安装包中。首次启动会自动下载、断点续传并校验 MiniCPM-o 4.5 模型，完成后即可直接运行。\n\n> **GPU 加速说明**\n>\n> 安装版会优先使用随包携带的 NVIDIA CUDA 推理运行时，并根据可用显存自动决定 GPU 卸载量。CUDA 初始化失败或没有兼容的 NVIDIA 显卡时，程序会自动回退到 CPU 并通过桌宠提示；此时文本生成和持续感知速度会明显下降。\n\n### 遇到启动问题？\n\n正常情况下直接安装并启动即可，无需预先安装 Python、CMake 或 Visual Studio。只有启动失败、CUDA 自动回退，或日志明确提示缺少 DLL 时，再展开下面的排查步骤。\n\n\u003Cdetails>\n\u003Csummary>\u003Cstrong>展开 Windows 前置依赖与故障排查\u003C\u002Fstrong>\u003C\u002Fsummary>\n\n\u003Cbr>\n\n#### 1. 所有 Windows 用户\n\n1. 确认系统是 64 位 Windows 10\u002F11，处理器支持 AVX2，并预留至少 12 GiB 磁盘空间。\n2. 安装微软官方的\n   [Visual C++ 2015-2022 x64 运行库](https:\u002F\u002Faka.ms\u002Fvs\u002F17\u002Frelease\u002Fvc_redist.x64.exe)。\n3. 安装完成后重启 Windows，再启动 AI Jarvis。\n4. 首次启动需要下载约 6.32 GiB 模型。模型保存在\n   `%LOCALAPPDATA%\\AIJarvis\\models\\MiniCPM-o-4_5-gguf`，下载和校验期间不要强制结束程序。\n\n#### 2. NVIDIA 显卡用户\n\n1. 从 [NVIDIA 驱动下载页](https:\u002F\u002Fwww.nvidia.com\u002FDownload\u002Findex.aspx?lang=cn) 或 NVIDIA App\n   安装最新驱动，安装后重启 Windows。\n2. 打开 PowerShell，运行：\n\n   ```powershell\n   nvidia-smi\n   ```\n\n   能看到显卡名称、驱动版本和显存容量，说明驱动工作正常。若命令不存在或报错，先修复驱动，\n   不要继续安装 Python 包。\n3. 再次启动 AI Jarvis。程序会先尝试 CUDA；成功时运行日志显示“`NVIDIA CUDA 加速已启用`”。\n4. 如果日志提示缺少 `cudart64_*.dll`、`cublas64_*.dll` 或 CUDA 初始化失败，可安装\n   [CUDA Toolkit 13.x](https:\u002F\u002Fdeveloper.nvidia.com\u002Fcuda-downloads)。默认安装“Runtime”和\n   “Development”组件即可，安装后重启 Windows。\n5. 如果 CUDA 仍无法初始化，程序会自动改用 CPU，并通过桌宠气泡提示。此时功能仍可使用，\n   但首帧感知和文本生成可能慢数十秒到数分钟。\n\nRTX 50 系列建议使用 CUDA 13.x 和最新驱动。8 GiB 显存不应强制全量加载模型；AI Jarvis 会按\n当前可用显存自动决定 GPU 层数。浏览器、游戏或其他 AI 程序占用大量显存时，先关闭它们再重试。\n\n#### 3. 如何确认是否真的使用 GPU\n\n1. 启动 AI Jarvis 并等待界面显示“环境感知已就绪”。\n2. 在任务管理器的“性能 -> GPU”中查看“CUDA”计算图和“专用 GPU 内存”；不要只看默认的\n   “3D”曲线。\n3. 也可以在运行期间执行 `nvidia-smi`。若只有 CPU 使用率升高、GPU 显存没有明显增加，并且\n   桌宠显示 CPU 提示，则已经触发 CPU 回退。\n\n#### 4. 一直停在“正在检查本地模型”\n\n1. 首次下载时先等待模型下载和哈希校验完成；机械硬盘或安全软件实时扫描会显著延长校验时间。\n2. 确认 `%LOCALAPPDATA%\\AIJarvis` 所在磁盘至少还有 8 GiB 空间。\n3. 完全退出 AI Jarvis，在任务管理器中确认没有残留的 `AI Jarvis`、`jarvis-launcher` 或\n   `jarvis-native-worker` 进程，然后重新启动。\n4. 查看 `%LOCALAPPDATA%\\AIJarvis\\runtime\\native-worker.log`。常见处理如下：\n\n| 日志或现象 | 处理方式 |\n| --- | --- |\n| `CUDA initialization failed`、显存不足 | 关闭占用显存的程序并重启；仍失败时允许 CPU 回退 |\n| 缺少 `cudart` \u002F `cublas` DLL | 更新 NVIDIA 驱动，必要时安装 CUDA Toolkit 13.x |\n| 缺少 `VCRUNTIME140.dll` \u002F `MSVCP140.dll` | 安装 Visual C++ 2015-2022 x64 运行库 |\n| 模型校验失败 | 退出程序，删除不完整的模型目录后重新下载 |\n| 日志长时间停在视觉或音频编码 | 通常是 CPU 回退；先修复 CUDA，或等待当前推理完成 |\n\n\u003C\u002Fdetails>\n\n### 从源码启动\n\n源码运行需要 Python 3.12+、Git、CMake 3.24+、Visual Studio C++ Build Tools、Node.js 当前 LTS 版本与 npm。\n\n构建 Windows 安装包还需要 CUDA Toolkit 13.1 或更新版本。CUDA 运行库会被复制进安装包，最终用户不需要安装 Toolkit。\n\n在项目根目录执行：\n\n```powershell\ncd desktop\nnpm run deps:install\ncd ..\n.\\start-real.cmd\n```\n\n桌面端打开后，点击“启动 AI 贾维斯”。服务就绪后可以拖拽桌宠调整位置，并通过 `Ctrl+M` 打开或关闭对话框。\n\n## 工作原理\n\n项目使用 **MiniCPM-o 4.5** GGUF 模型，由语言模型（LLM）、视觉模型（VPM）和音频模型（APM）共同处理文字、屏幕与声音。\n\n模型约每秒接收一帧画面和最近一秒的系统音频，并持续选择：\n\n- `LISTEN`：继续观察，不打扰用户；\n- `SPEAK`：输出一句有当前画面或声音依据的简短文字。\n\n这不是传统的“一问一答”。输入流会持续推进，模型可以等到真正需要介入时再响应。\n\n结构化场景判断与全双工对话使用彼此隔离的模型上下文：\n\n```text\nDXGI 屏幕画面 + WASAPI 系统音频\n                 |\n                 +-- 结构化感知上下文 -> 场景 \u002F 游戏 \u002F 课程 \u002F 记忆\n                 |\n                 +-- 全双工上下文     -> LISTEN \u002F SPEAK -> 模型回复\n```\n\n当前版本以文字交互为主，不提供语音播报或实时语音对话；游戏陪伴只提供观察、提示与互动，不会直接控制游戏或代替用户操作。\n\n## 开发与构建\n\n### 构建 Windows 安装包\n\n发布构建需要 Python 与 C++ 工具链。以下命令会构建静态 MSVC\u002FCPU 原生运行时、冻结 Python 后端，并生成 NSIS 安装程序：\n\n```powershell\ncd desktop\nnpm run deps:install\nnpm run build\n```\n\n产物位于 `desktop\u002Fdist\u002FAI-Jarvis-Setup-\u003C版本>-x64.exe`。发布构建不会把源码、编译器或本地运行数据装入安装包。\n\n构建完成后，可执行隔离安装验证。该命令会把程序安装到临时目录，在移除 Python、虚拟环境和构建工具环境变量后检查自包含运行时，并在完成后自动卸载：\n\n```powershell\nnpm run verify:installer\n```\n\n如需同时验证首次模型下载、原生推理进程和后端健康状态，执行：\n\n```powershell\nnpm run verify:installer -- -FullStartup\n```\n\n### 项目结构\n\n```text\nAIJarvis\u002F\n├── desktop\u002F             Electron 桌面端、桌宠、弹幕与系统托盘\n├── src\u002Fjarvis_backend\u002F  FastAPI 编排、场景策略、课程与本地记忆\n├── native\u002F              C++20 屏幕\u002F音频采集、调度与本地推理\n├── config\u002F              默认配置\n├── docs\u002F                项目文档与展示图片\n└── tests\u002F               Python 测试\n```\n\n更完整的架构、数据流与能力边界见 [项目说明](PROJECT_OVERVIEW.md)。\n\n## 致谢\n\n- **[tc-mb\u002Fllama.cpp-omni](https:\u002F\u002Fgithub.com\u002Ftc-mb\u002Fllama.cpp-omni)**：提供基于 llama.cpp \u002F ggml 的 MiniCPM-o GGUF 本地推理能力。本项目固定了上游版本，并以关闭语音输出的方式接入 LLM、VPM 与 APM。\n\n- **[OpenBMB\u002FMiniCPM-V](https:\u002F\u002Fgithub.com\u002FOpenBMB\u002FMiniCPM-V)**：MiniCPM-V \u002F MiniCPM-o 官方项目；本项目使用其 MiniCPM-o 4.5 多模态与全双工能力。\n\n## 许可证\n\n项目源代码采用 [MIT License](LICENSE)。\n",2,"2026-07-29 02:30:05","CREATED_QUERY"]