dsh-vox-input
Voice (speech-to-text) input for the DSH Web composer via the browser Web Speech API (Chrome/Edge). Tap the mic, speak, and the transcript fills the input box — editable before send. Zero server, zero API keys, zero model downloads; nothing leaves the machine.
Install
# symlink the package into the web profile (local dev), then add the row:
ln -s <this-dir> "$DSH_HOME/profiles/web/node_modules/dsh-vox-input"
# append to $DSH_HOME/profiles/web/cordis.patch.yml:
# - insert:
# - id: dsh-voice-input
# name: dsh-vox-input
#
# IMPORTANT: the short `id: dsh-voice-input` above is only the host patch-row
# identifier. In client.js, the module registration MUST use the exact package
# name:
# window.__ModuleLoader__.load({ id: "dsh-vox-input", factory })
# Never replace that client registration with the short row id.
# restart: node <dsh>/lib/bin.js web
Use
A waveform 🎙️ control appears in the composer tool row. Tap to listen (Chinese by default; the tiny chip cycles zh-CN / en-US / auto). Interim text streams in a live caption above the composer; final text is appended into the draft sentence by sentence (pause ~1s between sentences — the session stays open, and auto-ends after ~4s of silence). Non-Chromium browsers show a muted badge.
Notes
- Client UI (dual-face) plugin: the host half is an empty shell; all logic lives in
client.jsviawindow.__ModuleLoader__.load. The registration ID must equalpackage.json.nameexactly (dsh-vox-input). SeeAGENTS.md. - MIT licensed. Conventions follow the ecosystem references (dsh-mic-input, dsh-voice-input-web); implementation is original.
No comments yet. Be the first to write one.