Pensieve is a smart memory assistant for Obsidian that helps you never lose track of your thoughts, projects, or ideas. It continuously distills your raw notes, journals, and project logs into concise, structured summaries โ and helps you pick up right where you left off, even after a long break.
Whether you're researching, coding, or writing, Pensieve captures your mental context, highlights key insights, and transforms rough notes into clean, shareable ideas using the LLM of your choice โ including local models.
Stay organized without slowing down. Let your notes think with you.
The Pensieve dashboard showing project overview and memory insights
Caution
Early Release: This plugin is still under active development. Features may change, and you may encounter bugs or incomplete functionality. But your notes are still safe because pensieve follows the principal of adding without removing.. so it nver touches your original only create new ones on top of them
- Project Memory Tracking: Each project gets its own memory system with tasks, insights, and status tracking
- Context-Aware Summaries: Automatically extracts key information from your notes using AI
- Memory Checkpoints: Never lose track of where you left off on any project
- Clean Note Generation: Transform messy notes into well-structured, shareable content
- Configurable Output: Control tone, verbosity, and formatting
- Batch Processing: Process multiple notes efficiently with compression ratios
- Internal Linking: Automatic generation of Obsidian wiki-links
- Project Overview: Visual status of all your projects at a glance
- Memory Insights: View recent insights, tasks, and blockers
- Autolog Analysis: Analyze patterns across your daily/weekly/monthly activities
- Real-time Updates: See memory updates as they happen
- OpenAI: GPT-3.5, GPT-4, GPT-4 Turbo
- Google Gemini: Gemini Pro, Gemini 1.5, Gemini 2.0
- Anthropic: Claude 3, Claude 3.5, Claude 2
- Local Models: Ollama integration for privacy-focused users
- Custom Endpoints: Support for any compatible API
- Automatic Updates: Set intervals for memory updates, note refinement, and autolog generation
- Smart Filtering: Exclude specific projects from automation
- Background Processing: Runs without interrupting your workflow
-
Manual Installation:
- Download the latest release
- Extract to your Obsidian plugins folder:
{vault}/.obsidian/plugins/pensieve/
- Enable the plugin in Obsidian settings
-
From Obsidian Community Plugins (Coming Soon):
- Open Obsidian Settings โ Community Plugins
- Search for "Pensieve"
- Install and enable
-
Configure Folders:
- Set your Journal Folder (where daily notes are stored)
- Set your Project Root (where all project folders are located)
- Set your Memory Folder (where memory files will be stored)
- Set your Clean Output Folder (where refined notes will be saved)
-
Configure LLM Provider:
- Choose your preferred LLM provider (OpenAI, Gemini, Anthropic, or Ollama)
- Enter your API key (if required)
- Select your preferred model
-
Enable Features:
- Toggle automatic memory updates
- Configure note refinement settings
- Set up autolog generation
Complete settings panel with all configuration options
-
Open the Dashboard:
- Use the command palette:
Pensieve: Open Dashboard
- Or click the brain icon in the ribbon
- Use the command palette:
-
Generate Initial Memories:
- Use the dashboard to run your first memory update
- Review the generated insights and tasks
-
Refine Your Notes:
- Run note refinement on a project
- Check the output in your Clean Output folder
Pensieve creates the following structure in your vault:
Your Vault/
โโโ Journal/ # Your daily notes
โโโ Projects/ # Your project folders
โ โโโ Project1/
โ โโโ Project2/
โ โโโ ...
โโโ Memory/ # Generated memory files
โ โโโ projects/
โ โ โโโ Project1/
โ โ โ โโโ tasks.md
โ โ โ โโโ status.md
โ โ โ โโโ insights.md
โ โ โโโ Project2/
โ โโโ autologs/
โ โโโ 2024-12-15-daily-autolog.md
โ โโโ ...
โโโ CleanNotes/ # Refined notes
โโโ Project1/
โ โโโ introduction.md
โ โโโ checkpoint.md
โ โโโ project-tree.md
โโโ Project2/
- Track project progress across multiple repositories
- Maintain context when switching between projects
- Generate clean documentation from development notes
- Identify blockers and technical debt
- Organize research notes and findings
- Track progress across multiple research threads
- Generate summaries for papers and presentations
- Maintain context across long research cycles
- Organize writing projects and drafts
- Track ideas and inspiration
- Generate clean versions for sharing
- Maintain context across multiple writing projects
- Organize study notes and research
- Track progress on assignments and projects
- Generate summaries for revision
- Maintain context across courses
- API Key: Your OpenAI API key
- Model: GPT-3.5-turbo, GPT-4, GPT-4-turbo-preview
- Rate Limits: Respects OpenAI's rate limits
- API Key: Your Google AI API key
- Model: Gemini Pro, Gemini 1.5, Gemini 2.0
- Features: Supports longer context windows
- API Key: Your Anthropic API key
- Model: Claude 3, Claude 3.5, Claude 2
- Features: Excellent reasoning and analysis capabilities
- URL: Defaults to
http://localhost:11434
- Model: Any model available in your Ollama installation
- Privacy: All processing happens locally
- Compression Ratio: How many input notes to compress into one output (0.3 = 3:1)
- Verbosity: Concise, Detailed, or Comprehensive output
- Tone: Professional, Storytelling, or Sarcastic
- Emojification: Enable/disable emojis in output
- Auto-update Project Memories: Daily, weekly, or monthly
- Auto-refine Notes: Automatic note refinement
- Auto-generate Autologs: Daily, weekly, or monthly summaries
- Exclude Projects: Skip specific projects from automation
Note refinement configuration panel
Pensieve: Open Dashboard
- Open the main dashboardPensieve: Update Project Memories
- Update memories for all projectsPensieve: Refine Project Notes
- Refine notes for all projectsPensieve: Generate Autolog
- Generate a new autolog
Pensieve: Update Memory for Specific Project
- Update memory for one projectPensieve: Refine Notes for Specific Project
- Refine notes for one projectPensieve: Show Project Context
- Show recent context for a project
Pensieve: Export Insights as Note
- Export dashboard insights to a notePensieve: Test LLM Connection
- Test your LLM provider connection
Available commands in the Obsidian command palette
- Date Selector: Choose a specific date to view autologs
- Last N Autologs: Analyze patterns across multiple autologs
- Generate New: Create a new autolog for any date
- Analyze: Use custom prompts to analyze autolog patterns
- Project Selector: Choose which project to view
- Last N Checkpoints: View recent memory updates
- Search: Filter projects by name
- Load Data: Refresh project memory data
- Status: Current project status and progress
- Tasks: Active and completed tasks
- Insights: Recent insights, blockers, and achievements
- Summary: High-level project overview
- Check API Key: Verify your API key is correct
- Check Model: Ensure the model name is valid
- Check Network: Verify internet connection for cloud providers
- Check Ollama: Ensure Ollama is running for local models
- Check Folders: Verify folder paths in settings
- Check File Types: Ensure notes are markdown files
- Check Permissions: Verify Obsidian has access to your vault
- Adjust Settings: Try different verbosity or tone settings
- Check Input: Ensure source notes have sufficient content
- Try Different Model: Some models work better for specific tasks
- Check Automation: Verify automatic updates are enabled
- Check Exclusions: Ensure projects aren't in the exclude list
- Check Scheduler: Verify the scheduler is running
- Check the Logs: Open Developer Tools (F12) and check the console
- Review Settings: Double-check all configuration settings
- Test Manually: Try running commands manually to isolate issues
- Report Issues: Create an issue on GitHub with detailed information
We welcome contributions! Please see our Contributing Guide for details.
- Clone the repository
- Install dependencies:
npm install
- Build the plugin:
npm run build
- Copy to your Obsidian plugins folder:
npm run copy
This project is licensed under the MIT License - see the LICENSE file for details.
- Obsidian Team for the amazing platform
- OpenAI, Google, Anthropic, and Ollama for their LLM services
- Community Contributors for feedback and improvements
- GitHub Issues: Report bugs and request features
- Discussions: Ask questions and share ideas
- Documentation: Check the Developer Guide for technical details
Made with โค๏ธ for the Obsidian community
Pensieve - Because your thoughts deserve to be remembered.