robertmartin8 / MolecularNotes

My Obsidian Second Brain setup
MIT License
313 stars 53 forks source link

logo

This repository contains my Obsidian implementation of Molecular Notes – a Second Brain system that I use to organise my thinking. You can read about the philosophy of Molecular Notes here and more about the Obsidian implementation here).

Note: I am not accepting PRs as this repo represents my personal workflow. However, if you have a use case that the current iteration of MolecularNotes doesn't address, it would be awesome if you could create an issue and share the modification you made so that others can get some inspiration!

Basic setup instructions

  1. Install Obsidian and create an Obsidian Vault (a folder to store all your notes). Mine is named ObsidianVault and I put it in my home folder.
  2. Clone this repository into your vault (on GitHub click the green Code button, then Download ZIP, and copy-paste the contents into your vault using Finder or File explorer)
  3. Delete the README.md file.
  4. In Obsidian, go to Settings -> Files & Links -> Default location for new attachments -> _attachments (make this folder if it doesn't exist).
  5. Set up templates:
    1. Settings -> Core plugins -> Templates (switch on).
    2. Settings -> Templates -> Template folder location -> _templates.
    3. (Optional) set hotkey in Settings -> Hotkeys -> Templates: Insert Template -> ⌘T
  6. Check you have the below plugins enabled: Settings -> Core Plugins
  7. (Optional) Change the colour theme to something you like! You can find this in Settings -> Appearance -> Themes

Plugins

These are the core plugins I am using (most are enabled by default):

Community plugins:

Advanced setup

Make sure you have python 3 installed on your system. The helper script can be run from your Obsidian Vault:

cd ObsidianVault && python _scripts/obsidian_util.py

In my ~/.zshrc I then created an alias for this, such that when I type obsidian into terminal my script runs.

alias obsidian="cd $HOME/ObsidianVault && python _scripts/obsidian_util.py"

Polymer dashboard

The Polymer dashboard (a spaced repetition tool) requires streamlit to be installed (pip install streamlit). It can be run using:

cd ObsidianVault && streamlit run _scripts/polymer.py

If you are having trouble with Polymer, please follow the below steps:

  1. Shut down the dashboard (e.g ctrl-C wherever you ran streamlit run _scripts/polymer.py)
  2. Delete the _scripts/db.json file. Note: this will delete your current flashcard progress
  3. Re-run the dashboard

GPT embeddings

See this blog post for more information.

_scripts/gpt_search.py implements a smart search. To get it working:

  1. Install the dependencies: pip install openai tiktoken tenacity click tabulate.
  2. Put in your OpenAI key at the top of the file.
  3. Open terminal and create an alias. My tool is called nmr but you can call it something else.
alias nmr="cd $HOME/ObsidianVault && python _scripts/gpt_search.py"

Organising my Second Brain

The ideas behind this are discussed in the blog posts, but here is a reference.

Folders

Tags

I use tags to represent "is-a" relations (i.e types)