Compare commits

...
17 Commits
Author SHA1 Message Date
Timba 8eb13a4e15 SHUFTN 0.3.1 2026-09-04 15:12:39 +00:00
Timba a5fa153de3 SHUFTN 0.3.0 2026-09-04 14:38:10 +00:00
Timba 8d90df34e9 SHUFTN 0.2.9 2026-09-04 09:30:24 +00:00
Timba ddeebbb7ca SHUFTN 0.2.8 2026-09-04 09:03:38 +00:00
Timba 158b30b634 SHUFTN 0.2.7 2026-09-04 06:11:10 +00:00
Timba 95b2ac4003 SHUFTN 0.2.7 2026-09-04 06:10:35 +00:00
Timba 77f5190f6f SHUFTN 0.2.6 2026-09-03 10:27:56 +00:00
Timba c39aeacf08 SHUFTN 0.2.5 2026-09-03 09:38:20 +00:00
Timba 3ece873f84 SHUFTN 0.2.4 2026-09-03 08:03:20 +00:00
Timba 76a788124a SHUFTN 0.2.3 2026-09-03 06:34:25 +00:00
Timba a07ed80b37 SHUFTN 0.2.2 2026-09-02 19:44:57 +00:00
Timba 5842ff7d86 SHUFTN 0.2.1 2026-09-02 19:06:06 +00:00
Timba 5a53f8f58f SHUFTN 0.2.1 2026-09-02 18:21:03 +00:00
Timba c17312d23c SHUFTN 0.1.9 2026-09-02 13:02:51 +00:00
Timba c3b5cce001 SHUFTN 0.1.8 2026-09-02 12:05:13 +00:00
Timba 566898842d SHUFTN 0.1.7 2026-09-02 09:51:30 +00:00
Timba d211c96860 SHUFTN 0.1.6 2026-09-02 08:49:14 +00:00
+5 -5
View File
@@ -1,11 +1,11 @@
{
"version": "0.1.5",
"notes": "Neue Post lässt das Programm in Ruhe. Traf eine Nachricht ein, stockte alles für ein bis zwei Sekunden — und bei mehreren Postfächern öfter als einmal. Der Grund: Jede ankommende Mail liess die Suche den ganzen Ordner noch einmal einlesen, bis zu zehntausend Nachrichten mit ihrem vollen Inhalt. Am grössten Postfach gemessen waren das über 500 Megabyte, für eine einzige neue Mail. Jetzt wird nur noch aufgenommen, was wirklich hereinkam: aus 1,2 Sekunden werden 60 Millisekunden. Dasselbe galt für den Abgleich alle fünf Minuten, auch wenn es gar nichts Neues gab — der Durchgang entfällt ersatzlos.\n\nNebenbei wird die Suche vollständiger: Wer eine ältere Nachricht anfasst, fand sie danach unter dem alten Betreff wieder, wenn sie nicht zu den neuesten zehntausend des Ordners gehörte. Bei einem Posteingang mit fast vierzigtausend Nachrichten war das oft.\n\n„Neue Nachricht\" öffnet sofort. In den ersten Sekunden nach dem Start reagierte das Fenster verzögert: Im Hintergrund wurden die bekannten Adressen zusammengetragen, und alles andere, was aus der Ablage liest, musste warten, bis das fertig war. Die lange Abfrage hat jetzt eine eigene Leitung zur Ablage und hält niemanden mehr auf.\n\nLange Handgriffe zeigen, dass sie laufen. Ein Postfach zu trennen oder einen grossen Ordner zu leeren dauert — bei einem gewachsenen Postfach eine halbe Minute. Bisher fror das Fenster dabei ein und zeigte weisse Flächen; es sah aus wie ein Absturz. Jetzt steht ein Hinweis darüber, der sagt, was gerade läuft. Bedienen lässt sich in dieser Zeit weiterhin nichts — aber man sieht, dass es weitergeht, statt zu raten.\n\nOrdnerwechsel und Seitenleiste hängen nicht mehr. Die Nachrichtenliste und die Ordnerzahlen wurden auf dem Thread geholt, der das Fenster zeichnet — bei einem grossen Ordner fror es dabei kurz ein. Beides läuft jetzt daneben. Die Vorschauzeile bringt ausserdem nur noch so viel Text mit, wie sie zeigen kann; bei einem Ordner mit zehntausend Nachrichten spart das ein Viertel der übertragenen Daten.\n\nAdressvorschläge kommen sofort. Die Liste der bekannten Adressen wurde bisher bei jedem Bedarf aus dem gesamten Nachrichtenbestand gerechnet. Sie steht jetzt fertig da und wird beim Schreiben mitgeführt. Beim ersten Start nach dem Update dauert es einmalig ein paar Sekunden, bis der vorhandene Bestand nachgetragen ist — danach nie wieder.",
"pub_date": "2026-08-25T11:03:15Z",
"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",
"platforms": {
"windows-x86_64": {
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVRbENEalUzQ3RFRDYrRUlZdzRoeWN4L25LcWQxODBYZmNXTlk0bk9wdVhINVJVbmNtYUFUdDVaOHRsRC9YcGd0Z0dZeWk2SUZzZU1NZmN5eHhwSGk2akpSRk1VYWIxSHdvPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg3NjU1Nzk1CWZpbGU6U0hVRlROXzAuMS41X3g2NC1zZXR1cC5leGUKSldBRUlEUDhEU2FFU3RzblFWNmJnNk5ESStnS2JuSkwzc3o5aVZsQzc2bFdRT0VjdDlhdCtBeXJXU0tDeWt0NW1rTHVrUnlnVGtOdDhvRXFvQ0JEREE9PQo=",
"url": "https://gitea.itm-technologies.de/ITM-GmbH/shuftn-releases/releases/download/v0.1.5/SHUFTN_0.1.5_x64-setup.exe"
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVRbENEalUzQ3RFRHhzUjE0VEd6WDJDK3FCazRieExqMzdQWmQ4T1B3SzNzZERDUUlkTGViNGxET1JlYmxVT0s2V3htNW1BYmxrMjZURkhIbVc4a0phNkdFOVEveHI5T0FNPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzg4NTM0NzU1CWZpbGU6U0hVRlROXzAuMy4xX3g2NC1zZXR1cC5leGUKaVVaTjRTSGxwc3pyNGRSODdMWWc4bVgxaFRhMWVhVE5CcWRja0hhaGpla0NIRGEwb0Q1aExJUmxkelZZaUQ4RngwK0FVTXJtWDZ6TDBxNDZORDJnQnc9PQo=",
"url": "https://gitea.itm-technologies.de/ITM-GmbH/shuftn-releases/releases/download/v0.3.1/SHUFTN_0.3.1_x64-setup.exe"
}
}
}