{"adoption": {"forks": 4322, "observed_at": "2026-08-28T04:11:53.048273+00:00", "stars": 29146}, "canonical_url": "https://ross.abutalabs.com/products/gbrain", "card": {"archived": false, "artifact_type": "library", "description": "Garry's Opinionated OpenClaw/Hermes Agent Brain", "domain": ["artificial-intelligence", "large-language-models", "databases", "developer-tools"], "enriched": true, "function": ["rag", "search-engine", "vector-database", "agent-framework", "nlp", "llm-inference", "scheduling", "webhook"], "health_score": 100, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "active", "member_repos": ["garrytan/gbrain"], "name": "garrytan/gbrain", "platform": ["self-hosted", "cli"], "pushed_at": "2026-08-26T20:52:13+00:00", "repo": "garrytan/gbrain", "stars": 29146, "tags": ["knowledge-graph", "personal-knowledge-base", "memory-layer", "entity-extraction", "citation-synthesis", "gap-analysis", "company-brain", "agent-memory", "graph-traversal", "autonomous-agents", "ai-agents", "retrieval-augmented-generation", "search", "knowledge-graphs", "nodejs", "typescript", "docker"], "topics": [], "urls": [], "use_cases": ["give my AI agent persistent memory across meetings and emails", "build a personal knowledge base that answers questions with citations", "query who works at a company or who invested in what from my notes", "set up a shared company brain with per-user access scoping", "wire a retrieval layer into Claude Code or Codex", "run an autonomous agent that ingests and enriches data overnight", "find gaps in what my knowledge base doesn't know yet"], "what_it_is": "GBrain is a self-hosted 'brain layer' for AI agents that combines a knowledge graph, vector search, and a synthesis engine to return cited answers rather than raw search results. It ingests meetings, emails, tweets, and voice calls, extracts entities and typed relationships without LLM calls, and can run autonomously on cron schedules or plug into coding agents like Claude Code as a retrieval layer.", "when_to_avoid": ["you only need simple keyword search or a plain vector store without synthesis", "you want a fully managed cloud service rather than running your own database and hardware", "you need a mature, independently audited product rather than an opinionated personal project"], "when_to_choose": ["you want an agent memory layer that combines graph traversal, vector search, and synthesized answers in one self-hosted package", "you need entity-relationship queries (works_at, invested_in, founded) that plain RAG can't answer", "you want per-user scoped institutional memory for a team with verified access isolation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/gbrain", "repo": "garrytan/gbrain", "role": "main", "score": 77}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:11:53.048273+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-29T16:53:10.610246+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "96a93bf693be6a6ae9553a2e8874a74a5b6252c3f018aeb1c2a445ffd07392bd", "fetched_at": "2026-08-28T04:11:53.048273+00:00", "kind": "readme", "missing": false, "url": "https://github.com/garrytan/gbrain"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 10, "rhythm": 87}, "computed_at": "2026-09-03T02:39:23.370411+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 150, "days_push": 7, "days_rel": 7, "gap_med": 0, "n_releases_24m": 68}, "score": 77, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}