Skip to content
aryanjsxPublic

Repository files navigation

Locus

A private, offline-first assistant for your PC

Type or speak a command. Locus does it, on your machine, without sending anything to the cloud.

Latest release PyPI Status Platform License XERJ Corpus Hub contributor

Download for Windows, macOS or Linux

Website · Why Locus · What it can do · Install · Quick start · Privacy · Docs

Why Locus?

Personal AI agents are exploding in popularity, but nearly all of them still route intelligence through cloud APIs. Your "personal" AI continues to depend on someone else's server. At the same time, Intelligence Per Watt research from Stanford's Hazy Research showed that local language models already handle 88.7% of single-turn chat and reasoning queries, with intelligence efficiency improving 5.3× from 2023 to 2025. The models and hardware are increasingly ready. What has been missing is the software stack to make local-first personal AI practical.

Locus is that stack. It is a framework for local-first personal AI, built around three core ideas: shared primitives for building on-device agents; evaluations that treat energy, FLOPs, latency, and dollar cost as first-class constraints alongside accuracy; and a learning loop that improves models using local trace data. The goal is simple: make it possible to build personal AI agents that run locally by default, calling the cloud only when truly necessary. Locus aims to be both a research platform and a production foundation for local AI, in the spirit of PyTorch.

What Locus can do

  • Chat on your PC: talk to a local AI model in the desktop app, your browser, or the terminal, by typing or by voice.
  • Attach files and images: drop documents (PDF, Word, Excel, PowerPoint, OpenDocument, EPUB, HTML, CSV, code, plain text and more) or images into a chat and ask about them. Images need a vision model such as qwen3.5 or gemma3.
  • Search the web: turn on Web search and Locus looks up your question online first, reads the top pages, and answers with numbered links to its sources. It's off until you turn it on, since it sends your question to a search engine.
  • Work with your files: read and write files and PDFs, search your own documents, run code in a sandbox, and remember facts between conversations.
  • Connect your apps: Gmail, Outlook, Google Calendar, Google Drive, Dropbox, Notion, Obsidian, GitHub, Slack and more, each only after you sign in.
  • Reply on messaging apps: run it as a bot on Telegram, Slack, Discord, WhatsApp, Teams, Signal, email, SMS and about 25 other channels.
  • Do tasks on its own: deep research reports, a daily morning digest, and agents that run on a schedule.
  • Measure itself: dashboards for energy use, speed, cost savings compared with cloud AI, and step-by-step traces of each answer.
  • Run the AI your way: Ollama (bundled with the desktop app), llama.cpp, vLLM, or Apple's on-device models, plus optional cloud models with your own API key.

Installation

Desktop app

The easiest way is the download button on the website. It detects your system and downloads the right installer directly. You can also pick a file from the latest release:

Platform File
Windows 10 and 11 (64-bit) Locus_<version>_x64-setup.exe or Locus_<version>_x64_en-US.msi
Windows 11 on ARM Locus_<version>_arm64-setup.exe
macOS 10.15 or later (Apple silicon and Intel) Locus_<version>_universal.dmg
Linux (x86-64) Locus_<version>_amd64.AppImage, .deb, or .rpm

8 GB of memory is enough for a small model; 16 GB runs noticeably better ones. A graphics card helps but isn't required.

On first launch, choose Ollama to run models on your PC (or point Locus at your own OpenAI-compatible server). Locus then sets itself up: it installs its private Python runtime, starts the bundled Ollama, and downloads a model sized for your RAM. You don't need to install git, Python, Rust, or Ollama yourself. First launch needs an internet connection and takes a few minutes; later launches start in seconds.

The desktop app checks for new releases and offers to install them.

Note

The installers aren't code-signed yet, so your OS warns you on first launch.

  • Windows: if SmartScreen blocks the installer, choose More info → Run anyway.
  • macOS: right-click Locus.app and choose Open, or allow it in System Settings → Privacy & Security. If macOS says the app is damaged, run xattr -cr /Applications/Locus.app.

Command line

Pick your platform and run one command. Each installer handles uv, the Python venv, Ollama, and a starter model, in about 3 minutes on broadband.

Platform One-liner
macOS · Linux · WSL2 curl -fsSL https://aryanjsx.github.io/Locus/install.sh | bash
Native Windows (PowerShell) irm https://aryanjsx.github.io/Locus/install.ps1 | iex

Then run locus to start. The Rust extension and larger models continue downloading in the background; locus doctor shows status.

Python package

Locus is also on PyPI as locus-assistant. It needs Python 3.10–3.13 and a running Ollama:

pip install locus-assistant

The package installs the locus command; the Python import name is locus.

Platform-specific notes (WSL2 setup, native-Windows scheduled-task service, desktop prerequisites, manual and contributor installs): see the installation docs.

Quick start

locus                          # start chatting (default: chat-simple)
locus gui                      # start the graphical browser interface
locus init --preset <name> --force  # replace config with a starter preset

