返回插件目录

johndfowler /

johndfowler/dsh-voice

已验证

这个插件还没有填写简介。

★ 0 Stars0 Forks0 IssuesN/A 社区评分0 已确认安装
README来源: master@8cb08c3d

dsh-voice

Voice dictation for the DeepSeek Harness Web GUI composer.

A 🎙 button floats at the composer textarea's top-right corner. Tap it, speak, watch your words land in the draft — tap again to stop. Works on desktop Chrome and iOS Safari (the phone-tailnet workflow), which is the whole point.

How it works

  • Web Speech API (SpeechRecognition / webkitSpeechRecognition) — no backend, no keys, no upload beyond what the browser's speech service already does
  • Continuous recognition with interim results shown as a floating preview
  • Final transcripts append to the current draft (React-safe writes through the native value setter + input event, so the draft store picks them up — the pattern React's onChange actually listens for)
  • Hides itself on browsers without the API (Firefox)

Safety design

  • Zero DOM mutation inside React's tree — the mic is position: fixed, computed from the textarea's rect (the file-mentions crash class avoided)
  • Position re-tracks on resize/scroll/visualViewport changes and composer remounts

Install

cd ~/.dsh/profiles/web
pnpm add file:~/path/to/dsh-voice

Add dsh-voice to the profile's dsh.profile.bundles in package.json, restart the GUI, and the mic appears above the composer.

Permissions

The browser asks for microphone permission on first use (per origin — the localhost GUI and the tailnet URL are separate grants).

License

MIT

—/ 5

暂无评分

社区评论

还没有评论,来写第一条。