Compare commits

..
7 Commits
Author SHA1 Message Date
Timba 0e3e6153ed SHUFTN 0.3.7 2026-09-09 09:20:45 +00:00
Timba 411419582e SHUFTN 0.3.6 2026-09-08 09:45:46 +00:00
Timba 59afcfedd8 SHUFTN 0.3.5 2026-09-07 06:29:35 +00:00
Timba 34f8af069a SHUFTN 0.3.5 2026-09-07 06:27:23 +00:00
Timba cdf9249023 SHUFTN 0.3.4 2026-09-05 12:37:55 +00:00
Timba 722a7d5766 SHUFTN 0.3.3 2026-09-05 11:10:54 +00:00
Timba 82cff5137f SHUFTN 0.3.2 2026-09-05 07:29:13 +00:00
+5 -5
View File
@@ -1,11 +1,11 @@
{
"version": "0.3.1",
"notes": "Diktieren braucht keinen Endpunkt mehr — Whisper rechnet auf diesem Rechner. Das Modell dazu kommt als eigenes Paket, das man einspielt oder eben nicht.\n\nDiktieren geht jetzt ohne Endpunkt — auf diesem Rechner. Bisher brauchte das Diktat einen Dienst, der `POST /audio/transcriptions` annimmt. Am eigenen Endpunkt gemessen: `GET /v1/ki/models` antwortete 401 (die Route gibt es), `/audio/transcriptions` antwortete 404. Dort lief das Textmodell, aber keine Spracherkennung — und damit ging Diktieren gar nicht, ohne dass jemand am Server etwas nachrüstet.\n\nJetzt rechnet Whisper hier: Die Aufnahme verlässt den Rechner nicht, nicht einmal ins eigene Rechenzentrum. Wer ein Modell eingespielt hat, bekommt diesen Weg; wer keines hat, weiter den Endpunkt. Der Mikrofonknopf sagt im Zeigerfähnchen, welcher gerade gilt.\n\nAn einer gesprochenen Probe nachgemessen (die Sprachausgabe von Windows las einen Satz vor, 4,9 Sekunden):\n\ngeladen in 232 ms erkannt in 453 ms „Bitte senden Sie mir das Angebot für die Halle süd bis Freitag.\"\n\nGesprochen war „… Halle Süd …\" — bis auf die Grosschreibung Wort für Wort.\n\nDas Modell kommt als Plugin. `whisper-base` wiegt 277 MB, der Installer von SHUFTN 272 MB; beides zusammen hiesse ein halbes Gigabyte für jeden, auch für den, der nie diktiert. Es wird deshalb eingespielt wie der Editor — unter *Einstellungen → Erweiterungen*, mit Prüfsummen und der Möglichkeit, es wieder loszuwerden. Ohne Neustart: Ein Modell meldet kein Schema an, der Kern liest seine Dateien beim nächsten Diktat.\n\nDamit gibt es zwei Arten Plugin. Ein Modell nennt weder `schema` noch `einstieg`, und beides wird abgewiesen: Stünde dort ein Schema, lieferte SHUFTN die 277 MB Gewichte als Webseite aus. Was für Paketbauer gilt, steht in `PLUGINS.md` unter „Modelle\".\n\nGerechnet wird in reinem Rust. `whisper.cpp` wäre der verbreitetere Weg und hätte eine C++-Werkzeugkette in den Bau von SHUFTN gebracht — cmake, ein Compiler, plattformabhängige Schalter. Dann liesse sich SHUFTN nicht mehr mit `cargo build` allein übersetzen. Der Preis steht offen: auf der CPU langsamer als handoptimiertes C. Bei einem Diktat von zwanzig Sekunden ist das eine Frage von Sekunden.\n\nDas Umrechnen der Aufnahme (Opus → 16 kHz Mono) macht die Webansicht, nicht der Kern: Sie hat den Dekodierer eingebaut, und ihn in Rust nachzubauen hiesse wieder eine C-Bibliothek. Was der Kern bekommt, ist ein WAV — und was nicht 16 kHz Mono ist, weist er ab, statt es falsch zu deuten. Eine falsch gedeutete Abtastrate klingt für Whisper wie jemand, der zu schnell spricht, und liefert Text, den niemand als falsch erkennt.",
"pub_date": "2026-09-04T15:12:36Z",
"version": "0.3.7",
"notes": "Der Abwesenheits-Assistent ist da. Unter Einstellungen → Abwesenheit: an, aus, oder nur in einem Zeitraum, dazu eine Antwort für das eigene Haus und eine zweite nach draussen — die darf anders lauten, denn wer intern die Vertretung nennt, will das nach aussen selten. Wer draussen überhaupt eine bekommt, ist einstellbar: niemand, nur wer im Adressbuch steht, oder alle.\n\nVerschickt wird sie von Exchange, nicht von SHUFTN — sie geht also auch hinaus, wenn der Rechner aus ist. Daran hängt auch, dass kein Hin und Her entsteht: Exchange antwortet jedem Absender in einer Abwesenheit höchstens einmal und auf Rundschreiben und automatische Antworten gar nicht. Zwei abwesende Postfächer schaukeln sich damit nicht auf. Wer eingeschaltet ohne Text speichern will, wird abgewiesen: Der Assistent verschickte sonst leere Antworten, die beim Empfänger wie ein Fehler des Absenders aussehen.\n\nMail und Notizen lassen sich drucken. In der Mailansicht und in der Notizleiste ein Drucker; auf dem Blatt steht ein Kopf mit Betreff, Absender, Empfängern und Datum beziehungsweise mit Titel, Ordner und den Zeitpunkten. Ein Ausdruck ohne Absender ist ein Blatt, das niemand mehr zuordnen kann.\n\nDer Rumpf einer Mail wird dabei in seinem abgeschotteten Rahmen gedruckt und nicht herausgeholt: Er kommt vom Absender, und die Grenze, um derentwillen der Rahmen existiert, gilt beim Drucken genauso.\n\nDer Editor kann jetzt auch auf die Platte speichern. Neben den beiden Wegen „an eine neue Nachricht\" und „als Antwort anhängen\" steht jetzt Speichern unter … — mit dem eigenen Dateiwähler, demselben Baum wie beim Anhängen, nur andersherum: Ordner aussuchen, Namen eintippen, fertig.\n\nDie Bearbeitung bleibt dabei offen. Wer sein Dokument ablegt, will oft noch weiterarbeiten oder es zusätzlich anhängen; ein Fenster, das sich nach dem Speichern selbst entwertet, zwänge ihn, von vorn anzufangen.\n\nEs ist der erste Weg, auf dem SHUFTN etwas auf die Platte schreibt — das Modul *Dateien* liest bis heute nur. Vier Grenzen halten ihn eng: Es gehen nur Bytes aus einer Bearbeitung hinaus (kein Kommando für beliebige Inhalte an beliebige Pfade), der Name ist ein einzelnes Stück Pfad und keine Ebene nach oben, ausführbare Endungen werden abgewiesen, und über eine vorhandene Datei wird erst nach einer Rückfrage geschrieben.\n\nAuch Dokumente lassen sich drucken — PDF, Word, Excel. Im Dokumentfenster ein Drucker; bei einem PDF werden die Seiten eigens für Papier gezeichnet (nicht die Bildschirmfassung — die ist auf die Fensterbreite gerechnet und beim Blättern zum Teil noch gar nicht gezeichnet), sonst wird gedruckt, was aus dem Datenmodell gebaut ist.\n\nIm Editor gab es dafür einen Knopf, der immer in einen Fehler führte, und zwar in „unbekannter Fehler\". Der Grund liegt tiefer: Euro-Office druckt, indem es bei einem Dokumenten-Umwandlungsdienst ein PDF bestellt — den gibt es in einem Paket ohne Server nicht, und die Inhaltsrichtlinie kennt weder http noch https. Der andere Weg verlangt die native Brücke der ONLYOFFICE-Desktop-App. Der Knopf ist deshalb weg, und gedruckt wird dort, wo es geht.\n\nDer Schreibhelfer sitzt jetzt auch im Editor. Unter der Leiste im Bearbeiten-Fenster stehen dieselben Knöpfe wie beim Verfassen und an der Notiz — Kürzen, Ausformulieren, Rechtschreibung, Freundlicher, Sachlicher. Es sind dieselben Knöpfe aus derselben Liste, nicht eine zweite Fassung: Sonst hiesse „Kürzen\" hier irgendwann etwas anderes als dort.\n\nGearbeitet wird an dem, was markiert ist. Ist nichts markiert, nimmt ein Textdokument den ganzen Text; in einer Folie das Textfeld, in dem der Cursor steht — dort hängt der Text an den einzelnen Feldern, ein „ganze Folie überarbeiten\" gibt es nicht. Der überarbeitete Absatz behält die Schrift der Stelle, an der er einsetzt, und ein Strg+Z nimmt ihn wieder zurück.\n\nZwei Dinge, die dabei nicht passieren dürfen: Zwischen Lesen und Einsetzen rechnet das Modell, und in dieser Zeit kann der Cursor woanders hin. Deshalb wird die Stelle gemerkt und vor dem Einsetzen geprüft — steht dort inzwischen etwas anderes, wird nichts ersetzt und das gesagt. Und der Text geht zum Überarbeiten nach oben in SHUFTN; im Editorfenster selbst steckt kein Modell und keine Leitung nach draussen.\n\nIn Tabellen gibt es die Knöpfe nicht, und dort steht auch, warum: Der Editor gibt einen markierten Zellbereich als Text gar nicht heraus, und Einsetzen schriebe in die aktive Zelle statt in die Auswahl. Ein Knopf, der dort etwas anderes täte als im Textdokument, wäre schlimmer als keiner.\n\nBeides — der fehlende Druckknopf und der Schreibhelfer — hängt am Editor-Paket und kommt mit dessen Fassung 9.3.4-hotfix.1-shuftn.4; unter Einstellungen → Erweiterungen steht, welche installiert ist.",
"pub_date": "2026-09-09T09:20:40Z",
"platforms": {
"windows-x86_64": {
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVRbENEalUzQ3RFRHhzUjE0VEd6WDJDK3FCazRieExqMzdQWmQ4T1B3SzNzZERDUUlkTGViNGxET1JlYmxVT0s2V3htNW1BYmxrMjZURkhIbVc4a0phNkdFOVEveHI5T0FNPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg4NTM0NzU1CWZpbGU6U0hVRlROXzAuMy4xX3g2NC1zZXR1cC5leGUKaVVaTjRTSGxwc3pyNGRSODdMWWc4bVgxaFRhMWVhVE5CcWRja0hhaGpla0NIRGEwb0Q1aExJUmxkelZZaUQ4RngwK0FVTXJtWDZ6TDBxNDZORDJnQnc9PQo=",
"url": "https://gitea.itm-technologies.de/ITM-GmbH/shuftn-releases/releases/download/v0.3.1/SHUFTN_0.3.1_x64-setup.exe"
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVRbENEalUzQ3RFRDQzWjM5Vysza2FmcnJ3a2gvUUY5a0ovYUliL2MwWWRnYmxVVitsNWdncXVLbmd2V2RKRVhtRjNNTXJoU3pNUDcyWWszL2RsNHc4MUczbGt3THlDL0E0PQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg4OTQ1NjQwCWZpbGU6U0hVRlROXzAuMy43X3g2NC1zZXR1cC5leGUKZ3BwdlkreUk1K2lZT1lEUHpwdUpiRHBRaUJaNDdVVGN3RG11VTYvY21PL0tEaFIwcG9XZnRuWWJ2L2hPRXBOQW9iNXF3YmtMMktNRU5hc1dOYlByQmc9PQo=",
"url": "https://gitea.itm-technologies.de/ITM-GmbH/shuftn-releases/releases/download/v0.3.7/SHUFTN_0.3.7_x64-setup.exe"
}
}
}