Skip to main content

Self-hosted semantic search and knowledge management for LLM-driven development

Project description

Nexus

CI PyPI version Python versions License: AGPL v3

A brass-ribbed crystal dome on a hilltop at dusk

Persistent memory and semantic search for Claude. Three storage tiers that survive across sessions, an event-sourced document catalog with typed links, and a specification-before-code workflow for tracking decisions. Local-first; no API keys required. Knowledge compounds across conversations instead of evaporating when the window closes.

Start here: How I actually use Nexus — the conceptual overview and the shape of the substrate. Then Installing Nexus — a ten-minute hands-on walkthrough from uv tool install through your first search.

Install for Claude

Three surfaces share one host substrate. Pick the one that matches how you use Claude.

Claude Desktop chat

Download conexus.mcpb from the latest release and double-click. Claude Desktop registers it under Settings → Connectors. Requires uv on the host PATH; deps resolve on first launch (~20s).

Claude Code (terminal)

/plugin marketplace add Hellblazer/nexus
/plugin install conexus@nexus-plugins

The plugin ships 13 specialized agents, 43 skills (RDR lifecycle, plan-centric retrieval, dev workflows), and 36 MCP tools split across two focused servers. Session hooks load project context at startup.

Claude Cowork

Works automatically once the conexus plugin is installed in Claude Code on the host. State round-trips bidirectionally with the host CLI through the T2 daemon.

For the full deployment story across all three surfaces (install, daemon lifecycle, drift detection, uninstall), see docs/desktop-deployment.md.

What it does

  • Persistent memory — three storage tiers (T1 session scratch, T2 SQLite memory bank, T3 semantic knowledge store) so Claude remembers across conversations.
  • Semantic search — index your code, docs, RDRs, and PDFs once; search by meaning afterward. Tree-sitter AST chunking across 23 languages, CCE prose chunking, PDF auto-routing.
  • Typed document catalog — Xanadu-inspired addressing with typed links (cites, implements, supersedes). Walk from a design doc to the code that implements it.
  • RDR: Research-Design-Review — write a spec before you code. Captures the problem, research, alternatives, and chosen approach. The corpus is searchable, so prior decisions surface during new design work.
  • Local-first — default install runs entirely on your machine with ONNX MiniLM + local ChromaDB. Voyage AI + ChromaDB Cloud are opt-in for higher-quality embeddings.

CLI quick-start

uv tool install conexus                  # install the nx CLI (built-in ONNX MiniLM embedder)
nx init                                  # guided: choose your local embedder (384 vs bge-768)
nx daemon t2 install --autostart         # register the T2 daemon (one-time)
nx doctor                                # verify installation
nx index repo .                          # index your repo + discover topics
nx search "how does retry work"          # semantic search, fully local

nx init presents the embedder choice (recommended bge-768, ~140 MB one-time download, for materially better local search, vs the bundled 384-dim MiniLM), adds the [local] extra for you when you pick bge-768, and migrates any pre-existing 384-dim collections safely. To request the higher-quality embedder directly at install time instead: uv tool install "conexus[local]".

The nx CLI provides direct access to all storage tiers, indexing, search, the catalog, and taxonomy. See Getting Started for a walkthrough, CLI Reference for every command and flag.

Updating

uv tool upgrade conexus                  # upgrade the nx CLI — PRESERVES your extras (e.g. [local])

Always upgrade with uv tool upgrade conexus. It retains the spec you installed with, so a [local] install stays a [local] install. Do not upgrade with uv tool install conexus --force / uv tool install conexus — that resets the install and drops [local], silently downgrading your embedder from 768-dim to 384-dim. With existing 768-dim collections that produces a dimension mismatch and search returns nothing. If you hit that, reinstall the extra: uv tool install --reinstall "conexus[local]".

When you update the Claude Code plugin (/plugin update), upgrade the CLI to the matching version at the same time so the two stay in lockstep.

Going deeper

If you want to... Read
Understand the architecture Storage Tiers, Architecture
Write an RDR RDR: Research-Design-Review
Index a repo or PDFs Repo Indexing
Configure or tune Configuration
Run in containers or Cowork Container Integration
Browse the docs tree docs/README.md
Read the conceptual story How I actually use Nexus
Walk through a fresh install Installing Nexus
Browse the full series Tensegrity blog

Prerequisites

Python 3.12+, uv, git. For hybrid search, ripgrep. For the Claude Code plugin, Node.js (the bundled sequential-thinking and context7 servers spawn via npx).

License

AGPL-3.0-or-later. See LICENSE.

Project details


Release history Release notifications | RSS feed

This version

5.9.1

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

conexus-5.9.1.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

conexus-5.9.1-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file conexus-5.9.1.tar.gz.

File metadata

  • Download URL: conexus-5.9.1.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for conexus-5.9.1.tar.gz
Algorithm Hash digest
SHA256 4aaf848d6f0c1963ceb8fabad91f22668781e52f85723f142cc2f64901298fb3
MD5 6901510e70105c56e460d5d663f60879
BLAKE2b-256 65056164c8bc36ea095c53da79de562584517b9d61232453a74f88a2d6ecb39b

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-5.9.1.tar.gz:

Publisher: release.yml on Hellblazer/nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file conexus-5.9.1-py3-none-any.whl.

File metadata

  • Download URL: conexus-5.9.1-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for conexus-5.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f245cfe0ced4e1aa81d0d342c49126b9d7c642c518427ad66d43c709f19b5954
MD5 92bcbfb24e52ebd43d2c348602d70387
BLAKE2b-256 274495afe5753174243a21185f820a117a86d3a8d65859c7b75ded8a7a182de2

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-5.9.1-py3-none-any.whl:

Publisher: release.yml on Hellblazer/nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page