☂️ dlab.misc.forget-me-not
forget-me-not | a plugin rememberer
v1.00 | ©2025 dlab
Do you find yourself struggling to remember which plug-ins you have? This tool lets you pick one at random, with the option of also narrowing down the criteria of selection using things like tags, ratings, plugin type, whether or not you own said plug-in, etc. There is one caveat, however: you have to create the metadata for each plug-in that you want to be pickable.
Python, Obsidian, and optionally Alfred, if you have a Mac and prefer a friendlier UX.
Create a folder of plug-in metadata, represented as markdown files. Refer to the guide below.
- Clone this repository or to use the Alfred workflow, download the latest release.
- Ensure you have Python 3.9+ installed.
Set paths to your markdown folder and Obsidian vault in either the Alfred workflow configuration, or in main.py directly.
Run directly from the command line, OR run via Alfred Workflow (see usage below).
forget-me-not expects markdown files with YAML frontmatter. Here is what an example file looks like:
---
plugin-tags:
- delay
- diffusion
- feedback
rating: ★★★★★
owned: true
plugin-type:
- insert
used: true
manufacturer:
- Valhalla
---
The swiss army knife of delay plug-ins - can do just about anything you can think of. Used on many projects.
The idea is create a folder full of files like this one, which contain plugin metadata that the system can navigate. Ratings are tracked using unicode stars (ie. ★★★☆☆).
Example usage:
python3 ./main.py --plugin-tags "filter, distortion" --owned true --plugin-type insert --rating "<=3"When executed, the script finds a random markdown file in the given folder that meets the above criteria, and tries to open it in Obsidian.
I build this system to open the markdown files in an Obsidian vault, but you could very easily modify it to open the files in a different program.
- Type fmn to invoke the workflow.
- Navigate the menus to add, modify and clear filters.
- Roll the dice to pick a plug-in! This workflow pre-populates and executes the python script for you.
If the workflow ever fails to work for some reason, one thing to try is deleting the cache, which will be all the json files in this folder:
~/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/com.dlab.forget-me-not
The Alfred Workflow has a default cache period of 6 hours, so if you add new markdown files, they will not be picked up immediately. If you want to alter this value, temporarily or otherwise, you can find it in suggest.py, listed as MAX_AGE_SEC.
- If you use the Alfred workflow, you can use the URL
alfred://runtrigger/com.dlab.forget-me-not/-/to trigger the tool. - To use flags, append
?argument=to the URL, plus any flags you want, using the same format as the python script usage, except use+for spaces. - ie.
alfred://runtrigger/com.dlab.forget-me-not/-/?argument=--plugin-tags+"filter,+distortion"+--owned+true+--plugin-type+insert+--rating+"<=3"

