doku
Die einzige Voraussetzung ist ein laufendes Docker Desktop. Auf dem Rechner wird nichts installiert: kein Go, keine Compiler, keine Paketwerkzeuge.
git clone https://github.com/Vitalii-Yemets/holdtotype cd holdtotype .\build.ps1 # Modell small, etwa 466 MB .\build.ps1 -Model medium # genauer, größer
Das Ergebnis landet in dist/:
holdtotype.exetray client: Go, WinAPI, WebView2
whisper-server.exerecognition, whisper.cpp, static build
sherpa-server.exerecognition, sherpa-onnx, official static build, pinned and checksum-verified
sherpa-online-server.exestreaming recognition, sherpa-onnx, from the same pinned archive
llama-server.exethe editor model for post-processing, llama.cpp
models/the model you chose at build time
config.default.jsondefault settings
MinGW-w64-Cross-Kompilierung von whisper.cpp und llama.cpp in einem Linux-Container, der Go-Client mit cgo für die Mikrofonaufnahme, Icon-Erzeugung, Installer-Paketierung. Alles steht in build/Dockerfile. Beide Engines sind auf bestimmte Upstream-Versionen festgelegt, damit die Builds reproduzierbar bleiben.
Auch alles in Containern, nichts zu installieren:
docker build --file build/Dockerfile --target gotest . # Go-Unit-Tests und go vet, Ziel Windows docker run --rm -v "${PWD}:/w" -w /w node:20 sh -c "node test/build-page.js && cd test && npm i --no-save --silent jsdom && node ui.test.js" # die Einstellungsseite in jsdom
client/internal/... — Unit-Tests für die Teile mit Logik: Versionsvergleich, doppelte Tastenkürzel, Regeln pro Anwendung, Ersetzungen, Sprachbefehle, Verlauf, Prompt-Ketten, Klanganalyse, Dateihashes und die Listendatei.test/ui.test.js — die echte Einstellungsseite in jsdom: Abschnittswechsel, die Übersetzungsmatrix, der Prompt-Editor, Regeln, Ersetzungen, Befehle, Verlauf, Modell-Löschung, der Assistent beim ersten Start, und keine JavaScript-Fehler.test/locales.test.js — jede der acht Sprachen trägt jede Zeichenkette, die Seite und Programm verlangen.test/setup.test.js — die Installer-Seite: die Schritte, die Modellwahl, die stillen Schalter.client/internal/theme — jedes Design behält sein eigenes Gesicht, seine Ecken, Pegelmarken und Lampen.Dann starten Sie Ihren eigenen Build statt des heruntergeladenen. Es ist dasselbe Programm, aus denselben Quellen gemacht.