Skip to content

Semantic Relations

Every layer so far reads what you wrote: literal matches, link structure, co-occurrence counts. This one reads meaning — it can tell that two notes are about the same thing even when they share no words at all.

It Is Free and On by Default

By default it runs entirely on your device, using Apple's built-in model: no network, no cost, and your note text never leaves the machine. That is why this whole layer works on the free tier.

You can switch to a remote model under Agent Behaviors → Semantic Index (OpenAI, Gemini, or a custom endpoint) for possibly better accuracy, at the cost of sending your text to that provider. Moving from on-device to remote asks for confirmation once — that is the moment your note text starts leaving the device.

Switching rebuilds the index

Two different models do not judge closeness the same way, and mixing their results is noise with no symptoms — results merely become inexplicable, with no error to go on. So the old index is discarded and rebuilt when you switch.

A note's info panel lists Related Notes, and crucially it labels where each came from — because the three differ completely in how much they should be trusted:

SourceBased onHow to read it
Shares N nodesBacklink structure you builtFact — you did connect both to the same concepts
SimilarCloseness in meaningThe model's judgement — worth a look, but it may only share a topic
Near-duplicateAlmost the same textEffectively two copies of the same content, usually a double clipping or a double import

Mixed together without labels, there would be no way to tell why Jotaid thinks two notes are related. The source label is not decoration — it is what makes the feature usable.

Why no similarity number is shown

A figure like 0.62 means nothing to you and only invites the question "where did that number come from". What actually helps is the source: shared backlinks are yours, closeness in meaning is a guess.

Similar Nodes

The graph's node panel carries a Similar Nodes section: concepts close in meaning to the current node that have never co-occurred with it.

It hunts the same quarry as link prediction — connections not yet made — on different evidence: prediction reads a node's position in your network, similar nodes read meaning. A pair flagged by both deserves attention first.

The section loads only after the panel is pinned, because it looks across your whole library — running that every time the pointer paused would make the graph sluggish.

Tag Suggestions

The same understanding of meaning drives tag suggestions: the tags on your most closely related notes are treated as votes on "what should this note be tagged". Entirely local, with no model call — see Tags.

Next Steps