StackMap
Subscribe

context-mode vs xerj

Local plugin for 10 coding agents that runs tool calls in a sandbox, indexes full output in SQLite FTS5 and returns only what the agent asks for — ~99% fewer bytes in context, zero telemetry. — versus — One Rust binary for agent search: BM25, vector and hybrid search over code, docs, logs and PDFs, an Elasticsearch-compatible API, MCP, and Query-1, which answers by running programs over facts.

The curated verdict

Both index large output so agents search instead of reading. context-mode is a per-session plugin; XERJ a persistent search server.

context-modexerj
Stars34k19k
Forks2.3k1.4k
LanguageJavaScriptRust
LicenseNOASSERTIONApache-2.0
Last activityyesterdaytoday
Topicscoding, localrag, storage
Curated connections63

context-mode — the curator's take

Use it when long sessions die from tool-output bloat (logs, test runs, fetched pages) and you want the agent to search output rather than read it, across Claude Code, Codex, OpenCode and more. Skip it if you need an OSI license (it's ELv2, source-available) or your agent rarely produces large outputs; the hosted Gateway is a separate paid product, not needed for the plugin.

xerj — the curator's take

Use it when you want a single self-hosted search engine for agents across code, docs and data instead of Elasticsearch plus a vector DB, or when wrong answers are costly and you want UNKNOWN or CONFLICT instead of guesses. Skip it if you just need grep-replacement for one repo, since it is a whole engine to operate. The headline benchmark numbers come from the project itself.