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.
Website · Why Locus · MVP scope · Safety · Requirements · Tech stack · Roadmap · 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.
Installation
Pick your platform and run one command. Each installer handles uv, the Python venv, Ollama, and a starter model — about 3 minutes on broadband.
| Platform | One-liner |
|---|---|
| macOS · Linux · WSL2 | curl -fsSL https://aryanjsx.github.io/Locus/install.sh | bash |
| Native Windows | irm https://aryanjsx.github.io/Locus/install.ps1 | iex |
| Desktop GUI | Download .exe / .dmg / .deb / .rpm / .AppImage from the latest release |
Then locus to start. The Rust extension and larger models continue downloading in the background; locus doctor shows status.
Platform-specific notes (WSL2 setup, native-Windows scheduled-task service, desktop prerequisites, manual / contributor install): 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 ...withuv run, orsource .venv/bin/activatefirst.
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 — at aryanjsx.github.io/Locus.
Community
- GitHub: github.com/aryanjsx/Locus
- Discussions: github.com/aryanjsx/Locus/discussions
- Docs: aryanjsx.github.io/Locus
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
Metadata
Release files for locus-assistant 1.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| locus_assistant-1.0.3.tar.gz | 16.9 MB | Without provenance | Details for locus_assistant-1.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| locus_assistant-1.0.3-py3-none-any.whl | Python 3 | none | any | Details for locus_assistant-1.0.3-py3-none-any.whl |
Total release size: 21.2 MB
Release files / locus_assistant-1.0.3.tar.gz
| Download URL | locus_assistant-1.0.3.tar.gz |
|---|---|
| Size | 16.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2ad3409d424eb96c0fae1a1b9e17764aedda40a9d30780295ea05b875ae00187
|
|
BLAKE2b-256 checksum How to use checksums |
87ed89ccb0cd6137a91b5e832e09b4632f349362ec3c4f30f431090589be05d9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / locus_assistant-1.0.3-py3-none-any.whl
| Download URL | locus_assistant-1.0.3-py3-none-any.whl |
|---|---|
| Size | 4.3 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
120b59b6614159f321e55b606ad0078a406e7ee165f98f532010bd250c3d6a7a
|
|
BLAKE2b-256 checksum How to use checksums |
9244985ebe0e1347e48487b76c0d1869fbdface92d9d1f7c46f0050208c62709
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.6 {"installer":{"name":"uv","version":"0.13.6","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for locus-assistant 1.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.