locus gui starts the local API server and frontend, then opens the graphical chat interface in your default browser. It requires Node.js 22+ and is available from a source checkout; packaged desktop installers are available from the latest release.

Prefix locus ... with uv run, or source .venv/bin/activate first.

Run from a Windows source checkout

Install uv, Node.js 22+, and Ollama, then run these commands from the repository root in PowerShell:

uv sync --extra desktop
Push-Location frontend
npm install
Pop-Location
ollama pull qwen3:0.6b
uv run locus gui

If Ollama is not already running, start it in another terminal with ollama serve. The GUI should open in your browser.

To run the test suite from the repository root:

uv sync --extra dev
uv run pytest tests/ -v
Preset What it does
morning-digest-mac / morning-digest-linux / morning-digest-minimal Spoken daily briefing from email, calendar, health, news
deep-research Multi-hop research across indexed docs with citations
code-assistant Agent with code execution, file I/O, and shell access
scheduled-monitor Stateful agent on a schedule with memory
chat-simple Lightweight conversation, no tools

Example:

locus init --preset morning-digest-mac --force
locus connect gdrive          # one OAuth covers Gmail / Calendar / Tasks
locus digest --fresh          # generate and play your first briefing

Per-preset deep dives: morning digest · deep research · code assistant · scheduled monitor · chat simple · or the full quickstart guide.

Skills

Skills teach agents how to better use tools and improve their reasoning. Every skill is a tool — agents discover them from a catalog and invoke them on demand.

# Install skills from public sources
locus skill install hermes:arxiv
locus skill sync hermes --category research

# Use skills with any agent
locus ask "Use the code-explainer skill to explain this Python code: for i in range(5): print(i*2)"

# Optimize skills from your trace history
locus optimize skills --policy dspy

# Benchmark the impact
locus bench skills --max-samples 5 --seeds 42

Import from Hermes Agent (~150 skills), OpenClaw (~13,700 community skills), or any GitHub repo. Skills follow the agentskills.io open standard.

See the Skills User Guide and Skills Tutorial for details.

Built-in agents

Locus ships with eight built-in agents across three execution modes (on-demand, scheduled, continuous):

Agent Type What it does
morning_digest Scheduled Daily briefing from email, calendar, health, news — with TTS audio
deep_research On-demand Multi-hop research with citations across web and local docs
monitor_operative Continuous Long-horizon monitoring with memory, compression, and retrieval
orchestrator On-demand Multi-turn reasoning with automatic tool selection
native_react On-demand ReAct (Thought-Action-Observation) loop agent
operative Continuous Persistent autonomous agent with state management
native_openhands On-demand CodeAct — generates and executes Python code
simple On-demand Single-turn chat, no tools

See the User Guide and Tutorials for detailed setup instructions.

Full documentation—including Docker deployment, cloud engines, development setup, and tutorials—is at aryanjsx.github.io/Locus.

Privacy

  • Local by default: models run on your machine through Ollama or another local engine. Nothing goes to a cloud model unless you add your own API key.
  • No analytics: Locus ships with no analytics destination, so no usage data is sent anywhere. See telemetry for details.
  • Attachments stay local: attached files are read by Locus on your machine and kept in the app's own storage. Web search is off by default; when you turn it on, only your question goes to the search engine, never your files.
  • Opt-in connections: email, calendar, messaging and other services only work after you connect them, and the data you index stays on your machine.
  • Approval for risky actions: shell commands and similar tools go through an approval step first.

Community

Contributing

We welcome contributions! See the Contributing Guide for incentives, contribution types, and the PR process.

Quick start for contributors:

git clone https://github.com/aryanjsx/Locus.git
cd Locus
uv sync --extra dev
uv run pre-commit install
uv run pytest tests/ -v

Browse the Roadmap for areas where help is needed. Comment "take" on any issue to get auto-assigned.

Acknowledgments

Locus is a modified version of OpenJarvis, an open-source framework for local-first personal AI developed at Hazy Research and the Scaling Intelligence Lab at Stanford SAIL as part of Intelligence Per Watt. OpenJarvis is licensed under Apache 2.0; see NOTICE for details. Locus is an independent project and is not affiliated with or endorsed by Stanford or the OpenJarvis authors.

If you use the underlying research, please cite the OpenJarvis paper:

@misc{saadfalcon2026openjarvispersonalaipersonal,
      title={OpenJarvis: Personal AI, On Personal Devices}, 
      author={Jon Saad-Falcon and Avanika Narayan and Robby Manihani and Tanvir Bhathal and Herumb Shandilya and Hakki Orhun Akengin and Gabriel Bo and Andrew Park and Matthew Hart and Caia Costello and Chuan Li and Christopher Ré and Azalia Mirhoseini},
      year={2026},
      eprint={2605.17172},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2605.17172}, 
}

License

Apache 2.0

Releases

Packages

Contributors

Languages