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

Nexus is a lightweight knowledge management system for AI coding agents. It provides persistent memory and semantic search through tiered storage that preserves decisions, findings, and project knowledge across agent sessions. That knowledge compounds over time, becoming more valuable as the corpus grows.

Nexus includes RDR (Research-Design-Review), an integrated human-AI design and audit system. RDRs capture the reasoning behind technical decisions — problem, research, chosen approach, rejected alternatives — as structured, searchable documents that live in the repository alongside the code. Nexus indexes the RDR corpus so team members and their agents can quickly get up to speed on a project's design history and stay aligned as the codebase evolves.

What it does

Semantic search. Standard text search matches exact strings. Nexus matches by meaning: querying "how does authentication work" returns the auth middleware, the login handler, and the JWT validation — even when none contain the word "authentication."

nx index repo .                  # index current repo
nx search "error handling"       # finds try/catch, Result types, error middleware, logging
nx search "auth" --hybrid        # combine semantic + keyword matching

Persistent memory. Agents share ephemeral session context for inter-agent coordination, project-level decisions persist locally with full-text search, and cross-project knowledge is stored permanently with semantic retrieval.

nx scratch put "the bug is in the retry logic"    # T1: inter-agent session context
nx memory put --project myapp --title "DB choice"  "Chose Postgres over SQLite for concurrency"
nx store put --collection knowledge__myapp "API rate limit is 10k/min per the vendor docs"

Analytical queries. Go beyond simple search with multi-step retrieval and analysis. The /nx:query skill decomposes complex questions into plans that search across corpora, extract structured data, compare findings, and generate evidence-grounded summaries.

# Filter indexed PDFs by bibliographic metadata
nx search "consensus protocols" --where bib_year>=2024 --where chunk_type=table_page

# Backfill bibliographic metadata on an existing collection
nx enrich knowledge__papers --delay 0.5

Decision tracking. RDR documents record the reasoning behind technical choices and are searchable alongside code, so prior decisions surface automatically during new design work.

Quick Start

Requires Python 3.12–3.13 and uv.

uv tool install conexus          # install the nx CLI
nx doctor                        # verify installation
nx index repo .                  # index your repo (no API keys needed)
nx search "what does X do"       # semantic search, fully local

Update: uv tool update conexus

Works immediately with local ONNX embeddings — no accounts, no API keys. For higher-quality cloud embeddings (Voyage AI), see the cloud setup instructions.

For Claude Code, install the plugin:

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

See Getting Started for the full walkthrough.

Three tiers, one lifecycle

Different information has different lifetimes. Together the three tiers form an integrated memory system that extends agent context across sessions and projects.

Tier Purpose Storage API keys?
Scratch (T1) Inter-agent session context — coordination and knowledge sharing across agent invocations In-memory ChromaDB No
Memory (T2) Project-level persistence with full-text search Local SQLite + FTS5 No
Knowledge (T3) Permanent semantic knowledge — code, papers, docs, decisions searchable by meaning Local ChromaDB (default) or ChromaDB Cloud + Voyage AI No (local) / Yes (cloud)

Agents use all three tiers cooperatively. T1 enables inter-agent communication — sharing findings and preventing duplicate work within a session. T2 provides project decisions that constrain solutions. T3 surfaces how similar problems were resolved in other contexts. As the T3 knowledge base grows, it becomes the project's institutional memory — managing the information overload that accompanies complex designs and long-lived codebases.

What you can index

Code, documents, PDFs, and manual knowledge entries — anything that benefits from semantic search:

nx index repo .                          # code + docs + RDRs from a git repo
nx index pdf paper.pdf --collection knowledge__ml  # reference papers
nx store put --collection knowledge__ops "Redis maxmemory-policy: allkeys-lru for cache, noeviction for queues"

Repository indexing (nx index repo) is the most automated path. It classifies git-tracked files, chunks code into logical pieces via tree-sitter AST parsing across 31 languages, and embeds each chunk using local ONNX models by default, or Voyage AI models in cloud mode. Recently-touched files rank higher via git frecency scoring.

