Files
OpenJarvis/docs/getting-started/install.md
T
krypticmouseandClaude Opus 4.7 cf8d3e2cbe fix(install): serve install.sh from GitHub Pages, make it the canonical URL
The documented install command pointed at `https://openjarvis.ai/install.sh`,
but that domain is community-operated (not controlled by this project) and
its TLS config broke — every new user hit `sslv3 alert handshake failure`
(#337, #352). Since we can't fix a domain we don't control, this moves the
installer onto infrastructure we DO control: the project's GitHub Pages
docs site.

Changes:

- **`docs/gen_install_script.py`** (new) + **`mkdocs.yml`**: a `gen-files`
  hook copies `scripts/install/install.sh` verbatim into the built site at
  `install.sh` on every `mkdocs build`. Single source of truth — the script
  stays at `scripts/install/install.sh` (still bundled into the wheel as
  `_install_scripts/`); the published copy can't drift. Verified locally:
  `mkdocs build` emits `site/install.sh` byte-identical to the source.

  New canonical URL: `https://open-jarvis.github.io/OpenJarvis/install.sh`
  — HTTPS always valid (GitHub's cert), fully under project control.

- **`README.md`**: canonical command switched to the github.io URL for
  both the Installation and Quick Start blocks. Also addresses the uv
  discoverability gap — explicitly states the curl installer downloads uv
  for you (no prerequisite), and that the Windows **desktop .exe** expects
  uv to be installed first, with the exact PowerShell command.

- **`docs/getting-started/{install,wsl2,macos,linux}.md`**: canonical URL
  switched to github.io. `install.md` gains an "Install URL" info note
  explaining the github.io URL is canonical and that the older
  `openjarvis.ai` URL is community-operated with intermittent TLS issues.

- **`scripts/install/install.sh`** + **`jarvis-wrapper.sh`**: usage comment,
  the WSL re-run hint (added in #399), and the wrapper's re-install message
  all updated to the github.io URL.

Migration note for maintainers: ask whoever operates `openjarvis.ai` to
CNAME it to `open-jarvis.github.io`. Once they do, `openjarvis.ai/install.sh`
will serve this same GitHub Pages content with a valid GitHub-managed cert,
and the nicer brand URL can become canonical again with zero further code
changes. Until then, the github.io URL works and is under our control.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 19:05:26 +00:00

4.3 KiB

Installation

OpenJarvis ships a one-line installer for macOS, Linux, and WSL2.

curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash

The installer downloads everything for you — including uv (the Python package manager), the Python venv, Ollama, and a small starter model. You don't need to install uv or any other prerequisite first.

!!! info "Install URL" This script is served straight from the project's own GitHub Pages site, so HTTPS always works. You may also see https://openjarvis.ai/install.sh referenced in older docs — that domain is community-operated and has had intermittent TLS issues (#337). The open-jarvis.github.io URL above is the canonical one.

About 3 minutes on a typical broadband connection. Type jarvis to start chatting.

What the installer does

Phase Step Where
Foreground Install uv (Python package manager) ~/.cargo/bin/ or ~/.local/bin/
Foreground Clone OpenJarvis repo ~/.openjarvis/src/
Foreground Create Python 3.11 venv ~/.openjarvis/.venv/
Foreground uv pip install -e . (editable install) venv
Foreground Install Ollama system default
Foreground Start ollama serve systemd-user / launchd / nohup
Foreground Pull qwen3.5:2b (~1.5 GB) Ollama's model store
Foreground Write config.toml (auto-detected hardware + engine + model) ~/.openjarvis/config.toml
Foreground Symlink jarvis and jarvis-uninstall ~/.local/bin/
Foreground Add ~/.local/bin to PATH if missing (with on-screen notice) ~/.bashrc or ~/.zshrc
Background Install Rust toolchain via rustup ~/.cargo/
Background Build the maturin extension (memory + security features) venv
Background Pull hardware-tier and tier+1 models Ollama's model store

What the installer does NOT touch

  • Your existing Python installations
  • Your ~/.bashrc / ~/.zshrc other than appending one PATH line (with on-screen notice)
  • Your existing Ollama models
  • Any other tool or dotfile

Idempotent re-runs

Re-running the curl line is safe. The installer reads ~/.openjarvis/.state/install-state.json and skips completed steps. If your venv got nuked, re-running heals it.

Cloud quick-path

If any of these env vars are set when you install or run jarvis init, the installer/init proposes cloud as the default and writes the matching provider into config.toml:

  • OPENROUTER_API_KEY
  • ANTHROPIC_API_KEY
  • OPENAI_API_KEY
  • GOOGLE_API_KEY (or GEMINI_API_KEY)

Local-first remains the default when no key is in env. Precedence is OpenRouter > Anthropic > OpenAI > Google.

Flags

Flag Effect
--minimal Skip the foreground model pull. First chat will need to wait for the bg pull to finish.
--no-bg-orchestrator Don't detach the background work pipeline. (Mostly for testing.)
--force Re-run all steps even if install-state.json says they're done.

Environment overrides

Variable Default Purpose
OPENJARVIS_HOME $HOME/.openjarvis Install location.
OPENJARVIS_REPO_URL https://github.com/open-jarvis/OpenJarvis.git Source repo for the clone step.

Uninstall

jarvis-uninstall

Removes ~/.openjarvis/, ~/.local/bin/jarvis, and ~/.local/bin/jarvis-uninstall. Leaves Ollama, uv, and the Rust toolchain in place (they may be used by other tools); the script prints removal hints.

Updating

jarvis update

Pulls the latest source, refreshes the editable install, and rebuilds the Rust extension in the background. Models are not touched.

Troubleshooting

"command not found: jarvis"

~/.local/bin isn't on your PATH. Run source ~/.bashrc (or ~/.zshrc) or open a new terminal.

"memory features unavailable"

Rust extension hasn't finished building yet (or failed). Check status:

jarvis doctor

Manually retry:

~/.openjarvis/.scripts/install-rust.sh && ~/.openjarvis/.scripts/build-extension.sh

A bigger model failed to download

Check status and retry:

jarvis doctor
~/.openjarvis/.scripts/pull-model.sh qwen3.5:9b

Behind a corporate proxy

Set HTTPS_PROXY and CURL_CA_BUNDLE in your environment before running the installer.