finds.dev← search

// the find

garrytan/gbrain

★ 24,862 · TypeScript · MIT · updated Jul 2026

Garry's Opinionated OpenClaw/Hermes Agent Brain

GBrain is a personal and team knowledge management system that plugs into AI coding agents via MCP, giving them persistent queryable memory across sessions. It combines pgvector hybrid retrieval with a self-wiring knowledge graph that extracts typed entity edges on every page write — zero LLM calls. Built by Garry Tan to run his own agent deployments, open-sourced with the production numbers still in the README.

The hybrid retrieval stack is genuinely well-engineered: vector HNSW + BM25 + reciprocal-rank fusion + cross-encoder reranker + per-query graph signals. The claimed +31.4 P@5 lift over vector-only RAG is plausible given the architecture, and `gbrain search --explain` surfaces per-stage attribution so you can actually debug ranking. The dual-engine design (PGLite WASM for zero-config personal use, Postgres for teams) is a real quality-of-life decision — same MCP tools work against both without touching the CLI. The eval framework is unusually mature: LongMemEval integration, NamedThingBench hard-gated in CI, captured-replay for regression testing real queries. Most tools in this space ship with zero evals. The gap analysis in `gbrain think` — the brain explicitly flagging what it doesn't know and when data is stale — is the kind of honest design that makes a tool trustworthy in high-stakes contexts.

The troubleshooting section is long and very specific, which is a signal: sync wedges, wiki links silently dropped by the dream cycle, Windows DNS failures during migrations, tag reconciliation stomping enrichment tags, schema-pack regexes with ReDoS risk. A lot of these were found in production, not tests. The '30 minutes to a fully working brain' pitch requires you to already have an agent platform (OpenClaw or Hermes) deployed on Render or Railway before you paste the install URL — genuine chicken-and-egg for anyone starting from scratch. The knowledge graph depends on markdown wikilink syntax; ingest raw emails, Slack DMs, or voice transcripts and the graph stays sparse because unstructured content has no wikilinks, and entity extraction for those still needs LLM calls. The schema pack system has grown into something operators have to manage: seven-tier resolution chain, versioned packs, migration paths, atomic file locks, 14 CLI verbs — substantial overhead for someone who just wants their coding agent to remember what was discussed last week.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →