README file from
GithubAtomic Insights
A plugin to support the process of creating atomic notes and connecting them via links in Obsidian.
Concept
This plugin analyzes the link structure within your vault using the Adamic Adar index and combines it with optional context signals (metadata and time) to suggest highly relevant notes. Its goal is to visualize objective connections based on your personal knowledge graph, rather than simple keyword matching.
Why Adamic Adar?
If two notes share a link to a "common" page that is linked to by many other notes, that connection might be coincidental. However, if they share a link to a "niche" page that is only pointed to by a few others, it suggests a much stronger and more specific alignment of thought.
The Adamic Adar algorithm assigns higher value to these "unique shared connections." As you build a more refined personal knowledge base, the resulting insights will more accurately reflect your own unique thinking patterns.
Growth of your Knowledge Base
This functionality relies on the accumulation of connections (links) between your notes. Therefore, it becomes more effective as your knowledge base matures. In the early stages or in a vault with few links, you may not see significant results.
If the suggestions do not meet your expectations, continue the practice of "recording thoughts in atomic units and connecting them purposefully." As the density of your links increases, the precision of the algorithm improves, allowing it to reveal objective connections that you might not have explicitly recognized.
Features
- Suggests related notes using the Adamic Adar index.
- Optional context signals: filename emoji, YAML frontmatter, date proximity, and edit-time co-occurrence (daily notes only).
- Adjustable weights: Graph vs Other, plus per-signal tuning inside Other.
- Excluded Folders setting with per-strategy semantics (see docs/SCORING.md).
- Dedicated sidebar view and a footer view under the current note.
- Supports native page previews (Cmd/Ctrl + Hover).
- Click to navigate and drag-and-drop to create wikilinks.
Usage
- Run
Open Atomic Insights Viewfrom the Command Palette. - The view in the right sidebar will update automatically based on your active note.
- Click an item to navigate, or drag an item into the editor to create a
[[Wikilink]]. - In Settings, configure
Adamic Adar ScoreandExcluded Foldersunder1. Graph Topology. Excluded Folders is applied per-strategy — see docs/SCORING.md for which strategies honor it. - Tune
Other (Non-Graph) Weightand the internal ratios for Emoji/YAML/Time/Edit Time in Settings.
External API
Atomic Insights also exposes a small runtime API on window.AtomicInsights after the plugin loads. This is useful for Obsidian CLI workflows, automation scripts, or debugging in the developer console.
For concrete terminal examples, see docs/OBSIDIAN_CLI.md.
Available methods
getRelatedNotes(path, options)returns ranked related notes for the specified file path.getActiveRelatedNotes(options)returns ranked related notes for the currently active markdown note.
Options
limitlimits the number of returned results. Default:20
Example
const result = await window.AtomicInsights.getRelatedNotes(
"Inbox/My Note.md",
{ limit: 10 }
);
if (result.status === "success") {
console.table(result.results.map((item) => ({
path: item.path,
score: item.score,
reasons: item.reasons?.join(", ") ?? ""
})));
} else {
console.error(result.message);
}
Error handling
The API returns a structured error object when the target file does not exist or when there is no active markdown note:
{
"status": "error",
"message": "File not found: Inbox/Missing Note.md"
}
Development
Build
npm run build
Test
npm test
Credits & Inspiration
This plugin is a complete rewrite of the original Graph Analysis plugin by @SkepticMystic. While the implementation is entirely new and focused solely on the Adamic Adar algorithm, the core concept and workflow were inspired by their pioneering work.
License
MIT