Releases: johannes-kaindl/vault-crews
Releases · johannes-kaindl/vault-crews
Release list
0.9.2
Changed
- Die Einstellungen sind wieder auffindbar. Ab Obsidian 1.13 fragt der Host die Einstellungen deklarativ ab (
getSettingDefinitions()); wer das nicht anbietet, dessen Felder erscheinen in der Einstellungs-Suche schlicht nicht — keines davon. Das Plugin bietet sie jetzt an und zeichnet dieselbe Struktur über den Kit-Walker weiterhin selbst, solange Obsidian älter als 1.13 ist. Sichtbar ändert sich sonst nichts: dieselben vier Gruppen, dieselben Zeilen, derselbe Endpunkt-Editor.
0.9.1
Fixed
- Ein Endpunkt mit fehlendem oder falschem API-Schlüssel sagt das jetzt auch. Statt einer Erklärung stand an dieser Stelle der rohe Übersetzungs-Schlüssel
settings.endpoint.status.unauthorized— er sah aus wie ein Text, war aber keiner. Getroffen wurde ausgerechnet der Fall, für den die Statusklasse mit 0.9.0 eingeführt wurde: ein gehostetes Gateway, das mit 401 oder 403 antwortet. Jetzt steht dort „Zugriff verweigert — Schlüssel fehlt oder ist ungültig." (EN: „Access denied — API key missing or invalid."). Ein Vollständigkeits-Wächter im Typecheck sorgt dafür, dass eine künftige Statusklasse aus dem Kit nicht wieder unübersetzt durchrutscht.
0.9.0
Added
- API-Schlüssel je Endpunkt. Jede Zeile der Endpunkt-Liste trägt jetzt ihren eigenen Schlüssel — damit lässt sich eine Fallback-Liste aus lokalen und gehosteten Anbietern mischen: erst LM Studio, und wenn das aus ist, ein OpenAI-kompatibles Gateway. Der Schlüssel geht auch an die Erreichbarkeitsprobe; ein Gateway, das unauthentifiziert mit 401 antwortet, gilt sonst fälschlich als tot.
- Das Modell gehört zur Endpunkt-Zeile. Es wird je Zeile aus einem Dropdown der Modelle gewählt, die dieser Endpunkt meldet (mit „Modell-Liste neu laden" je Zeile). Ein Agent darf weiterhin sein eigenes
model:nennen; es gilt, solange der aktive Endpunkt es führt, sonst läuft der Task auf dem Modell der Zeile — sonst bräche der Fallback genau dann, wenn er gebraucht wird. - Fähigkeiten des aktiven Modells werden unter der Liste angezeigt (Reasoning, Bilder) — und ehrlich beschriftet: „aus dem Namen geraten" steht dort, wo geraten wurde.
- Zeilen umsortieren („zuerst verwenden"), Rollen-Anzeige je Zeile („aktiv" / „Bereitschaft — Platz 2" / „nicht erreichbar") und ein Hinweis, sobald eine Zeile einen Schlüssel trägt: Anfragen verlassen dann den Rechner.
Changed
- Der Rückgängig-Dialog hat jetzt einen „Abbrechen"-Knopf. Bisher gab es nur „Rückgängig machen" — wer den Dialog wieder loswerden wollte, musste Esc drücken oder danebenklicken. Beide Knöpfe stehen jetzt in Obsidians nativer Button-Zeile (Abbrechen links).
- Die Liste der gesperrten Endpunkte ist ein einfaches Textfeld (eine Adresse je Zeile) statt eines Zeilen-Editors — eine Sperre ist keine Verbindung und braucht weder Status noch Modell.
- Das globale Feld „Standardmodell" entfällt. Ein Modellname existiert nur auf dem Endpunkt, der ihn meldet; ein globales Feld daneben war dieselbe Angabe an zwei Orten. Bestehende Einstellungen werden beim ersten Start automatisch übernommen: die alte Endpunkt-Liste wird zu Einträgen, das bisherige Standardmodell wandert in die Zeilen.
Security
- API-Schlüssel werden aus allem entfernt, was in den Vault geschrieben wird — Lauf-Protokoll (
run.md),state.jsonund Fehlermeldungen im Panel. Fehlerkörper sind der wahrscheinliche Weg dorthin: manche Gateways spiegeln den gesendeten Authorization-Header in ihrer Antwort, und ein Vault wird synchronisiert.
0.8.0
Added
- Live-Token-Streaming im Run-Panel: Während ein Task läuft, zeigt die Sidebar jetzt den echten Token-Text des Modells (Content scrollbar, Reasoning im aufklappbaren „Thinking"-Bereich) statt nur einen Zähler. Reasoning-Tokens werden dabei erstmals real erfasst (
thinkCount) — aus<think>-Blöcken und demreasoning_content-Feld. Der Live-Text aktualisiert sich inkrementell und scrollt mit, solange man am unteren Rand ist.
Fixed
- Der „Thinking"-Bereich bleibt offen, wenn man ihn geöffnet hat: Bisher klappte er beim ersten Content-Token wieder zu — also genau dann, wenn die Antwort beginnt und man den Gedankengang mitliest. Der Bereich startet weiterhin zugeklappt; nur die eigene Aufklappung überlebt jetzt ein Neuzeichnen des Panels.
0.7.0
Fixed
- HTTP-Fehler ehrlich klassifizieren: Ein Fehlerstatus vom LLM-Server (Server erreichbar, Request/Modell abgelehnt) wird jetzt als neue Fehlerklasse
endpoint_errorgemeldet statt fälschlich alsendpoint_unreachable(„keine Verbindung"). Betrifft die Next-Action-Meldung im Panel. - Lesbarer Fehler-Body: Fehlermeldungen zeigen nicht mehr nur
HTTP 400: {— die Klartext-Message wird aus dem JSON-Fehlerbody (error.message/error/message) gezogen und einzeilig dargestellt. - Always-on-Thinker zur Laufzeit erkennen: Modelle, die trotz
thinking: offweiterdenken, werden jetzt am tatsächlichen Reasoning erkannt (nicht nur am Modellnamengpt-oss/harmony) — die Hinweis-Notice greift dadurch auch für Modelle wie ornith, und ihr Text ist modell-agnostisch.
0.6.0
Added
output:-Block fürllm-Tasks: parametrisierbare Output-Familien (frontmatter.set,section.write) mitallowed_keys/max_chars— das Crew-Output-Vokabular ist damit offen. Die bisherigenoutput_schema: triage-v1|briefing-v1bleiben als Alias byte-identisch gültig.frontmatter.setunterstützt Listen-Werte (z.B.tags: [arbeit, notiz]); die Slug-Enum-Prüfung greift je Listen-Element.tasknotes.queryunterstütztinclude_content: true(liefert Notiz-Inhalt für die gelieferten Notizen).- Zwei neue Beispiel-Crews: Notiz-Tagger (generisch, vault-agnostisch) und Reifegrad-Tagger (Pallas-Demo) — demonstrieren das
output:-Vokabular (frontmatter.set) mit Inhalt. - README-Abschnitt „Eigene Crews schreiben" (output:-Syntax, include_content, write_scope).
0.5.0
Added
create_if_missing-Flag fürsection.replace-Tasks in Crews: legt die Zieldatei
(Marker-Block, kein Template) samt fehlender Elternordner an, statt kontrolliert zu
failen. Die Daily-Briefing-Beispiel-Crew nutzt es und braucht die heutige Daily Note
nicht mehr vorab. Undo entfernt die erzeugte Note (Papierkorb).
0.4.0
Added
- Endpoint-Management-UI in den Settings: Zeilen-Editor für Endpunkte (Hinzufügen/Entfernen,
Per-Zeile-Verbindungsstatus mit Fehlerklassen, aktiv-Marker, nicht-blockierende
Eingabe-Warnungen, Ein-Klick-Presets für LM Studio und Ollama) und für gesperrte Endpunkte. - Standardmodell als Dropdown, geladen aus dem aktiven Endpoint (
Modelle laden), mit
Freitext-Fallback offline; eine gespeicherte, aktuell nicht gelistete Modell-Auswahl bleibt
als Option erhalten.
Changed
- Verbindungstest läuft jetzt pro Endpunkt-Zeile (Live-Status) statt über einen globalen Button.
endpoint_diagnostics(Status-Klassifikation, Presets, Eingabe-Prüfung) ausobsidian-kit
vendored;endpoint.tsauf Kit-Stand gehoben (parseEndpointList).
0.3.0
Added
- Ollama-Unterstützung ohne Provider-Setting: Kontextlängen-Sonde (
/api/show),
provider-übergreifende Thinking-Suppression, CORS-Non-Stream-Fallback,
Always-on-Thinker-Erkennung (gpt-oss/harmony) mit run.md-Vermerk + Notice.
Changed
LmStudioClient→LocalLlmClient(provider-agnostischer Name).
0.2.0
Changed
- Git-free snapshot undo. "Undo last run" no longer relies on the vault being a git
repository. Before a run writes a note, the plugin snapshots that note's pre-run state
(copy-on-write, write-ahead) into a hidden store under
.obsidian/plugins/vault-crews/undo/<runId>/, via the Obsidian vault/adapter API only.
Undo restores changed notes from the snapshot and moves run-created notes to the
Obsidian trash (never a hard delete). This works in every vault, not just git repos. - Honest conflict warning. If a note was edited after the run but before undo (detected
via content hash), the confirmation dialog warns before rolling it back — never a silent
overwrite. - New setting "Undo history depth" (default 15) controls how many recent runs keep an
undo snapshot; older snapshots are pruned automatically.
Removed
- All
child_processandnode:fsusage. The git-backed undo (systemgit commit/
git revert) is gone, so the plugin no longer performs shell execution or direct
filesystem access — removing both Community-store review "Behavior" warnings. Vaults that
want a permanent versioned history can still run git themselves; the run logs
(run.md) remain the durable human-readable record.