Nexus = filesystem/context plane.
Project description
Nexus = filesystem/context plane.
⚠️ Beta: Nexus is under active development. APIs and deployment defaults may change.
What Nexus Does
Nexus gives agents one place to read, write, search, and carry context across files, services, and runs. The core abstraction is a VFS-style interface that can start local in-process and grow into a daemon-backed deployment when you need remote access, permissions, or multi-tenant control.
Quick Start
Install
pip install nexus-ai-fs
One-command demo (Docker)
nexus init --preset demo
nexus up
nexus demo init # seeds sample workspace + prints API key
This pulls the prebuilt Nexus image and starts it alongside PostgreSQL (pgvector), Dragonfly (cache), and Zoekt (code search). By default Nexus listens on localhost:2026; if that port is busy, nexus up auto-resolves to a free port and prints the actual URL. No Rust toolchain, no local build required.
Shared deployment
nexus init --preset shared
nexus up
Same services as demo (PostgreSQL, Dragonfly, Zoekt) with static auth and production-oriented defaults.
Local SDK (no Docker)
For in-process use without a daemon:
pip install nexus-ai-fs
from nexus.sdk import connect
nx = connect(config={"profile": "minimal", "data_dir": "./nexus-data"})
nx.sys_write("/hello.txt", b"Hello, Nexus!")
print(nx.sys_read("/hello.txt").decode()) # Hello, Nexus!
nx.close()
CLI usage
nexus write /workspace/hello.txt "hello from cli"
nexus cat /workspace/hello.txt
nexus ls /workspace
Docker image
The prebuilt multi-arch image (amd64 + arm64) is published to GHCR:
ghcr.io/nexi-lab/nexus:latest # Latest release (CPU-only PyTorch)
ghcr.io/nexi-lab/nexus:<version> # Pinned to a specific release
nexus init pins the image tag to the installed CLI version. To build locally from source instead of pulling, pass --build to nexus up. A CUDA variant (ghcr.io/nexi-lab/nexus:<version>-cuda) is also published for GPU-accelerated workloads — set image_tag in nexus.yaml to use it.
Optional Capabilities
- Semantic search:
pip install "nexus-ai-fs[semantic-search]" - Rust acceleration:
pip install nexus-fast - Full dev/test environment:
uv sync --extra dev --extra test - Rust extensions from source:
uv pip install maturin && maturin develop --release -m rust/nexus_pyo3/Cargo.toml - Raft federation extensions:
maturin develop --release -m rust/nexus_raft/Cargo.toml --features full
Troubleshooting
ModuleNotFoundError: No module named 'nexus': installnexus-ai-fsfrom PyPI or useuv pip install -e .in a source checkout.maturin develop --releasefails at the repo root: pointmaturinat a crate manifest underrust/, not the workspace rootCargo.toml.Rust BLAKE3 extension not available: optional performance path. The default uses the Pythonblake3package.faiss-cpuresolution fails: opt intosemantic-searchonly on platforms with compatibletxtai/faiss-cpuwheels.
For the full walkthrough, see the quickstart page.
Three Landing Paths
- Local SDK: In-process filesystem/context plane — no daemon, no Docker. Docs: Local SDK path
- Shared daemon: Long-lived
nexusdservice with remote clients, permissions, and operational controls. Docs: Shared daemon path - Architecture: Kernel, storage, and proposal docs for contributors. Docs: Architecture path
Trust Boundaries
- The demo preset runs a single-node stack (Nexus + PostgreSQL + Dragonfly + Zoekt) with default credentials — suitable for evaluation, not production.
- Remote SDK access uses the
remoteprofile and depends on a runningnexusdplus a configured gRPC port. - Permissions, memory, and federation are deployment capabilities configured via the
sharedor custom presets.
Architecture
┌──────────────────────────────────────────────────────────────┐
│ SERVICES (user space) │
│ Loadable at runtime. ReBAC, Auth, Agents, Search, Skills… │
└──────────────────────────────────────────────────────────────┘
↓ protocol interface
┌──────────────────────────────────────────────────────────────┐
│ KERNEL │
│ VFS, MetastoreABC, ObjectStoreABC, syscall dispatch, │
│ pipes, lock manager, three-phase dispatch (LSM hooks) │
└──────────────────────────────────────────────────────────────┘
↓ dependency injection
┌──────────────────────────────────────────────────────────────┐
│ DRIVERS │
│ redb, S3, PostgreSQL, Dragonfly, LocalDisk, gRPC… │
└──────────────────────────────────────────────────────────────┘
| Tier | Linux Analogue | Nexus | Swap time |
|---|---|---|---|
| Kernel | vmlinuz (scheduler, mm, VFS) | VFS, MetastoreABC, syscall dispatch | Never |
| Drivers | Compiled-in drivers (=y) |
redb, S3, PostgreSQL, SearchBrick | Config-time (DI) |
| Services | Loadable kernel modules (insmod/rmmod) |
23 protocols — ReBAC, Mount, Auth, Agents, … | Runtime |
Invariant: Services depend on kernel interfaces, never the reverse. The kernel operates with zero services loaded.
Four Storage Pillars
Storage is abstracted by capability (access pattern + consistency guarantee), not by domain:
| Pillar | ABC | Capability | Kernel role |
|---|---|---|---|
| Metastore | MetastoreABC |
Ordered KV, CAS, prefix scan, optional Raft SC | Required — sole kernel init param |
| ObjectStore | ObjectStoreABC |
Streaming blob I/O, petabyte scale | Interface only — mounted dynamically |
| RecordStore | RecordStoreABC |
Relational ACID, JOINs, vector search | Services only — optional |
| CacheStore | CacheStoreABC |
Ephemeral KV, Pub/Sub, TTL | Optional — defaults to NullCacheStore |
Deployment Profiles (Distros)
Same kernel, different service sets — like Linux distros:
| Profile | Linux Analogue | Target | Services |
|---|---|---|---|
| minimal | initramfs | Bare minimum | 1 |
| embedded | BusyBox | MCU, WASM (<1 MB) | 2 |
| lite | Alpine | Pi, Jetson, mobile | 8 |
| full | Ubuntu Desktop | Desktop, laptop | 21 |
| cloud | Ubuntu Server | k8s, serverless | 22 (all) |
| remote | NFS client | Client-side proxy | 0 |
See Kernel Architecture for the full design.
Examples
| Framework | Description | Location |
|---|---|---|
| CrewAI | Multi-agent collaboration | examples/crewai/ |
| LangGraph | Permission-based workflows | examples/langgraph_integration/ |
| Claude SDK | ReAct agent pattern | examples/claude_agent_sdk/ |
| OpenAI Agents | Multi-tenant with memory | examples/openai_agents/ |
| Google ADK | Agent Development Kit | examples/google_adk/ |
| CLI | 40+ shell demos | examples/cli/ |
Contributing
git clone https://github.com/nexi-lab/nexus.git
cd nexus
uv python install 3.14
uv sync --extra dev --extra test
uv run pre-commit install
uv run pytest tests/
If you are working on the txtai search stack, add --extra semantic-search.
License
© 2026 Nexi Labs, Inc. Licensed under Apache License 2.0 — see LICENSE for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nexus_ai_fs-0.9.2.tar.gz.
File metadata
- Download URL: nexus_ai_fs-0.9.2.tar.gz
- Upload date:
- Size: 2.4 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9274b00f83c299f34ccd9d192c9b4c227f8b76425609db4e8c18688feb9a2ea
|
|
| MD5 |
f6d775046e2af9cd4b01b631ab7f8fe8
|
|
| BLAKE2b-256 |
9f751a2e746133864815fef1f02d1d919a190d83a5fe893e78d77a6d2456ab1c
|
File details
Details for the file nexus_ai_fs-0.9.2-py3-none-any.whl.
File metadata
- Download URL: nexus_ai_fs-0.9.2-py3-none-any.whl
- Upload date:
- Size: 2.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
36a34e18297d84172bc22ed7b7ea082c6832399f3837e988b505c9d0cede34b6
|
|
| MD5 |
6ce14eaf3212be88f2c3e9cf7dfcff20
|
|
| BLAKE2b-256 |
bc056102d08fbfc273a620d42c6ae9cef6caef3dab2950e14de8a80fb88ca85a
|