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>
This commit is contained in:
krypticmouse
2026-05-23 19:05:26 +00:00
co-authored by Claude Opus 4.7
parent bced6cc274
commit cf8d3e2cbe
9 changed files with 47 additions and 31 deletions
+2 -4
View File
@@ -2,7 +2,7 @@
# install.sh — OpenJarvis curl-pipe-bash installer.
#
# Usage:
# curl -fsSL https://openjarvis.ai/install.sh | bash
# curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash
#
# Flags (only used in tests / power users):
# --no-bg-orchestrator Skip the detached background orchestrator
@@ -49,9 +49,7 @@ OpenJarvis runs on Windows via WSL2. Two paths:
Open the Ubuntu shell that gets installed, then re-run:
curl -fsSL https://openjarvis.ai/install.sh | bash
(or the github mirror — see README if openjarvis.ai is down.)
curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash
2. Desktop app — download the .exe from the Releases page:
https://github.com/open-jarvis/OpenJarvis/releases
+1 -1
View File
@@ -7,7 +7,7 @@ VENV="$OPENJARVIS_HOME/.venv"
if [[ ! -d "$VENV" ]]; then
echo "jarvis: venv not found at $VENV" >&2
echo "Re-run the installer: curl -fsSL https://openjarvis.ai/install.sh | bash" >&2
echo "Re-run the installer: curl -fsSL https://open-jarvis.github.io/OpenJarvis/install.sh | bash" >&2
exit 1
fi