@neuvybe/jarvis
v0.54.2
Published
A voice-first personal agent for developers: one continuous, local-first collaborator in your terminal.
Downloads
6,019
Maintainers
Readme
@neuvybe/jarvis
Jarvis is a voice-first personal agent for developers: one continuous, trusted collaborator that lives in your terminal, rather than a wall of disposable chat threads. You talk, it listens, thinks, acts, and talks back. Text works too.
Jarvis runs locally, calling the model and speech providers you configure. Hosted providers use your own keys; a local Ollama Brain needs no key. It does not keep recordings, and conversation context lasts for the session.
Requirements
- Node.js 24 or newer.
- A microphone and speakers (or a headset) for voice. Text-only sessions need neither.
- A Brain: Anthropic, OpenAI, Ollama Cloud, or a running Ollama server with a
tool-capable model. Hosted Brain and Voice providers require your own keys;
jarvis initcollects them and checks them where supported. - Supported platforms: macOS on Apple silicon, Windows x64, Linux x64 and arm64 (glibc). Intel Macs, Windows on ARM, and Alpine/musl are not supported yet.
Install
npm install -g @neuvybe/jarvisSet up once, then start talking:
jarvis init # first-run setup: providers, keys, defaults (writes ~/.jarvis)
jarvis # open the session for the current directoryjarvis is an interactive doorway, not a prompt runner: it takes no prompt
argument and does not read piped input.
For Ollama, choose the Cloud or local-server Brain in jarvis init. Cloud uses
your Ollama account key, shared with Ollama Search. Local setup asks for a server
address (default http://localhost:11434) and lists installed models with tool
support; Jarvis does not download models or start the server. Some server models
run through Ollama Cloud, as indicated in the picker. Model behavior and speed
vary: local gemma4:12b enables thinking for more reliable actions, which can
add a noticeable delay before speech.
Everyday commands
| Command | What it does |
| -------------------- | --------------------------------------------------------------------------------- |
| jarvis | Start a session in the current directory: voice when available, else text |
| jarvis --text | Force a text-only session (--no-voice is the same) |
| jarvis init | First-run setup wizard; re-run it to edit providers and keys |
| jarvis doctor | Diagnostics: config, home directory, providers and keys, update availability |
| jarvis status | Installed version plus a live update check |
| jarvis upgrade | Upgrade to the latest published version |
| jarvis models | List model choices for your configured providers (--refresh bypasses the cache) |
| jarvis config list | Print the resolved config with secrets redacted; also get, set, unset |
| jarvis --help | Full usage |
Voice-mode flags: --half-duplex mutes barge-in and the mic while Jarvis speaks
(a fallback for open speakers), and --ptt switches to push-to-talk (space to
talk, space again to send). --log-level <debug|info|warn|error> and
--project <path> are accepted by every command.
Where things live
Jarvis keeps its local state under ~/.jarvis (JARVIS_HOME overrides the
location). Per-session scratch files go to the OS temp directory.
Besides the providers you configure, Jarvis contacts the npm registry for update
checks: a bare jarvis launch shows any cached upgrade notice and, when the last
successful check is more than six hours old, attempts a background refresh;
status, doctor, and upgrade check live. Web searches and page fetches
happen only when the model requests them during a session.
License
Proprietary: see the LICENSE file in this package. Third-party components and their licenses are listed in THIRD_PARTY_NOTICES.md.
