Transforming disjointed notes into a persistent, evolving knowledge graph.
Graphifyish is a professional-grade, local-first knowledge engine. It moves beyond simple "chat" interactions by distilling raw text into structured concepts and relationships, automatically merging synonyms, and inferring hidden logical connections—all while keeping your data 100% private via LM Studio.
Building a knowledge graph is hard because AI is inconsistent. Graphifyish solves this through a 4-layer distillation process:
- Layer 1: Raw Ingestion – Drop any
.txtor.mdfile into the system. - Layer 2: Extraction & Refinement – AI extracts entities and relationships. We then run a Normalization Pass (lowercase/dedupe) and an optional Refinement Pass to prune "junk" connections.
- Layer 3: Shadow Deduping – The system uses string similarity and Semantic Reasoning to realize that "Solar PV" and "Photovoltaics" are the same thing, merging them into canonical concepts.
- Layer 4: Multi-hop Inference - The engine analyzes clusters of nodes (GraphRAG-ish) to discover relationships that weren't explicitly stated but logically follow.
- Node.js (v18+)
- LM Studio (Server started at
http://localhost:1234)
npm install
npm run setup # Interactively pick your loaded LM Studio modelDrop your files into the /raw directory and start the watcher:
node scripts/ingest.jsnode scripts/buildGraph.js --rebuild # Assemble the global graph
npm run infer # Discover hidden connections (Multi-hop)
node scripts/updateWiki.js --rebuild # Generate the human-readable Markdown WikiYou can tune the "intelligence" of your engine in config.json:
refinementPass: (Boolean) Enables a second-pass "cleanup" LLM call for every extraction.inference.enabled: (Boolean) Enables the multi-hop reasoning stage.inference.maxClusterSize: (Number) Controls the size of the graph neighborhoods analyzed by the AI.
raw/: Your original source documents.processed/: Layer 2 artifacts. JSON extractions with full provenance (linked back to filenames).graph/: The canonical "Truth" store (nodes.json,edges.json).wiki/: Navigable Markdown pages with Obsidian-style[[links]].prompts/: The "Brain." Highly-tuned prompts for extraction, refinement, and inference.
We don't trust the AI blindly. Every automated merge is saved in graph/merges.json. If the AI makes a mistake:
- Open
merges.jsonand delete the incorrect mapping. - Re-run
buildGraph.js. - The entities are separated, and the system learns your preference.
Based on architectural patterns from Safi Shamsi and Andrej Karpathy.