From 0fb7bf8dd941317e5aea448aed06b9f2652e96af Mon Sep 17 00:00:00 2001 From: Jon Saad-Falcon Date: Thu, 5 Mar 2026 20:52:15 +0000 Subject: [PATCH 1/3] feat: add auto-generated API reference via gen-files + literate-nav - Add gen-files and literate-nav mkdocs plugins - Create docs/gen_ref_pages.py (adapted from IPW) to auto-generate API reference pages - Replace 15 manual API nav entries with single auto-generated api-reference/ section - Add mkdocs-gen-files and mkdocs-literate-nav to docs extra dependencies Cross-pollinated from intelligence-per-watt docs patterns. Co-Authored-By: Claude Opus 4.6 --- docs/gen_ref_pages.py | 31 +++++++++++++++++++++++++++++++ mkdocs.yml | 23 ++++++----------------- pyproject.toml | 2 ++ 3 files changed, 39 insertions(+), 17 deletions(-) create mode 100644 docs/gen_ref_pages.py diff --git a/docs/gen_ref_pages.py b/docs/gen_ref_pages.py new file mode 100644 index 00000000..cd185750 --- /dev/null +++ b/docs/gen_ref_pages.py @@ -0,0 +1,31 @@ +"""Generate the code reference pages.""" +from pathlib import Path + +import mkdocs_gen_files + +nav = mkdocs_gen_files.Nav() +src = Path("src") + +for path in sorted(src.rglob("*.py")): + module_path = path.relative_to(src).with_suffix("") + doc_path = path.relative_to(src).with_suffix(".md") + full_doc_path = Path("api-reference", doc_path) + + parts = tuple(module_path.parts) + if parts[-1] == "__init__": + parts = parts[:-1] + doc_path = doc_path.with_name("index.md") + full_doc_path = full_doc_path.with_name("index.md") + elif parts[-1].startswith("_"): + continue + + nav[parts] = doc_path.as_posix() + + with mkdocs_gen_files.open(full_doc_path, "w") as fd: + identifier = ".".join(parts) + fd.write(f"::: {identifier}") + + mkdocs_gen_files.set_edit_path(full_doc_path, path) + +with mkdocs_gen_files.open("api-reference/SUMMARY.md", "w") as nav_file: + nav_file.writelines(nav.build_literate_nav()) diff --git a/mkdocs.yml b/mkdocs.yml index 80650f1c..57c7374a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -44,6 +44,11 @@ theme: plugins: - search + - gen-files: + scripts: + - docs/gen_ref_pages.py + - literate-nav: + nav_file: SUMMARY.md - mkdocstrings: default_handler: python handlers: @@ -145,23 +150,7 @@ nav: - Design Principles: architecture/design-principles.md - Security: architecture/security.md - Channels: architecture/channels.md - - API Reference: - - api/index.md - - SDK (Jarvis): api/sdk.md - - Core: api/core.md - - Engine: api/engine.md - - Agents: api/agents.md - - Memory: api/memory.md - - Tools: api/tools.md - - Intelligence: api/intelligence.md - - Learning: api/learning.md - - Traces: api/traces.md - - Telemetry: api/telemetry.md - - Benchmarks: api/bench.md - - Evals: api/evals.md - - Server: api/server.md - - Security: api/security.md - - Channels: api/channels.md + - API Reference: api-reference/ - Deployment: - Docker: deployment/docker.md - systemd (Linux): deployment/systemd.md diff --git a/pyproject.toml b/pyproject.toml index 18de6422..b928c5a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -84,6 +84,8 @@ docs = [ "mkdocs>=1.6", "mkdocs-material>=9.5", "mkdocstrings[python]>=0.25", + "mkdocs-gen-files>=0.5", + "mkdocs-literate-nav>=0.6", ] [project.scripts] From 25f0d0ca1e60ab6ec2004ef63939b7a261a982ec Mon Sep 17 00:00:00 2001 From: Gabriel Bo Date: Thu, 5 Mar 2026 13:14:42 -0800 Subject: [PATCH 2/3] fixing desktop set up backend --- docs/downloads.md | 22 +++++++++++++++------- docs/index.md | 16 ++++++++++++++-- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/docs/downloads.md b/docs/downloads.md index 83983f90..8ce51fed 100644 --- a/docs/downloads.md +++ b/docs/downloads.md @@ -11,8 +11,15 @@ OpenJarvis runs entirely on your hardware. Choose the interface that fits your w ## Desktop App -The native desktop app bundles Ollama (the inference engine) and the OpenJarvis Python backend -into a single installer. Download, open, and start chatting — no terminal required. +The desktop app is a native window for the OpenJarvis chat UI. All inference and backend +processing happens on your local machine — the app connects to the backend you start locally. + +!!! info "Backend required" + Start the backend before opening the desktop app. The quickstart script handles everything: + ```bash + git clone https://github.com/HazyResearch/OpenJarvis.git && cd OpenJarvis + ./scripts/quickstart.sh + ``` ### Download @@ -29,13 +36,14 @@ into a single installer. Download, open, and start chatting — no terminal requ ### What's included -The desktop app ships with: +The desktop app provides: -- **Ollama** sidecar — inference engine runs automatically in the background -- **OpenJarvis backend** — Python API server managed by the app -- **Full chat UI** — same interface as the browser app +- **Full chat UI** — same interface as the browser app, in a native window - **Energy monitoring** — real-time power consumption tracking -- **Telemetry dashboard** — token throughput, latency, and cost comparison +- **Telemetry dashboard** — token throughput, latency, and cost comparison vs. cloud models +- **System tray** — quick access without keeping a terminal open + +The backend (Ollama, Python API server, inference) runs separately on your machine. ### Build from source diff --git a/docs/index.md b/docs/index.md index 43296c5e..f80d3972 100644 --- a/docs/index.md +++ b/docs/index.md @@ -34,13 +34,25 @@ Everything runs on your hardware. Cloud APIs are optional. === "Desktop App" - Download the native desktop app — it bundles Ollama and the Python backend - so everything works out of the box. + The desktop app is a native window for the OpenJarvis UI. + The backend (Ollama + inference) runs on your machine — start it first, then open the app. + + **Step 1.** Start the backend: + + ```bash + git clone https://github.com/HazyResearch/OpenJarvis.git + cd OpenJarvis + ./scripts/quickstart.sh + ``` + + **Step 2.** Download and open the desktop app: [Download for macOS (Apple Silicon)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_aarch64.dmg){ .md-button .md-button--primary } Also available for [macOS (Intel)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64.dmg), [Windows](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64-setup.exe), [Linux (DEB)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.deb), and [Linux (RPM)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.rpm). See the [Downloads](downloads.md) page for details. + The app connects to `http://localhost:8000` automatically. + === "Python SDK" ```python From fdde659347917cc96c4f75a81bbcc5ac8ba64a06 Mon Sep 17 00:00:00 2001 From: Gabriel Bo Date: Thu, 5 Mar 2026 13:19:27 -0800 Subject: [PATCH 3/3] uploaded working dmg for macos, ubuntu, and windows --- docs/downloads.md | 10 +++++----- docs/index.md | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/downloads.md b/docs/downloads.md index 8ce51fed..3732392c 100644 --- a/docs/downloads.md +++ b/docs/downloads.md @@ -25,11 +25,11 @@ processing happens on your local machine — the app connects to the backend you | Platform | Download | Notes | |----------|----------|-------| -| macOS (Apple Silicon) | [:material-download: **OpenJarvis.dmg**](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_aarch64.dmg) | M1/M2/M3/M4 Macs | -| macOS (Intel) | [:material-download: **OpenJarvis.dmg**](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64.dmg) | Intel Macs (2020 and earlier) | -| Windows (64-bit) | [:material-download: **OpenJarvis-setup.exe**](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64-setup.exe) | Windows 10+ | -| Linux (DEB) | [:material-download: **OpenJarvis.deb**](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.deb) | Ubuntu, Debian | -| Linux (RPM) | [:material-download: **OpenJarvis.rpm**](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.rpm) | Fedora, RHEL | +| macOS (Apple Silicon) | [:material-download: **OpenJarvis.dmg**](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_aarch64.dmg) | M1/M2/M3/M4 Macs | +| Windows (64-bit) | [:material-download: **OpenJarvis-setup.exe**](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_x64-setup.exe) | Windows 10+ | +| Linux (DEB) | [:material-download: **OpenJarvis.deb**](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_amd64.deb) | Ubuntu, Debian | +| Linux (RPM) | [:material-download: **OpenJarvis.rpm**](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis-1.0.0-1.x86_64.rpm) | Fedora, RHEL | +| Linux (AppImage) | [:material-download: **OpenJarvis.AppImage**](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_amd64.AppImage) | Any distro | !!! tip "All releases" Browse all versions on the [GitHub Releases](https://github.com/HazyResearch/OpenJarvis/releases) page. diff --git a/docs/index.md b/docs/index.md index f80d3972..11c62d1c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -47,9 +47,9 @@ Everything runs on your hardware. Cloud APIs are optional. **Step 2.** Download and open the desktop app: - [Download for macOS (Apple Silicon)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_aarch64.dmg){ .md-button .md-button--primary } + [Download for macOS (Apple Silicon)](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_aarch64.dmg){ .md-button .md-button--primary } - Also available for [macOS (Intel)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64.dmg), [Windows](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_x64-setup.exe), [Linux (DEB)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.deb), and [Linux (RPM)](https://github.com/HazyResearch/OpenJarvis/releases/latest/download/OpenJarvis_amd64.rpm). See the [Downloads](downloads.md) page for details. + Also available for [Windows](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_x64-setup.exe), [Linux (DEB)](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis_1.0.0_amd64.deb), and [Linux (RPM)](https://github.com/HazyResearch/OpenJarvis/releases/download/desktop-latest/OpenJarvis-1.0.0-1.x86_64.rpm). See the [Downloads](downloads.md) page for details. The app connects to `http://localhost:8000` automatically.