Busy Goblins

by Andrew Rosenquist
5
4
3
2
1
Score: 35/100
New Plugin

Description

This plugin has not been manually reviewed by Obsidian staff. Build reusable chains of AI operations on your notes. Process, write, and rewrite Markdown files using a local Ollama model, then save your workflows as presets and run them in one click.

Reviews

No reviews yet.

Stats

stars
5
downloads
0
forks
0
days
NaN
days
NaN
days
0
total PRs
0
open PRs
0
closed PRs
0
merged PRs
0
total issues
0
open issues
0
closed issues
0
commits

Latest Version

Invalid date

Changelog

README file from

Github

Busy 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)

  1. Open Obsidian → Settings → Community plugins → Browse
  2. Search for Busy Goblins
  3. Install and enable

Manual install

  1. Download main.js, manifest.json, and styles.css from the latest release
  2. Copy them into .obsidian/plugins/busy-goblins/ inside your vault
  3. Reload Obsidian and enable the plugin in Settings → Community plugins

Setup

  1. Open Settings → Busy Goblins
  2. Set your Ollama URL (default http://localhost:11434 is correct for most installs)
  3. Set your Default model to whichever model you have pulled (e.g. qwen2.5:32b)
  4. 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