mirror of
https://github.com/open-jarvis/OpenJarvis.git
synced 2026-07-28 05:12:26 +00:00
Closes Phase-1 of #298 (Native Windows Support RFC). Reverses the long-standing "native Windows is not supported" stance. PowerShell installer at `deploy/windows/install.ps1` (published to https://open-jarvis.github.io/OpenJarvis/install.ps1) plus a `jarvis-service.ps1` scheduled-task helper that mirrors `deploy/systemd/openjarvis.service` and `deploy/launchd/com.openjarvis.plist`. Loopback default (127.0.0.1, no API key) — same as launchd. One-liner install: irm https://open-jarvis.github.io/OpenJarvis/install.ps1 | iex Adversarial review caught and fixed two real bugs pre-commit: 1. `irm | iex` drops `param()` flags — added env-var fallbacks (OPENJARVIS_SKIP_SERVICE / OPENJARVIS_SERVICE / OPENJARVIS_FORCE). 2. Scheduled tasks don't inherit the registering session's env — the LAN-exposed `OPENJARVIS_API_KEY` path now persists the key to User scope so the task's logon environment can read it. Supersedes #434 (the guidance-only "use WSL2" install.ps1). Massive thanks to @SeCuReDmE-main-dev for the careful RFC #298 — the three-phase decomposition (install / service / shared-memory bridge) is exactly the right framing. This PR ships Phase-1 and Phase-2 of the RFC fused into one release; Phase-3 (shared memory bridge) remains future work. Thanks also to @KadenBordeaux for raising #334 ("'bash' is not recognized as the name of a cmdlet"). That report is what made this whole Windows-support cluster a priority — without your bug report the unsupported stance would still be in the README. The friction you hit motivated #432 (numpy/python cap), #433 (CLI startup resilience), #436 (python discovery helpers), #437 (desktop launcher fix), and this PR. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
"""Publish the canonical install scripts into the docs site.
|
|
|
|
Serves the installers at::
|
|
|
|
https://open-jarvis.github.io/OpenJarvis/install.sh (Linux / macOS / WSL2)
|
|
https://open-jarvis.github.io/OpenJarvis/install.ps1 (native Windows)
|
|
|
|
so users have an HTTPS-valid, project-controlled install URL that does not
|
|
depend on the externally-hosted ``openjarvis.ai`` domain — whose TLS config
|
|
broke and which the project does not control (issue #337).
|
|
|
|
Single source of truth: the scripts live under ``scripts/install/`` and
|
|
``deploy/windows/`` (also bundled into the wheel as ``_install_scripts/``).
|
|
This copies them verbatim into the built site on every ``mkdocs build``,
|
|
so the published copies can never drift from the canonical ones.
|
|
"""
|
|
|
|
from pathlib import Path
|
|
|
|
import mkdocs_gen_files
|
|
|
|
# (source path, published URL path)
|
|
_SCRIPTS = [
|
|
(Path("scripts/install/install.sh"), "install.sh"),
|
|
(Path("deploy/windows/install.ps1"), "install.ps1"),
|
|
]
|
|
|
|
for src, dest in _SCRIPTS:
|
|
with mkdocs_gen_files.open(dest, "wb") as out:
|
|
out.write(src.read_bytes())
|