{"_id":"@acefelix/jarvis","_rev":"3-64c99ab1e79c5681b493e7e31a1dead1","name":"@acefelix/jarvis","dist-tags":{"latest":"2.1.0"},"versions":{"2.0.7":{"name":"@acefelix/jarvis","version":"2.0.7","keywords":["ai-agent","jarvis","desktop-assistant","voice-assistant","python","llm","tool-use","mcp"],"author":{"name":"aceFelix"},"license":"MIT","_id":"@acefelix/jarvis@2.0.7","maintainers":[{"name":"acefelix","email":"13985465782@163.com"}],"homepage":"https://github.com/aceFelix/jarvis","bugs":{"url":"https://github.com/aceFelix/jarvis/issues"},"os":["win32","darwin","linux"],"bin":{"jarvis":"run.js"},"dist":{"shasum":"e07df1ee668d4793fe5f409e4be9c973ce3427fe","tarball":"https://registry.npmjs.org/@acefelix/jarvis/-/jarvis-2.0.7.tgz","fileCount":4,"integrity":"sha512-AdUL4tJWzFpb+61rIEOmY8YA9lqrHlccRAw7sNJku2dfl5dEqm6831SU8sUu5/Md/NmkgxeSWlg689kUCIsHpA==","signatures":[{"sig":"MEQCIEZboJhK2IFFP7wVMZomBErQo255cUGYSy2j411xWTnXAiApOpXO8oY+26IKlQWR/kslCC2pswsjH58UkUJYaMlgPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19979},"engines":{"node":">=14.0.0"},"gitHead":"c98122f10dc8b8feeed5778e9b5d8596c1279332","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"acefelix","email":"13985465782@163.com"},"repository":{"url":"git+https://github.com/aceFelix/jarvis.git","type":"git","directory":"jarvis"},"_npmVersion":"10.8.2","description":"J.A.R.V.I.S — 你的钢铁侠同款桌面 AI 助手。可对话、可操作电脑、可后台常驻、能听会说，支持 30+ 内置工具、MCP 生态接入、多模型动态切换。","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jarvis_2.0.7_1786693146954_0.33686981722882736","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"@acefelix/jarvis","version":"2.0.8","keywords":["ai-agent","jarvis","desktop-assistant","voice-assistant","python","llm","tool-use","mcp"],"author":{"name":"aceFelix"},"license":"MIT","_id":"@acefelix/jarvis@2.0.8","maintainers":[{"name":"acefelix","email":"13985465782@163.com"}],"homepage":"https://github.com/aceFelix/jarvis","bugs":{"url":"https://github.com/aceFelix/jarvis/issues"},"os":["win32","darwin","linux"],"bin":{"jarvis":"run.js"},"dist":{"shasum":"b35824890898859edb38cee2801b0628deb70bb8","tarball":"https://registry.npmjs.org/@acefelix/jarvis/-/jarvis-2.0.8.tgz","fileCount":4,"integrity":"sha512-1Z4tNbwUZPmClP3nT0azzCu6VOzJtZHpzDBkmIIv7+cXCx5B8y98BnXCWi5rkw3JJ+UH4wgCN0fAU4APSgE7yQ==","signatures":[{"sig":"MEUCIFBE97V0r1VJ2NLZLgzBdqBB3Qu177eYmxn+EVtFpJs5AiEAxdvG/sDNHyo3BuKvib31IughG9k5EGttsrcOvCMNb54=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20022},"engines":{"node":">=14.0.0"},"gitHead":"e6a17b0ef6de2b109f78c414d3cfbd7c993bde55","scripts":{"postinstall":"node install.js"},"_npmUser":{"name":"acefelix","email":"13985465782@163.com"},"repository":{"url":"git+https://github.com/aceFelix/jarvis.git","type":"git","directory":"jarvis"},"_npmVersion":"10.8.2","description":"J.A.R.V.I.S — 你的钢铁侠同款桌面 AI 助手。可对话、可操作电脑、可后台常驻、能听会说，支持 30+ 内置工具、MCP 生态接入、多模型动态切换。","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/jarvis_2.0.8_1787468913269_0.7652237796280446","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"os":["win32","darwin","linux"],"_id":"@acefelix/jarvis@2.1.0","bin":{"jarvis":"run.js"},"bugs":{"url":"https://github.com/aceFelix/jarvis/issues"},"dist":{"shasum":"2718fff4fdb5faa8ad6bc0a7872e1c4512f8cdd2","tarball":"https://registry.npmjs.org/@acefelix/jarvis/-/jarvis-2.1.0.tgz","fileCount":4,"integrity":"sha512-/ngzMBtLSB13SAn0YUNO8vE3ImvB3AaqQFqQXLJjdHbSRDxLZHVGMjBc6bNIVzqGfcNs+GXWh6H/qOnEcKKxAw==","signatures":[{"sig":"MEUCIEQNXgvsAbpijrYQpz5nNPgi6c3vWHofBbNz/6lGDDlCAiEAoi9y+hsmlH18YeBCh5kKASaw+hULxkblfrhlnjpTW4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHD9siTKQZ71EIxYmrPaT7fJGfBETRZqW34q+qB/4QeTAiBMWRPACJgghtORDDayqnh1fUt1aDjAlZ/yVOsEcPO1mg=="}],"unpackedSize":20022},"name":"@acefelix/jarvis","author":{"name":"aceFelix"},"engines":{"node":">=14.0.0"},"gitHead":"7e6bd7b1b6fdff31601aa0934ba1c296d3943bb1","license":"MIT","scripts":{"postinstall":"node install.js"},"version":"2.1.0","_npmUser":{"name":"acefelix","email":"13985465782@163.com"},"homepage":"https://github.com/aceFelix/jarvis","keywords":["ai-agent","jarvis","desktop-assistant","voice-assistant","python","llm","tool-use","mcp"],"repository":{"url":"git+https://github.com/aceFelix/jarvis.git","type":"git","directory":"jarvis"},"_npmVersion":"10.8.2","description":"J.A.R.V.I.S — 你的钢铁侠同款桌面 AI 助手。可对话、可操作电脑、可后台常驻、能听会说，支持 30+ 内置工具、MCP 生态接入、多模型动态切换。","directories":{},"maintainers":[{"name":"acefelix","email":"13985465782@163.com"}],"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/jarvis_2.1.0_1790144400212_0.646098573985028"}}},"time":{"created":"2026-08-14T07:39:06.763Z","modified":"2026-09-23T06:20:00.478Z","2.0.7":"2026-08-14T07:39:07.089Z","2.0.8":"2026-08-23T07:08:33.414Z","2.1.0":"2026-09-23T06:20:00.298Z"},"bugs":{"url":"https://github.com/aceFelix/jarvis/issues"},"author":{"name":"aceFelix"},"license":"MIT","homepage":"https://github.com/aceFelix/jarvis","keywords":["ai-agent","jarvis","desktop-assistant","voice-assistant","python","llm","tool-use","mcp"],"repository":{"url":"git+https://github.com/aceFelix/jarvis.git","type":"git","directory":"jarvis"},"description":"J.A.R.V.I.S — 你的钢铁侠同款桌面 AI 助手。可对话、可操作电脑、可后台常驻、能听会说，支持 30+ 内置工具、MCP 生态接入、多模型动态切换。","maintainers":[{"name":"acefelix","email":"13985465782@163.com"}],"readme":"# @acefelix/jarvis (npm wrapper)\n\n这是 **J.A.R.V.I.S** 的 npm 安装入口（包名 `@acefelix/jarvis`）。它本身不包含 Python 代码，\n而是在 `postinstall` 阶段自动通过 pip / uv 安装 `jarvis-agent` Python 包，\n并把 `jarvis` 命令暴露给 npm/npx 用户。\n\n## 安装要求\n\n- Node.js 14+\n- Python 3.11+（Jarvis 核心为 Python 项目）\n- pip（随 Python 一起安装）或 [uv](https://docs.astral.sh/uv/)（推荐，安装速度快 5-10x）\n\n## 安装\n\n```bash\nnpm install -g @acefelix/jarvis\n```\n\n安装完成后即可运行：\n\n```bash\njarvis\n```\n\n## 工作原理\n\n1. `npm install @acefelix/jarvis` 触发 `postinstall` 脚本 `install.js`\n2. `install.js` 检测系统中的 Python，以及安装工具 uv / pip（**uv 优先**）\n3. 检测到 Python 后弹出**交互式功能选装菜单**（非 TTY / CI 环境自动装 `[all]`）\n4. 根据用户选择调用 `uv pip install` 或 `pip install` 安装对应 extras 的 `jarvis-agent`\n5. 安装成功后根据所选功能提示对应的**系统级依赖**（如 PortAudio、playwright 浏览器、摄像头驱动等）\n6. `run.js` 作为 `jarvis` 命令入口，转发参数给 Python 端的 `jarvis`\n\n### 交互式功能选装菜单\n\n```\nJ.A.R.V.I.S 功能选装菜单：\n\n  [x] 核心功能（对话/工具/模型切换）—— 必装\n  [ ] 1. 语音对话（TTS/STT，需要 PortAudio）\n  [ ] 2. 系统托盘（常驻后台/主动提醒，需要 psutil）\n  [ ] 3. GUI 视觉操作（鼠标键盘控制/截屏）\n  [ ] 4. 浏览器自动化（需要 playwright install）\n  [ ] 5. 摄像头/OCR（OpenCV + PaddleOCR）\n  [ ] 6. MCP 生态接入\n  [ ] 7. 微信接入\n  [ ] 8. 实时聊天窗口（独立语音对话窗口）\n\n  回车 = 全装[all] | 输入序号用逗号分隔（如 1,3,5）| 0 = 仅核心\n```\n\n| 输入 | 行为 | 安装命令示例 |\n|---|---|---|\n| 回车 | 安装全部功能 `[all]` | `pip install \"jarvis-agent[all]==<version>\"` |\n| `0` | 仅装核心（无 extras） | `pip install \"jarvis-agent==<version>\"` |\n| `1,3,5` | 按序号拼 extras | `pip install \"jarvis-agent[voice,gui,camera,vision]==<version>\"` |\n\n序号与 extras 的对应关系：\n\n| 序号 | 功能 | extras |\n|---|---|---|\n| 1 | 语音对话 | `voice` |\n| 2 | 系统托盘 | `daemon` |\n| 3 | GUI 视觉操作 | `gui` |\n| 4 | 浏览器自动化 | `browser` |\n| 5 | 摄像头/OCR | `camera,vision`（vision 含 mediapipe + paddleocr，体积较大） |\n| 6 | MCP 生态接入 | `mcp` |\n| 7 | 微信接入 | `wechat` |\n| 8 | 实时聊天窗口 | `realtime_ui` |\n\n### uv 优先策略\n\n安装前会先执行 `uv --version` 检测：\n\n- 检测到 uv → 使用 `uv pip install` 加速安装，并提示 `✓ 检测到 uv，使用 uv 加速安装（快 5-10x）`\n- 未检测到 uv → 退回原有 `pip install` 逻辑\n\n### 系统级依赖提示\n\n`pip install` 成功后，只会针对用户**实际选装**的功能打印对应的系统级依赖提示，例如：\n\n```\n✅ Python 依赖安装成功！\n\n📋 系统级依赖检查：\n  ✓ 语音：需要 PortAudio\n    - Windows: 通常已内置\n    - macOS: brew install portaudio\n    - Linux: sudo apt install portaudio19-dev\n  ✓ 浏览器：需要下载浏览器二进制\n    - 运行: playwright install\n  ✓ 视觉监控：需要摄像头驱动\n    - Windows: 通常已内置\n    - macOS: 需要摄像头权限\n```\n\n## 本地开发\n\n```bash\ncd jarvis/npm\nnode install.js   # 手动触发 pip / uv 安装（会进入交互菜单）\nnode run.js       # 启动 jarvis\n```\n\nCI / 非交互环境下，`install.js` 会跳过选装菜单直接安装 `[all]`：\n\n```bash\nnode install.js < /dev/null   # 模拟非 TTY，自动装 [all]\n```\n\n## 许可证\n\nMIT © aceFelix\n","readmeFilename":"README.md"}