Skip to main content

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!

Jarvis Trailer

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 ollama is 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

  1. 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"
  2. Install Ollama runtime/CLI from https://ollama.com/download (if not already installed).
  3. Pull your configured LLM model:
    • ollama pull qwen3:8b
  4. Download required models and persist config:
    • jarvis setup
  5. Run full environment check:
    • jarvis doctor
  6. Start Jarvis:
    • jarvis run (or jarvis start)

What jarvis doctor checks

  • Python version compatibility (>=3.11 and <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 ~/.jarvis by default.
  • Override location with JARVIS_HOME.
  • Config file path: ~/.jarvis/config.json (override with JARVIS_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:

  1. Create your file or write code in existing if theme is the same in the /tools
  2. 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!!
  3. 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

my_own_jarvis-0.1.0.tar.gz (9.3 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

my_own_jarvis-0.1.0-py3-none-any.whl (9.3 MB view details)

Uploaded Python 3

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

Hashes for my_own_jarvis-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ce836d66c6c6def677bd1501425b47fcd3490726f0629a2b5af0bb8292ce347b
MD5 b533e9d186fcda030800861ad806f561
BLAKE2b-256 cbce7e04828150d48b905d11c7fa2dec43f50d8f93a8e4ce76e1bcfb9639d941

See more details on using hashes here.

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

Hashes for my_own_jarvis-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 794055edcc5aaeddb8de136c55f4008a6dc2c7ad44cbe5dc7cc84d828e1cd1b7
MD5 4600739bd0de1c9786cb2475f3dc55cd
BLAKE2b-256 ff0a8c5d089fb58321e0bb35522c1953b7071d9f50007adcb8f9d53e267584fd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page