About slorg

A small AI search engine that does its planning in the LLM and its retrieval in SearxNG — in that order, every time.

What it is

slorg (npm package name: lorg) is an open-source project from Skelf-Research. It ships as a Node.js package and runs in three modes: a CLI (lorg "…"), a REST server (lorg server -p 3000), and a library import (import LorgSearch from 'lorg'). Requires Node 18+ and an OpenAI-compatible API key.

What the pipeline actually does

The README documents six fixed steps. They run in order on every search:

  1. Draft answer — GPT writes an initial answer from its training data, with no web access.
  2. Knowledge graph — entities and relationships are extracted from the draft into a structured graph.
  3. Keyword extraction — search terms are derived from the graph rather than from the user prompt directly.
  4. Multi-engine search — SearxNG runs those keywords against Google, Bing, Yahoo, and DuckDuckGo (default; configurable).
  5. Content fetch and analysis — each candidate URL is fetched and the readable content extracted.
  6. Relevance scoring — GPT scores each fetched page 0–1 against the original query; the top N are returned.

Three of those six steps (1, 3, 6) call the LLM. The number of LLM round-trips per search is therefore at least three, plus whatever scoring concurrency you configure. That is the cost model.

What "thinks before it searches" does not mean

Configuration surface

Five environment variables, listed in the README:

HTTP surface

When run as a server, slorg exposes POST /search with a JSON body {"query": "…"}. The response shape mirrors the library return: answer, knowledgeGraph, keywords, results[] (each with title, source, score, content), and tokenCount.

License and source

MIT. The source of truth is github.com/skelf-research/slorg. Published as npm:lorg. Documentation lives at docs.skelfresearch.com/slorg/.

Who built it

Skelf-Research is a small research group that publishes practical, narrowly-scoped tooling. slorg is one of those tools. Issues and pull requests on the GitHub repository are the canonical channel.