Insurgently

Obsidian plugin· Active · beta · not yet released

Clusters

The research layer: search, neighbours and trails over any corpus, as a CLI and an MCP server.

What's changed in Clusters

Unreleased

not yet released

Everything built so far. The first beta will be 0.1.0, installed with BRAT alongside Model Hub and Books & Shelves.

New

  • Keep up to date: a switch per collection that indexes what changed on its own, off by default, within a daily spend limit set in Setup. Shelves are compared every half hour; notes and Bases follow the vault's changes.
  • Cheaper, Balanced or Better for a run: one pick on the Index dialog that asks OpenRouter for its lowest-priced or its fastest provider, and for Better reads passages one tier up; the dialog says what applies when the reading task's models don't go through OpenRouter. Model Hub's settings are untouched.
  • Where things act: Search… and Draft… in the collection's dialog, Preview passages… inside the Index dialog, Open jobs on the Collections tab. The commands stay in the palette.
  • Each collection's row carries an icon for its kind of source: books, notes or a Base.
  • A collection's row and dialog say how much its index takes on disk.
  • Setup says when Obsidian's own update check has found a newer Model Hub or Books & Shelves (plugins from the community directory; BRAT installs are not in that check).
  • Setup: Convert AZW3 and MOBI books, Ask each time or Never, in place of a question before each run.
  • Each index run on the Collections tab shows what it cost, beside when it ran, and whether it was Cheaper or Better; the run log records both.
  • Lenses: the built-in nonfiction and fiction lenses as Model Hub skills; Customize this lens… makes your own that extends one; Check my lenses names each problem with its line and rewrites an older format on request.
  • Collections from Books & Shelves books or shelves, a folder or tag of notes, or a Base view; Preview a collection's passages shows the passages and what is left out, writing nothing.
  • Index a collection…: a dry run first, then a cancellable job with progress, cost so far and a spend limit; a passage is extracted again only when its prompt changes.
  • Survey a collection…: proposes the collection's context and book fields with a quote behind each, written only on Write.
  • Open search: cards by facet with filters from the collection's fields, the passage behind a card, its neighbours in other books and its disagreements.
  • Find topics in a collection…: two-level clustering, named topics and seeds as notes, Graph view colour groups per family, and Open local graph on this topic.
  • Draft a write-up…: cited cards, sections from the lens's SKILL.md, every quote checked against its passage.
  • Every write is a dry run first, with a run log and Undo a run….
  • Requires Model Hub (API 0.4); registers its model roles (clusters.extract, .split, .name, .survey, .write, .embed) on built-in Hub tiers, again whenever Model Hub reloads. Models… in settings opens Model Hub’s role editor, where New tier… makes a tier of your own.
  • Books & Shelves is optional: book collections need it, and settings say so plainly when it isn’t there.
  • Settings: the collection notes, topic notes and drafts folders; a status panel for Model Hub, Books & Shelves, Calibre’s Content Server (through Books & Shelves) and the folders.
  • Settings in four tabs: Collections (with New collection… and each collection's runs), Lenses, Models and Setup.
  • Guide pages for every task, in docs/guide/ and on the docs site; the guide links in settings open them.

Fixed

  • Keep up to date compares a shelf's members again after a minute, then with a growing wait, when Calibre couldn't answer at start; before, the first comparison waited for the half-hour check.
  • Keep up to date says in a notice when an automatic run couldn't start (Model Hub off, a collection note that no longer reads as one), with the cause and the way out, once per cause. Before, only the developer console knew.
  • A run in progress now shows on its collection's row and in the collection's dialog, with Cancel, after the job dialog is closed. Before, the only trace was Open jobs.
  • Books that couldn't be split into passages are named at the top of the dry run and in the collection's dialog, each with its reason and where the fix is. Before, the only sign was a line in the end-of-run report.
  • The dry run said "3 books to split, 2 passages to read" as if that were the whole run. It now says that the passages of books not split yet are counted once they are, so the number to read will grow.
  • After Index, Find topics or Survey, a collection's row on the Collections tab kept its old state until settings were closed and opened again. The tab now draws again when a job ends.
  • A collection's row on the Collections tab said when it last ran ("Indexed today") even when every passage had failed. It now says whether the index is Up to date (a green dot: an index run would do nothing), or what a run would still do ("2 books to split · 153 passages to read"), or Not indexed yet (red), from a dry run made when the tab opens.
  • The Index dialog ended with a greyed-out action button and Close above the report, so there seemed to be nothing to click. When the job ends, the row is one Done button; the spend limit is disabled once the run starts. A run that fails or is cancelled now clears the dry run's fold, its Preview button, the quality pick and the spend limit too, as a finished run does.
  • Setup's Calibre row now says before a run when the Content Server is on but refuses changes (so AZW3 and MOBI books can't be converted and an index leaves them out), with where in Calibre to allow them, through Books & Shelves 0.2's calibreChecks. Before, the only sign was a line in the run's report.
  • Indexing failed on every passage with "The model’s reply was not JSON twice in a row" when the quick tier held a reasoning model: the model spent the reply cap thinking. The extract, split, name and survey roles now ask for reasoning off, as the engine's tasks did.

Changed

  • The Index dialog shows the counts, what the run would do and the cost first, with how it works under a fold; when the run ends, a short summary with the full report under a fold and one Done button.
  • Documents are split into passages; nothing is "cut" any more in what you read. The command is Preview a collection's passages; a book without passages says so and why.
  • Import an engine index… is gone: it moved the author's indexes over from the Python engine and has no use for anyone else.
  • The Index dialog, the run summaries and the failure lines say passages ("Read 163 passages into cards"), as the guide does. Saved data keeps its units files.
  • "Corpus" reads as "collection" and "reader" as "lens" wherever you see them. Saved data keeps its names, so a collection note's lens is still its reader property.

Each released version is also a GitHub release with the same notes. What is planned next: the roadmap.