gkipon21 downloadsDictate into the current note through a transcription gateway you control.
Record a short dictation in desktop Obsidian, send it to your own HTTPS gateway, and insert the transcript at the captured cursor or selection. Existing note content, title and path are not uploaded. If the note changes while waiting, the transcript stays in a recovery dialog for explicit insertion.
Community release 0.1.1. View in the Community Plugins directory. Requires Obsidian 1.14.5 or later, OS-encrypted SecretStorage, microphone access, a self-hosted gateway and a paid OpenAI API account. No hosted service or API key is supplied. Desktop only; mobile is not claimed. Provider charges and data handling are governed by the operator's OpenAI account.
main.js, manifest.json and styles.css from the GitHub release; verify SHA256SUMS. Copy them into <vault>/.obsidian/plugins/dictation-bridge/, then enable the plugin.Maximum recording: 4 minutes 55 seconds and 5 MiB. Stop sends the audio. Cancel discards unfinished local data; it cannot recall audio already received by the gateway/provider. Hiding the app or locking Cipherfold cancels an unfinished session. Undo uses the normal editor undo stack.
If the target note/selection changed, use Show pending transcript, choose the intended note and insert explicitly. Pending audio/text exists in memory only and is lost on cancellation, hiding, locking or exit. Retry uses the same request ID; ambiguous provider outcomes are never submitted again. See privacy.
Works without Cipherfold. If Cipherfold is present, dictation requires an unlocked compatible session and is cancelled before lock. Insertion goes through the native editor's ordinary encrypted save path. No enrollment file or private service is imported automatically.
npm ci --ignore-scripts
npm run check
python3 -m unittest discover -s gateway -v
Node.js 22 or 24; Python 3.10+ and ffprobe for gateway tests. No Python package dependencies. See AGENTS.md, architecture, verification and contributing. MIT licensed; independently maintained community codebase.