Vault Insights

pending

by Tomas Gear

Generate daily summaries, aggregate todos, analyze topics, and visualize your vault content.

Updated 1mo agoMITDiscovered via Obsidian Unofficial Plugins
View on GitHub

Vault Insights

Generate actionable insights from your Obsidian vault - daily/weekly summaries, aggregated todo lists, topic analysis, and content visualizations.

No external services. No API keys. Fully offline.

Features

Daily & Weekly Summaries

Automatically generate markdown notes summarizing your vault activity:

  • Notes created and modified in the period
  • Scheduled generation at a configurable time
  • Choose calendar weeks (Sun–Sat) or rolling lookback windows
  • Word count tracking with "Most Active Note" highlight
  • Task completion statistics
  • Topic distribution with Mermaid charts
  • Direct links to touched notes
  • Navigation links between daily and weekly summaries
  • Optional AI-powered summaries via local Ollama
  • Auto-opens generated notes in the editor

Aggregated Todo List

Create a unified task list from your entire vault or specific folders:

  • Extract all - [ ] and - [x] tasks
  • Group by source file, due date, or tag
  • Smart sorting by due date (earliest first)
  • Overdue highlighting with warning callouts
  • Track completion progress with visualization
  • Support for due date syntax (πŸ“… 2024-01-26 or due:: 2024-01-26)
  • Toggle completed tasks visibility

Topic Frequency Analysis

Understand what you write about most:

  • Tag frequency across your vault
  • Heading patterns (H1 and H2)
  • Internal link analysis
  • Visual charts showing topic distribution
  • Optional AI-powered topic extraction via Ollama

Content Visualization

Charts embedded directly in your generated notes:

  • Pie/doughnut charts: Content distribution by topic or folder
  • Bar charts: Topic frequency, daily activity
  • Timelines: Note creation over time
  • Tables: Ranked topic listings

Two rendering engines available:

  • Mermaid (default) β€” Native Obsidian support, zero dependencies, works on mobile
  • Chart.js β€” Interactive canvas-based charts with hover tooltips, theme-aware colors

Installation

From Community Plugins (Recommended)

  1. Open Obsidian Settings
  2. Go to Community Plugins β†’ Browse
  3. Search for "Vault Insights"
  4. Click Install, then Enable

Manual Installation

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Create a folder vault-insights in your vault's .obsidian/plugins/ directory
  3. Copy the downloaded files into this folder
  4. Restart Obsidian and enable the plugin in Settings β†’ Community Plugins

Commands

CommandDescription
Generate daily summaryCreate a summary note for today's vault activity
Generate weekly summaryCreate a summary note for the current week
Generate todo listAggregate all tasks from configured folders
Generate pending todo listCreate a clean list of uncompleted tasks
Analyze vault topicsGenerate topic frequency analysis
Refresh all insightsRegenerate all insight notes

Access these commands via the Command Palette (Ctrl/Cmd + P).

Settings

Summary Settings

SettingDescriptionDefault
Summary FolderWhere generated notes are savedInsights
Daily SummaryEnable daily summary generationOn
Weekly SummaryEnable weekly summary generationOn
Summary TimeScheduled generation time09:00
Use Calendar WeeksWeekly summaries use Sunday–SaturdayOn

Todo Settings

SettingDescriptionDefault
Source FoldersFolders to scan for tasks (empty = all)[]
Exclude FoldersFolders to skip when scanningtemplates, archive
Group ByHow to organize tasksfile
Include CompletedShow completed tasks in the listOff

Topic Analysis Settings

SettingDescriptionDefault
Topic SourcesWhat to analyze (tags, headings, links)tags, headings
Max TopicsMaximum topics to display20

Visualization Settings

SettingDescriptionDefault
Chart TypeRendering engine for chartsmermaid
Max Chart ItemsMaximum items in charts10

Both Mermaid and Chart.js are fully supported.

Section Visibility

Customize which sections appear in generated summaries:

SettingDescriptionDefault
Show AI SummaryInclude AI-generated summary sectionOn
Show ChartsInclude charts and visualizationsOn
Show File ListInclude list of notes touchedOn
Show Topic TableInclude topic rankings tableOn

Ollama Integration (Optional)

SettingDescriptionDefault
Enable OllamaUse local LLM for smart extractionOff
Ollama URLLocal Ollama server addresshttp://localhost:11434
Ollama ModelModel to use for extractionllama3

Generated Note Structure

All generated notes include:

  • YAML frontmatter with metadata (generator, date range, tags)
  • AI Summary section (when Ollama is enabled)
  • Overview section with key statistics
  • Mermaid visualizations for data
  • Detailed listings with wikilinks to source notes

Example output structure:

Insights/
β”œβ”€β”€ Daily/
β”‚   └── Daily Summary - 2024-01-26.md
β”œβ”€β”€ Weekly/
β”‚   └── Weekly Summary - 2024-01-21 to 2024-01-27.md
β”œβ”€β”€ Todos/
β”‚   └── Todo List - 2024-01-26.md
└── Vault Insights - 2024-01-26.md

Example frontmatter:

---
title: "Daily Summary - 2024-01-26"
generated: 2024-01-26T10:00:00.000Z
generator: daily-summary
period: daily
startDate: 2024-01-26
endDate: 2024-01-26
tags: [vault-insights, daily-summary]
---

