Building
At the end of this page you have run jade from source and built the installer. Windows is the only target that ships today.
Prerequisites
Section titled “Prerequisites”Python 3.12 or later, the Flutter SDK (stable channel, Windows desktop enabled), and Inno Setup 6 for the installer. The Dart SDK constraint is ^3.12.2.
Run from source
Section titled “Run from source”python -m venv .venv.venv\Scripts\activatepip install -e .copy .env.example .env # then fill in the valuesjade checkjade serve # http://127.0.0.1:8765 with UI_PORT=8765In another terminal:
cd flutter_appflutter run -d windowsThe app finds a running jade serve as a fallback. Install the ocr extra with pip install .[ocr] for local OCR, and .[dev] for PyInstaller and pytest.
Build the installer
Section titled “Build the installer”cd flutter_app && flutter build windows --releasecd ..python -m PyInstaller jade.spec --noconfirm"%LOCALAPPDATA%\Programs\Inno Setup 6\ISCC.exe" installer\jade.issThe output is dist\installer\Jade-Setup-<version>.exe. For a protected installer, add /DSetupPassword=<password> to the ISCC call. /DBackendDir=<path> points to another PyInstaller output folder. The password is never stored in the repository.
python -m pytest # tests in tests/unitcd flutter_app && flutter analyzeLayout
Section titled “Layout”flutter_app/ native Windows interfaceragagent/ backend: web/app.py (API and orchestration), ingest/, rag.py, hybrid.py, router.py, store.py, llm.py, websearch.py, memory.py, chat_store.py, ntfs.py, security.py, audit.py, filegen.py, updater.py, licensing.py, models_fetch.py, config.py, cli.pylicsrv/ licence server (internal)installer/ Inno Setup script and the scheduled update tasktests/unit/ backend tests| Layer | Technology |
|---|---|
| Interface | Flutter, http, flutter_markdown |
| Backend | Python 3.12+, FastAPI 0.139.0, Uvicorn 0.49.0 |
| Index | ChromaDB 1.5.9, fastembed 0.8.0 (ONNX, CPU), rank-bm25 |
| Parsing | python-docx, openpyxl, xlrd, pypdf, pypdfium2, extract-msg, odfpy |
| File creation | python-docx, python-pptx, openpyxl, reportlab |
| Outbound client | httpx 0.28.1 |
| Licences | PyJWT with Ed25519 |
| Packaging | PyInstaller, Inno Setup 6 |
Contributions: see CONTRIBUTING.md.