Agent memory and context

raphaelmansuy/

edgequake

GraphRAG in Rust: one binary, one Postgres, any LLM. Turns documents into a knowledge graph for retrieval that tracks relationships, not just similar chunks.

What’s new here

EdgeQuake compiles the LightRAG algorithm to a single Rust binary and uses PostgreSQL 16/17/18 with pgvector and Apache AGE as the only datastore. No separate vector DB or graph DB is required. The README publishes benchmark numbers honestly: accuracy ties the Python LightRAG reference (0.792 vs 0.786 on GraphRAG-Bench medical-mid, a statistical tie at 95% CI), cold query latency is roughly equal, but warm queries with caching drop to 82 ms vs 993 ms. The production shell around the algorithm, including multi-tenant auth, versioned migrations, an MCP server and a web UI, is where the repo adds scope beyond the research implementation.

What it does

EdgeQuake ingests documents (PDF, with text or vision mode), runs LLM-driven entity and relation extraction, and stores the result as a knowledge graph. At query time it combines vector search over embeddings with graph traversal over entities and their relationships.

Six retrieval modes let you tune the trade-off: naive for keyword-style lookups, local for specific entities and neighbors, global for cross-document themes, hybrid (the default) for balanced answers, mix for a weighted vector-plus-graph blend, and bypass for direct LLM with no retrieval.

Around the core algorithm the repo ships:

  • A web UI and REST API with OpenAPI 3.0 and SSE streaming
  • An MCP server for agent access
  • SDKs for Python, TypeScript, Rust, Go, Java, Kotlin, C#, PHP, Ruby and Swift
  • Multi-tenant workspace isolation with built-in auth, SSO via Keycloak/OIDC, and audit logging
  • Explicit, replay-tested database migrations (edgequake migrate, never auto-run)
  • edgequake doctor to check DB, schema, roles and provider reachability

Who it’s for

Teams that want graph-aware retrieval in production without operating a zoo of datastores. Also works for individuals running fully local setups: the quickstart wizard detects Ollama, LM Studio, oMLX, MLX-LM and llama.cpp. You need Docker; you do not need Rust installed.

Try it

Needs: Docker. No Rust, Node.js or build step required.

curl -fsSL https://raw.githubusercontent.com/raphaelmansuy/edgequake/edgequake-main/quickstart.sh | sh

Open http://localhost:3000. The wizard asks for a provider (local or cloud). For a headless or CI run:

quickstart.sh --yes --provider ollama
quickstart.sh --yes --provider omlx --base-url http://host.docker.internal:9050

Pin a version: EDGEQUAKE_VERSION=0.34.0 sh quickstart.sh.

Upload a document and run a query:

curl -X POST http://localhost:8080/api/v1/documents/upload -F "file=@your-document.pdf"
 
curl -X POST http://localhost:8080/api/v1/query \
  -H "Content-Type: application/json" \
  -d '{"query": "What are the main concepts?", "mode": "hybrid"}'

Swagger UI is at http://localhost:8080/swagger-ui. Health endpoint: http://localhost:8080/health.

How mature is it

2,224 stars, 264 forks, 13 contributors. At least 100 releases (the API cap), latest v0.35.0 on 2026-10-12. More than 100 commits in the last 90 days (capped). 14 open issues, 42 open PRs. Last push 2026-10-13. License: Apache-2.0.