docs
El único requisito es un Docker Desktop en marcha. No se instala nada en la máquina: ni Go, ni compiladores, ni herramientas de empaquetado.
git clone https://github.com/Vitalii-Yemets/holdtotype cd holdtotype .\build.ps1 # modelo small, unos 466 MB .\build.ps1 -Model medium # más preciso, más grande
El resultado acaba en 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
Compilación cruzada MinGW-w64 de whisper.cpp y llama.cpp dentro de un contenedor Linux, el cliente Go con cgo para capturar el micrófono, generación de iconos, empaquetado del instalador. Todo está en build/Dockerfile. Ambos motores están fijados a versiones concretas, así que las compilaciones siguen siendo reproducibles.
Todo se ejecuta también en contenedores, nada que instalar:
docker build --file build/Dockerfile --target gotest . # pruebas unitarias de Go y go vet, destino 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" # la página de ajustes en jsdom
client/internal/... — pruebas unitarias de las piezas que llevan lógica: comparación de versiones, atajos duplicados, reglas por aplicación, sustituciones, comandos de voz, historial, cadenas de prompts, análisis de sonido, hashes de archivos y el archivo de listas.test/ui.test.js — la página de ajustes real renderizada en jsdom: cambio de sección, la matriz de traducción, el editor de prompts, reglas, sustituciones, comandos, historial, borrado de modelos, el asistente de primer arranque, y sin errores de JavaScript.test/locales.test.js — cada uno de los ocho idiomas lleva cada cadena que la página y el programa piden.test/setup.test.js — la página del instalador: los pasos, la elección de modelo, las opciones silenciosas.client/internal/theme — cada diseño conserva su propia cara, esquinas, marcas de nivel y luces.Después ejecuta tu propia compilación en vez de la descargada. Es el mismo programa, hecho de las mismas fuentes.