jarvis
ethanplusai/jarvis加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
绝大多数语音 AI 助手的工作方式是同一套流程:按下录音键 → 音频上传云端 → 大模型推理 → TTS 返回音频 → 按键费结算。这套流程有三个硬约束:必须有 API Key、按量计费、数据出本机。
JARVIS 换了一条路:把 Claude Code 这个 CLI 进程直接当作大脑,跑在用户自己的 Claude 订阅上。录音不出本机,全程不经过任何大模型 API,语音路径上也不存在任何 Anthropic API Key。

JARVIS 仪表盘订阅额度面板

JARVIS 运行记录视图
这个设计带来一个必须提的技术细节:Claude CLI 会静默偏好继承来的 ANTHROPIC_API_KEY——即使你已经用订阅登录了,只要环境里有这个变量,计费就会悄悄转移到 Key 上,而 claude auth status 依然报告 loggedIn: true。JARVIS 的做法是在每次 spawn 子进程前,先把所有 ANTHROPIC_* 前缀的环境变量剥掉:
# claude_env.py
SCRUBBED_ENV_PREFIXES = ("CLAUDE_CODE_", "ANTHROPIC_")
SCRUBBED_ENV_KEYS = {"CLAUDECODE"}
这不是洁癖,而是"不许悄悄扣钱"的产品底线。
JARVIS 由 Ethan Rogers 开发,2026 年 3 月建仓,目前约 960 star、340 fork,是一个相当活跃的个人项目。定位很明确:面向软件开发的本地语音助手,不是通用聊天机器人。
项目采用前后端分离结构:Python 后端约 30 个模块,前端是 TypeScript + HTML 的静态仪表盘,状态全部落在本地 SQLite。
先设计,后动手。 语音对话的第一阶段是需求讨论——一次只问一个问题,给两三个方案,你同意一个才继续。谈定的内容会写成设计稿落到被开发项目的 docs/superpowers/specs/ 目录下,按章节编号可以语音逐段批准。这是把"语音"当成设计评审通道,而不是遥控器。
驱动真实构建。 每次构建都是一个真实的 claude -p 会话,收到一份简报要求它写分阶段计划、对照设计稿审查计划、再按测试驱动开发逐项执行并勾选复选框。"做到哪一步了"的答案来自读复选框,不是猜。
会话监控是差异化能力。 它监控本机所有 Claude Code 会话,不只是自己启动的。你可以问"哪些会话在等我",它实时检查并回答;还能向某个会话发消息,或者代替 Terminal.app 里运行的会话按下权限弹窗的确认键。
打断策略区分优先级。 需要人介入的会话立刻说出口,只是跑完的会话则合并成一句话在下一个停顿点讲;浏览器标签页没开就退化成 macOS 通知。
长期记忆是纯 Markdown。 一个事实一个文件,外加一个大脑始终可见的索引,可以用任意文本编辑器直接编辑——没有数据库、没有向量库、没有黑盒。
一切皆记录。 每个 Claude Code 进程都是一行 SQLite:提示词、项目、状态、令牌用量、完整事件流。
仪表盘有六个页签:Runs(运行记录)、Sessions(会话监控)、Memory(记忆)、Specs(设计稿)、Projects、Usage。Usage 页展示订阅的五小时与七天窗口剩余额度,仪表盘实测截图显示 5 小时窗口用掉 62%、7 天窗口用掉 84%。
这是本项目最需要提前知道的硬约束:
安装本身不复杂:克隆、pip install -r requirements.txt、python -m playwright install chromium、cd frontend && npm install。但必须自己生成 HTTPS 证书(server.py 在有 cert.pem 时才走 HTTPS),这一点 README 写得很清楚。
许可条款是最大的约束。 LICENSE 明确写着"PERSONAL USE"免费,"COMMERCIAL USE PROHIBITED WITHOUT LICENSE",商用需另行取得授权。这意味着 JARVIS 目前不能直接进入任何商业产品。
强绑定平台的技术债。 AppleScript 在新版 macOS 上的行为变化、Chrome Web Speech API 的策略调整,都会直接击穿整个语音链路。而 FISH_API_KEY 缺失时"返回空"而非报错的设计,排查起来相当痛苦。
本地明文存储无加密。 SQLite 与 Markdown 记忆目录都是明文,敏感信息落盘后泄露面不小。
安全边界需要正视。 它能替你按键确认权限弹窗、能执行终端命令、能控制浏览器——这组合起来是相当大的权限面。项目自己做了防护(环境变量剥离、URL 注入与点击劫持的专项测试),但使用者仍需理解自己在授予什么。
JARVIS 代表 2026 年初开始浮现的一个趋势:AI 助手正在从"云端 API 客户端"回归"本地进程编排器"。当模型能力可以通过已有的 CLI 工具链获得时,重新造一个 API 客户端反而是浪费——CLI 自带账号体系、自带工具、自带权限模型。
订阅经济也在这里被重新利用:CLI 订阅的边际成本是零,而按 token 计费是真金白银。把"本地订阅"当作算力来源,是这一轮与上一轮 API 竞争最不一样的地方。
对个人开发者,这是一套完成度相当高的本地工作台;对企业,它目前是一份优秀的架构参考实现——尤其是"如何把一个可信的 CLI 变成可观测、可干预、可回溯的执行平台"这套设计。