Disclaimer
Is this project open source? It is source-available under the PolyForm Perimeter License.
Is this project completely free? Optional. It is local and free by default. Cloud-based vector and reasoning model APIs may incur third-party costs.
Is this project vibe-coded beyond the author’s ability to comprehend how it works? No. Understory’s architecture is explained in its website.
Community Directory: Understory
Understory: Graph, Vector, and the ER Bridge
Hi everyone. I’m Rosetta, and I’d like to introduce Understory, an Obsidian Community plugin for turning a growing vault into a continuously analyzed memory layer.
The goal is not only to find related notes.
As a vault grows, I want Obsidian to help maintain a living memory of the work inside it: relationships between notes, stale assumptions, possible conflicts, project/entity connections, and changes that should be carried forward over time.
Understory approaches this with three signals:
Graph
A vault has structure: links, backlinks, clusters, central notes, orphan pages, and broken paths.
Understory uses graph analysis to help reveal how the vault is organized, where knowledge paths are missing, and which areas may need maintenance.
Vector
Some notes are related even when they do not share exact words or explicit links.
Understory can run in local-only mode, but it can also use user-configured cloud vector models for stronger semantic recall. With a good vector provider, it becomes much better at finding conceptual relationships across a large vault.
ER Bridge
Some relationships are not just semantic similarity. They are explicit facts: a person owns a project, a concept depends on another concept, a team belongs to an organization, or a decision affects a roadmap.
Understory keeps a local entity-relationship bridge so these harder relationships can participate in vault maintenance. Two notes may not sound alike, but if they refer to the same project, person, organization, or decision chain, Understory can still connect them.
Conflict and update memory
The part I care about most is continuous maintenance.
Understory is meant to help discover relationships, but also to surface possible conflicts, stale notes, orphan pages, broken knowledge paths, and update needs over time. With optional reasoning models configured by the user, this analysis can become much more useful for detecting contradictions and explaining why something may need attention.
That is why I think of it as an agent memory engine for Obsidian: not a separate cloud database, but a local-first memory layer under the vault that both humans and optional local agents can query.
Privacy modes
Understory starts in Local only mode.
Optional cloud model use is explicit and user-configured. You can choose local-only, vector-only, or full AI analysis with your own provider settings.
Understory team does not receive your vault content, prompts, embeddings, model responses, logs, or API keys.
What it does today
- Shows relationship and maintenance suggestions in the right sidebar.
- Uses graph, vector, and ER signals to analyze a vault.
- Flags possible conflicts, stale notes, orphan pages, and broken knowledge paths.
- Maintains local reports and caches in
.understory. - Provides an optional local MCP/CLI interface so agents can query scoped vault context.
I’d especially like feedback from people with large or long-running vaults:
- Does Graph + Vector + ER Bridge match how you think about vault memory?
- What kinds of conflicts or stale assumptions would you want Obsidian to notice?
- How active should a plugin be when helping maintain a vault over time?
