Compare commits

..
10 Commits
Author SHA1 Message Date
Timba ee1d1bbaa5 SHUFTN 0.3.10 2026-09-10 12:42:56 +00:00
Timba b9ea92301e SHUFTN 0.3.9 2026-09-10 09:30:23 +00:00
Timba ca81a94c49 SHUFTN 0.3.8 2026-09-10 09:10:35 +00:00
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.10",
"notes": "Auf dem Handy fehlte das Logo in der Signatur. In Outlook am Rechner kam es an, auf dem Telefon blieb ein leerer Rahmen — und beim Absender sah alles richtig aus, denn in seinem eigenen Entwurf steht das Bild ja.\n\nDer Grund: Das Logo hing als `data:`-Adresse mitten im HTML. Das ist bequem, weil es am Text klebt und nicht an einer Datei — nur zeigen die meisten Mailprogramme auf dem Handy solche Bilder nicht an, und die grossen Weboberflächen werfen sie beim Empfang aus dem HTML.\n\nJetzt geht jedes eingebettete Bild als eigener Teil der Nachricht hinaus, mit einer Kennung, auf die das HTML verweist (`multipart/related` und `cid:`) — genau der Weg, auf dem eingebettete Bilder auch hereinkommen. Das gilt für jede Nachricht mit Bildern im Text, nicht nur für die Signatur, und für beide Postfach-Sorten: Sie bekommen denselben Rohtext.\n\nAngefasst wird nur, was wirklich ein eingebettetes Bild ist. Ein Bild aus dem Netz bleibt eines, ein Verweis aus einer beantworteten Mail bleibt stehen, und eine Mail ohne Bilder sieht auf der Leitung aus wie zuvor.\n\nNachgesehen wurde das im echten Postfach: In der abgelegten Signatur stand das Logo vollständig da, in der zugestellten Nachricht an derselben Stelle nur noch ein nacktes `\u003cimg\u003e` — ohne Quelle, ohne Masse. Alle anderen Elemente hatten ihre Angaben behalten. Daher fehlte das Logo auch in SHUFTN selbst: Angezeigt wird die zugestellte Nachricht, und darin war nie eines.\n\nEin Kontakt lässt sich als „das bin ich\" markieren. Unten auf der Kontaktkarte, bei Du und Sie — denn es ist dieselbe Sorte Angabe: eine, die SHUFTN selbst führt und nicht das Adressbuch. Im Adressbuch ginge sie beim nächsten Abgleich verloren oder, schlimmer, hinaus.\n\nWozu: Der Assistent übergeht Post von dir selbst. Wer sich eine Notiz schickt oder sich eine Kopie schreibt, bekam bisher eine Einschätzung, in der die eigene Signatur als Auskunft über einen Absender stand — „erreichbar unter …\". Das sieht aus wie eine Erkenntnis über jemand Fremdes und kostet Token dafür. Jetzt steht dort der Grund, und „Trotzdem einschätzen\" bleibt: Wer sich einen langen Vermerk selbst geschickt hat, darf ihn kürzen lassen.\n\nDeine verbundenen Postfächer gelten ohnehin als eigene — dafür braucht es keine Markierung. Sie ist für die anderen Adressen desselben Menschen: ein Alias, die alte Firmenadresse, die private. Die Marke gilt für alle Adressen eines Kontakts zugleich; ein Mensch mit drei Adressen ist ein Mensch.\n\nIn der Trefferliste der Suche steht wieder die Büroklammer. Sie fehlte dort als einziger Liste — nicht, weil sie ausgeblendet war, sondern weil der Treffer die Auskunft gar nicht mitbrachte und sie deshalb auf „nein\" stand. Wer nach „Angebot\" sucht, sucht meistens die Datei und nicht den Satz. Sie kostet nichts: Die Angabe steht in derselben Zeile, die die Suche ohnehin verbindet.",
"pub_date": "2026-09-10T12:42:52Z",
"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": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVRbENEalUzQ3RFRDhUeWV4cU0vd0daZWxZU0cyM2NON0g3NmJSVXdxRkhpcUc4dytMbXJqc3JKam5NbDlrNmZDMHV0RTU3Nms4Nk5ldVZNRzhHait4QTFZVVRzMUhveWdFPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg5MDQ0MTcxCWZpbGU6U0hVRlROXzAuMy4xMF94NjQtc2V0dXAuZXhlCmVDUmxYQm83ZHlhUDB6bVJDMjdqK0dxOVVKOU4yVnZ1VjJ6ZER4bWtJTnN2UnNST0x5OUdEZ0JoNyt2K0dRTlVWN0JkUldvanRPM3pyYnRac01wMEJnPT0K",
"url": "https://gitea.itm-technologies.de/ITM-GmbH/shuftn-releases/releases/download/v0.3.10/SHUFTN_0.3.10_x64-setup.exe"
}
}
}