See Repo Indexing for details and .nexus.yml configuration.

RDR: Research-Design-Review

Complex features are bigger than what fits in working memory — yours or an LLM's. Without a locked specification, purpose drift sets in during implementation. An RDR is a specification document written before coding: it captures the problem, the research journey, competing options, and the chosen approach. Once accepted, the RDR is the stable target that implementation builds against. If the design proves wrong, abandon the code and iterate the RDR.

Each research finding is tagged with its evidence quality — verified against source code, supported by documentation only, or assumed — so readers know which conclusions are load-bearing and which need validation. The growing corpus is searchable, so prior decisions surface automatically when starting new design work.

RDR is fully optional. See RDR Overview for the full process.

Claude Code plugin

The nx/ directory is a Claude Code plugin that gives agents access to everything above. Install via the marketplace:

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

The plugin provides 17 specialized agents (including analytical operators for structured extraction, summarization, ranking, and comparison), 29 skills covering the RDR lifecycle, analytical query pipelines, and development workflows, session hooks for automatic context initialization, and MCP servers for structured storage access. Agents search indexed code before proposing changes, check prior RDR decisions before designing new features, and coordinate through standard pipelines (plan → implement → review → test) with built-in quality gates.

The plugin integrates with Beads for task tracking. See nx/README.md for the full plugin documentation.

CLI Reference

The nx command provides direct access to all storage tiers, indexing, and search.

Command What it does
nx search Semantic and hybrid search across indexed code, docs, and knowledge. Supports --where with =, >=, <=, >, <, != operators for metadata filtering
nx index Index git repos, PDFs, and markdown into searchable collections
nx enrich Backfill bibliographic metadata (year, venue, authors, citations) from Semantic Scholar
nx store Store, retrieve, export, and import knowledge entries
nx memory Per-project persistent notes (local, no API keys)
nx scratch Inter-agent session context (in-memory, no API keys)
nx collection Inspect and manage cloud collections
nx config Credentials and settings
nx doctor Health check — verifies dependencies, credentials, connectivity
nx hooks Install git hooks for automatic re-indexing on commit

Full details: CLI Reference.

Documentation

Document What it covers
Getting Started Install, local usage, Claude Code plugin, semantic search setup
CLI Reference Every command, every flag
Storage Tiers T1/T2/T3 architecture and data flow
Memory and Tasks T2 memory, beads integration, session context
Repo Indexing File classification, chunking pipeline, frecency scoring
Configuration Config hierarchy, .nexus.yml, tuning parameters
Architecture Module map, design decisions
Contributing Dev setup, testing, code style

RDR (Research-Design-Review):

  1. Overview — What RDRs are, when to write one, evidence classification
  2. Workflow — Create → Research → Gate → Accept → Close
  3. Nexus Integration — How storage tiers and agents amplify RDRs
  4. Templates — Minimal and full examples, post-mortem template
  5. Project RDR Index — All project RDRs with status

Prerequisites

License

AGPL-3.0-or-later. See LICENSE.

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

conexus-2.8.2.tar.gz (4.7 MB view details)

Uploaded Source

Built Distribution

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

conexus-2.8.2-py3-none-any.whl (160.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for conexus-2.8.2.tar.gz
Algorithm Hash digest
SHA256 690a46e4bea6cff6a533e057faa0888b0ebc127bda395c4c9659cfd9ce06b3fb
MD5 ab8076929c7040b131a0b1de9c2c7e19
BLAKE2b-256 521e494253044e0c77bcf8e604e32bc18e0e1fbbf30be0897c09b29490b18bde

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: conexus-2.8.2-py3-none-any.whl
  • Upload date:
  • Size: 160.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for conexus-2.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 79671d2e65a36c948f70bf88fda7d76bba0d67ed75f850f32dcfee1c3e71c4ea
MD5 23d91f930b9bdf7ee3970bd9ad0b5df0
BLAKE2b-256 698281ad2dab3ffa12bed3834af9775c72fe084a20db73b3f8d8ae8eab09dacf

See more details on using hashes here.

Provenance

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