npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

ragnexus

v1.1.0

Published

A deterministically safe RAG + Memory SDK built to run anywhere.

Readme

RagNexus

A lightweight, deterministic, and safe RAG (Retrieval-Augmented Generation) + Memory SDK for modern AI applications.

RagNexus serves as a powerful middleware layer between your LLM SDKs (like OpenAI or Vercel AI SDK) and your vector databases. It safely controls the prompt context window by managing contextual memory and neutralizing prompt injection attacks within ingested documents.

npm license

🚀 Features

  • 🛡️ Built-in Guardrails: 3-layer protection including instruction stripping, content sandboxing, and relevance threshold filtering.
  • 🧠 Memory Manager: Built-in priority-queued memory injection (supports Redis and In-Memory stores).
  • 🕸️ Native Crawlers: Built-in headless WebCrawler powered by Crawlee & Playwright to securely extract text from any public URL.
  • 🔌 Pluggable Architecture: Works natively with Vercel AI SDK, OpenAI, and Google Genkit. Swap out embeddings and vector stores easily.
  • Production Ready: Optimized for React Server Components, Next.js, and streaming API routes.

📦 Installation

npm install ragnexus

🚥 Quick Start (In-Memory)

Perfect for prototyping or small-scale applications where persistence isn't required.

import {
  createRag,
  InMemoryStore,
  InMemoryVectorStore,
  OpenAIEmbedder,
  OpenAIAdapter,
} from "ragnexus";
import OpenAI from "openai";

const embedder = new OpenAIEmbedder();
const rag = createRag({
  storage: {
    vector: new InMemoryVectorStore(embedder),
    memory: new InMemoryStore(),
  },
  embedder,
});

// Add knowledge
await rag.addDocuments([{ id: "1", text: "RagNexus makes RAG safe." }]);

// Securely inject context into OpenAI
const adapter = new OpenAIAdapter(rag);
const config = await adapter.getCompletionConfig({
  model: "gpt-4o",
  messages: [{ role: "user", content: "How does RagNexus help?" }],
});

const openai = new OpenAI();
const response = await openai.chat.completions.create(config);

💾 Infrastructure & Persistence

RagNexus is infrastructure-agnostic. You can use local Docker containers or connect to managed cloud services (Redis Cloud, Qdrant Cloud, Upstash, etc.) by passing your choice of client.

1. Redis (Persistent Memory)

Supports any Redis client (like ioredis) for storing user-specific context.

import Redis from "ioredis";
import { RedisMemoryStore } from "ragnexus";

// Connect to Local Docker or Cloud (Upstash/Redis Cloud)
const redisClient = new Redis(process.env.REDIS_URL);
const memoryStore = new RedisMemoryStore(redisClient);

2. Qdrant (Persistent Knowledge)

Use the official Qdrant client to connect to your cluster.

import { QdrantClient } from "@qdrant/js-client-rest";
import { QdrantVectorStore } from "ragnexus";

const qdrantClient = new QdrantClient({
  url: process.env.QDRANT_URL,
  apiKey: process.env.QDRANT_API_KEY,
});
const vectorStore = new QdrantVectorStore(qdrantClient, embedder);

3. Local Development with Docker

To make development easier, we provide a pre-configured Docker stack for Redis and Qdrant in the main repository.

# Start local infrastructure (from the root of the RagNexus repo)
./docker.sh
  • Redis: localhost:6379
  • Qdrant: localhost:6333

[!NOTE] If you are installing via npm, you can find these configuration files in the GitHub Repository.


🛠️ Contributing

RagNexus is designed to be extensible. If you want to build a new VectorStore adapter (e.g., Pinecone, Chroma) or an Embedder adapter, pull requests are welcome!

📄 License

MIT © RagNexus Team