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.0

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.0.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.0-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: conexus-5.9.0.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.0.tar.gz
Algorithm Hash digest
SHA256 9862b70f30e3a045a00998d9bff97e3ac6cfd34ae5d9d0cbb5195dce2b346fde
MD5 dfbbd18ed9975979fa329b4577fabacf
BLAKE2b-256 22f2b431bdcce90592154eff59db67fbe1d6832ec1189af6204d3540d014d265

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-5.9.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: conexus-5.9.0-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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 583e73f784491ed464f5cecb6b66574c03c5ab56d4e5f5c94593d25a399e007c
MD5 050b71961b2662698417efd32dd1e3b9
BLAKE2b-256 c7f2f480ff2f6baf8deab8b81624a30455b17a684835a7dcf721244956af8444

See more details on using hashes here.

Provenance

The following attestation bundles were made for conexus-5.9.0-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