README file from
GithubBusy Goblins
Build reusable chains of AI operations on your Obsidian notes. Process, write, and rewrite Markdown files using a local Ollama model, then save your workflows as presets and run them in one click.
What it does
Busy Goblins lets you wire together a sequence of AI steps — called a chain — where each step reads from a file or folder, runs it through a local language model with a prompt you provide, and writes the result somewhere. The output of one step can feed directly into the next.
A chain you build once can be saved as a preset and reused forever.
Prerequisites
- Ollama installed and running locally (
ollama serve) - At least one model pulled, e.g.
ollama pull qwen2.5:32b - Obsidian desktop (plugin requires desktop — it uses Ollama's local API)
Installation
From the community store (once listed)
- Open Obsidian → Settings → Community plugins → Browse
- Search for Busy Goblins
- Install and enable
Manual install
- Download
main.js,manifest.json, andstyles.cssfrom the latest release - Copy them into
.obsidian/plugins/busy-goblins/inside your vault - Reload Obsidian and enable the plugin in Settings → Community plugins
Setup
- Open Settings → Busy Goblins
- Set your Ollama URL (default
http://localhost:11434is correct for most installs) - Set your Default model to whichever model you have pulled (e.g.
qwen2.5:32b) - Optionally set a Presets folder where saved chains will be stored (default:
_AI/BusyGoblins/Presets)
How to use
Open the panel
Click the chain icon in the ribbon, or run Open panel from the command palette.
Build a chain
Each chain is made of one or more blocks. Click + Add Block to add blocks and configure each one:
Operation — what the block does:
- Process — reads a source file or folder, sends it to the AI with your prompt, writes the response to a new destination. The source is never modified.
- Write — sends a prompt to the AI with no source file. Pure generation.
- Rewrite — reads a source file or folder, sends it to the AI with your prompt, and overwrites the source with the response. Destructive — use dry-run first.
Source — where the block reads from:
- File — a single Markdown file
- Folder — all Markdown files in a folder (combined into one context for Process/Write; processed individually for Rewrite)
- Previous — the output from the block above (available on Block 2 and later)
Prompt file — a Markdown file in your vault containing the instructions for the AI. Optionally add a model: key in the frontmatter to override the default model for that block:
---
model: llama3:70b
---
Summarise the following notes into bullet points...
Destination — where the output goes (Process and Write only):
- File — write to a specific file
- Folder — write into a folder with a base filename you provide. Adds a counter suffix if the file already exists (unless Allow overwrite is on)
- None — hold the output in memory only, passing it to the next block via Previous
Run a chain
Click Run. Blocks execute top to bottom. The Run button is disabled with a tooltip explaining any missing configuration.
Click Dry Run first to preview exactly what the chain will read, which model it will call, and what it will write — without making any changes.
Save and load presets
Click Save Preset to name and save the current chain as a .json file in your presets folder. Click Load Preset to browse and restore a saved chain.
Settings reference
| Setting | Description |
|---|---|
| Ollama URL | Address where Ollama is running. Default: http://localhost:11434 |
| Default model | Fallback model when a prompt file has no model: frontmatter |
| Presets folder | Vault path where preset .json files are stored |
| Prompts folder | Restrict the prompt file picker to a specific folder. Leave blank to search the whole vault |
| Protected paths | Vault paths Busy Goblins will never overwrite. Rewrite blocks targeting these paths are blocked. Process/Write blocks with Allow overwrite enabled are also blocked |
| Show token cost estimate | After each run, show estimated token usage and approximate cloud API cost for comparison |
Acknowledgements
Busy Goblins evolved from an earlier plugin by the same author called The Director, which handled single-agent folder runs. Busy Goblins is a ground-up rebuild with chaining, presets, and a broader set of operations.
The FolderSuggest component is adapted from Synod by slaymish, used under MIT licence.
Support
If you find Busy Goblins useful, you can buy me a coffee.
Licence
MIT — see LICENSE