Fully local voice assistant inspired by J.A.R.V.I.S.
Project description
Jarvis. Fully local AI assistant.
For release installs and full setup documentation, use README_RELEASE.md.
Fully functional, but still unfinished AI assistant written on Python thats works on your PC!
This project is my recreation of the J.A.R.V.I.S from "Iron Man" movie. He can listen, think, speak, memorize and most important use ANY tools you provide him. It's very customizable project.
Short trailer for the project, haven't covered all features, but I really worked hard to create it!
Deps:
- Ollama - must be in your path
- Cuda - not neccesary, but without it it'll be too slow
- Python >3.11 3.13< - because of tts library we can't run on 3.14 at the moment, but I hope soon they'll update it
- Ollama runtime/CLI - required (Python package
ollamais not enough)
Main libraries I used to build Jarvis:
Many thanks to the devs!!
How to install Jarvis to your PC
Fast path (recommended): pipx
- Install with pipx:
- PyPI (after release):
pipx install my-own-jarvis --python 3.12
- Local repo:
pipx install .
- CPU/default install:
pipx install "git+https://github.com/lusparkl/local_ai_assistant_jarvis.git"
- CUDA 12.6 install:
pipx install "git+https://github.com/lusparkl/local_ai_assistant_jarvis.git" --python 3.12 --pip-args "--extra-index-url https://download.pytorch.org/whl/cu126"
- PyPI (after release):
- Install Ollama runtime/CLI from
https://ollama.com/download(if not already installed). - Pull your configured LLM model:
ollama pull qwen3:8b
- Download required models and persist config:
jarvis setup
- Run full environment check:
jarvis doctor
- Start Jarvis:
jarvis run(orjarvis start)
What jarvis doctor checks
- Python version compatibility (
>=3.11and<3.14) - Required Python dependencies import correctly
- Microphone and speaker devices are available
- Audio stream settings are compatible with runtime config
- Required model files exist (wakeword + whisper)
- Ollama CLI/server/model availability (
ollama pull <model>) - Runtime storage paths and writable local data directories
All failures are reported with clear actionable messages.
Local data/config location
- Jarvis stores runtime files in
~/.jarvisby default. - Override location with
JARVIS_HOME. - Config file path:
~/.jarvis/config.json(override withJARVIS_CONFIG_PATH).
How to tweak this project for your own uses
Since I'm trying to write modular project It'll be easy to change modules as you want. You can completly change tts model or even switch to some api(what I'll totaly understand, because it might be really slow on weak PC's).
But the easisest way - add your tools. You can write tools that YOU really need, and I'm sure that there will be some, because I'm writing only tools that almost everyone needs. Now to add your tool you need:
- Create your file or write code in existing if theme is the same in the /tools
- Write your tool function that AI will use, you can use my functions as examples. And don't forget about commenting your function so AI will understand what it's for!!
- Import and add your tool to the services/manage_tools. You can disable tools by setting value in front of it's name to False btw
Your tool is now working!
Find a bug?
I'm sure that next few weeks this project will be all in bugs because I haven't even tested it perciselly by myself, only short conversations. So if you found a bug, please submit an issue using the issues tab above. I'll try to fix all issues as fast as possible!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file my_own_jarvis-0.1.0.tar.gz.
File metadata
- Download URL: my_own_jarvis-0.1.0.tar.gz
- Upload date:
- Size: 9.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ce836d66c6c6def677bd1501425b47fcd3490726f0629a2b5af0bb8292ce347b
|
|
| MD5 |
b533e9d186fcda030800861ad806f561
|
|
| BLAKE2b-256 |
cbce7e04828150d48b905d11c7fa2dec43f50d8f93a8e4ce76e1bcfb9639d941
|
File details
Details for the file my_own_jarvis-0.1.0-py3-none-any.whl.
File metadata
- Download URL: my_own_jarvis-0.1.0-py3-none-any.whl
- Upload date:
- Size: 9.3 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
794055edcc5aaeddb8de136c55f4008a6dc2c7ad44cbe5dc7cc84d828e1cd1b7
|
|
| MD5 |
4600739bd0de1c9786cb2475f3dc55cd
|
|
| BLAKE2b-256 |
ff0a8c5d089fb58321e0bb35522c1953b7071d9f50007adcb8f9d53e267584fd
|