Loom
approvedby cosmicoptima
A recursively branching interface to GPT-3 and other language models.
loom(sidian)
READ THE README IF YOU PLAN TO USE THIS PLUGIN. IT IS USEFUL
This is a reimplementation of Loom as an Obsidian plugin, designed to be easier to use and more modular and extensible.
Loom is a recursively branching interface to GPT-3 and other language models; it is designed to be conducive to exploratory and experimental use of base models. The workflow primarily consists of this: you hit Ctrl+Space from a point in the text, and Loom generates n child nodes of the current node, where each child contains a different completion of the text leading up to the cursor. This is paired with a tree interface and settings panel in the right sidebar, as well as a pane containing the full text of the current node and its siblings.
Loom can request completions from the following providers: Cohere, TextSynth, OpenAI, and Azure OpenAI Service. It can also request completions from implementations of openai-cd2-proxy, in which case you must provide the base URL in the Loom tab in Settings.
If you are interested in funding this plugin's development, you can support me on Patreon; I would then be able to devote more time to this and other independent projects.
If you are new to Obsidian: if you want to see the tree interface, make sure to open the right sidebar using the button on the top right, or using Ctrl+P then Toggle right sidebar. Once you've done that, go to the Loom tab, which is signified by a network icon.
Default hotkeys:
- generate -
Ctrl+Space - generate siblings -
Ctrl+Shift+Space - split at point -
Alt+s - split at point and create child -
Alt+c - delete (current node) -
Alt+Backspace - merge (current node) with parent -
Alt+m
Navigation:
- switch to next sibling -
Alt+Down - switch to previous sibling -
Alt+Up - switch to parent -
Alt+Left - switch to (most recently visited) child -
Alt+Right
In the editor:
Shift+clickon the text corresponding to a node to switch to it
Loom can be installed in the Obsidian store. If you don't want to do that:
- Go to the latest release under the "Releases" subheading on the right
- Download the zip file under "Assets"
- Unzip the file you downloaded in
[path to vault]/.obsidian/plugins, creating thepluginsdirectory if necessary - Go to the "Community plugins" tab in Obsidian settings, then enable "Loom"
Alternatively, you can build Loom from source:
- Clone this repository (
git clone https://github.com/cosmicoptima/loom) in[path to vault]/.obsidian/plugins, creating thepluginsdirectory if necessary - Run the following:
cd loom; npm i; npm run build - Go to the "Community plugins" tab in Obsidian settings, then enable "Loom"
- To update, go to the repository and
git pull; npm i; npm run build, then disable and re-enable Loom
If you are using MacOS: a few hotkeys -- Alt+s, Alt+c, and Alt+m -- are bound to special characters. You can either:
- Disable MacOS's special character shortcuts, as explained here: https://superuser.com/questions/941286/disable-default-option-key-binding
- Rebind the Loom hotkeys you want to use in the Hotkeys tab in Settings
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.