AI Features (Optional)

Vault Insights supports optional AI-powered features via Ollama, a local LLM runner:

  • AI Summaries: Natural language summaries of your daily/weekly activity
  • AI Topics: Identifies themes from your note content

Setup

  1. Install Ollama
  2. Pull a model: ollama pull llama3
  3. Start Ollama: ollama serve
  4. Enable in plugin settings and test the connection

Privacy and network disclosure

When Ollama is enabled, the plugin sends note content to your locally running Ollama instance over HTTP (localhost:11434 by default). No data is sent to any external server.

  • All AI processing happens locally on your machine
  • Only the configured localhost URL is contacted
  • Non-localhost URLs trigger a console warning
  • Ollama runs entirely offline once models are downloaded
  • AI features gracefully degrade if Ollama is unavailable

Note: Ollama features are desktop-only. Mobile users get all other features.

Tech Stack

ComponentTechnology
LanguageTypeScript (strict mode)
RuntimeObsidian (Electron + Mobile)
Buildesbuild
VisualizationsMermaid (native) + Chart.js (interactive)
AIOllama (optional, local-only)

Development

Prerequisites

  • Node.js 16+
  • npm

Setup

# Clone the repository
git clone https://github.com/nexio-t/obsidian-plugin.git
cd vault-insights

# Install dependencies
npm install

# Build for development (with watch mode)
npm run dev

# Build for production
npm run build

# Type checking
npm run typecheck

# Linting
npm run lint

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

Project Structure

vault-insights/
β”œβ”€β”€ main.ts                        # Plugin entry point
β”œβ”€β”€ manifest.json                  # Obsidian plugin manifest
β”œβ”€β”€ package.json                   # Dependencies and scripts
β”œβ”€β”€ tsconfig.json                  # TypeScript configuration
β”œβ”€β”€ esbuild.config.mjs             # Build configuration
β”œβ”€β”€ jest.config.js                 # Jest test configuration
β”œβ”€β”€ styles.css                     # Plugin styles
β”œβ”€β”€ tests/                         # Test suite
β”‚   β”œβ”€β”€ __mocks__/                 # Obsidian API mocks
β”‚   β”œβ”€β”€ integrations/              # Ollama client tests
β”‚   └── visualizations/            # Mermaid and Chart.js tests
└── src/
    β”œβ”€β”€ types.ts                   # Shared interfaces and types
    β”œβ”€β”€ settings.ts                # Settings tab UI
    β”‚
    β”œβ”€β”€ extractors/
    β”‚   └── tasks.ts               # Task/checkbox extraction
    β”‚
    β”œβ”€β”€ generators/
    β”‚   β”œβ”€β”€ base.ts                # Abstract base generator class
    β”‚   β”œβ”€β”€ daily-summary.ts       # Daily summary generation
    β”‚   β”œβ”€β”€ weekly-summary.ts      # Weekly summary generation
    β”‚   β”œβ”€β”€ todo-list.ts           # Aggregated task list
    β”‚   β”œβ”€β”€ pending-todo-list.ts   # Pending-only task list
    β”‚   └── insights.ts            # Topic analysis and insights
    β”‚
    β”œβ”€β”€ visualizations/
    β”‚   β”œβ”€β”€ mermaid.ts             # Mermaid chart generation
    β”‚   β”œβ”€β”€ chartjs.ts             # Chart.js config generation
    β”‚   β”œβ”€β”€ chartjs-renderer.ts    # Chart.js code block processor
    β”‚   └── templates.ts           # Chart template wrappers
    β”‚
    └── integrations/
        └── ollama.ts              # Ollama AI client

Testing in Obsidian

  1. Build the plugin: npm run build
  2. Copy main.js and manifest.json to your test vault's .obsidian/plugins/vault-insights/
  3. Reload Obsidian (Cmd/Ctrl + R)
  4. Enable the plugin in Settings β†’ Community Plugins

Compatibility

PlatformSupport
WindowsFull
macOSFull
LinuxFull
iOSCore features (no Ollama)
AndroidCore features (no Ollama)

Minimum Obsidian version: 1.0.0

FAQ

Does this work on mobile?

Yes! All core features work on mobile. The optional Ollama integration is desktop-only and gracefully falls back on mobile.

Will this slow down my vault?

No. Vault Insights uses Obsidian's built-in MetadataCache, which means files aren't re-read from disk. Generation is efficient even with large vaults (1000+ notes).

Can I customize the output?

Generated notes are standard markdown files. You can edit them after generation.

Where are insights saved?

By default, insights are saved to an Insights folder in your vault root. You can change this in settings.

How do I exclude certain folders?

Add folder names to the "Exclude Folders" setting (comma-separated). Tasks and topics from these folders won't appear in generated notes.

What happens if Ollama is unavailable?

AI features gracefully degrade - summaries and insights are generated without the AI sections. You'll never see an error, just standard extraction-based output.

Privacy

  • 100% Local: All processing happens on your device
  • No telemetry: No data is collected or sent anywhere
  • No API keys: Core features require no external accounts
  • Ollama is local: Even AI features use a locally-running model

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Support

License

MIT License - see LICENSE for details.


Made for the Obsidian community.

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.