Folder Scholar is an Electron desktop app that scans a local directory, extracts text from common document formats, and lets you chat with a local Ollama model about the contents of those files.
- Project name: Folder Scholar
- Repository name: folder-scholar
This keeps the product name readable while using a clean, standard git repository slug.
- Scans a local folder recursively.
- Extracts text from
pdf,csv,tsv,txt,md,json,html,xml,docx,xlsx,yaml,yml, andlogfiles. - Chunks the extracted text locally for retrieval.
- Uses Ollama for local chat generation.
- Uses semantic retrieval when an embedding model is available, and falls back to keyword retrieval when it is not.
- Install dependencies:
npm install-
Make sure Ollama is installed and running locally.
-
Pull a chat model and an embedding model. For example:
ollama pull qwen3:4b
ollama pull nomic-embed-text- Start the desktop app:
npm start- Use the Quick Installs panel to pull the recommended Ollama models from inside the app:
gemma4:e4bgemma4:26bnomic-embed-text
- Large files over 25 MB are skipped to keep the desktop app responsive.
- Very large folders are capped at 6,000 indexed chunks.
- If your embedding model is missing, scanning still works and chat uses keyword retrieval instead.
- Legacy binary Office formats such as
xlsare not supported in this version. - The bundled launcher clears
ELECTRON_RUN_AS_NODEbefore startup, which helps on shells where Electron has been forced into plain Node mode.
Run the small parser and chunking smoke test with:
npm run smokeBuild desktop artifacts with:
npm run dist:win
npm run dist:linux
npm run dist:macBuild everything supported by the current host with:
npm run dist:allNotes:
- On Windows,
dist:allbuilds Windows plus a Linuxtar.gzpackage. - On macOS,
dist:allcan build macOS directly and can build additional targets depending on your signing/toolchain setup. - macOS artifacts require a macOS host, per
electron-builder's platform limitations. - For full cross-platform packaging, use the
Desktop PackagesGitHub Actions workflow in.github/workflows/desktop-packages.yml. It builds Windows on Windows, macOS on macOS, and Linux on Linux, so the Linux job can produceAppImage,deb,rpm, andtar.gz. - The workflow can be started manually from the GitHub Actions tab or automatically by pushing a version tag such as
v0.1.0.