Opentypeless
Talkmore with Opentypeless. Type with your voice. Anywhere. Talk - Recoding - Polish - Done!
Install / Use
/learn @tover0314-w/OpentypelessREADME
| Settings | History | |---|---| | <img src="docs/images/app-settings.png" width="360" /> | <img src="docs/images/app-history.png" width="360" /> |
</details>Why OpenTypeless?
| | OpenTypeless | macOS Dictation | Windows Voice Typing | Whisper Desktop | |---|---|---|---|---| | AI text polishing | ✅ Multiple LLMs | ❌ | ❌ | ❌ | | STT provider choice | ✅ 6+ providers | ❌ Apple only | ❌ Microsoft only | ❌ Whisper only | | Works in any app | ✅ | ✅ | ✅ | ❌ Copy-paste | | Translation mode | ✅ | ❌ | ❌ | ❌ | | Open source | ✅ MIT | ❌ | ❌ | ✅ | | Cross-platform | ✅ Win/Mac/Linux | ❌ Mac only | ❌ Windows only | ✅ | | Custom dictionary | ✅ | ❌ | ❌ | ❌ | | Self-hostable | ✅ BYOK | ❌ | ❌ | ✅ |
Features
- 🎙️ Global hotkey recording — hold-to-record or toggle mode
- 💊 Floating capsule widget that stays on top
- 🗣️ 6+ STT providers: Deepgram, AssemblyAI, Whisper, Groq, GLM-ASR, SiliconFlow
- 🤖 Text polishing via multiple LLMs: OpenAI, DeepSeek, Claude, Gemini, Ollama, and more
- ⚡ Streaming output — text appears as the LLM generates it
- ⌨️ Keyboard simulation or clipboard output
- 📝 Highlight text before recording to give the LLM context
- 🌐 Translation mode: speak in one language, output in another (20+ languages)
- 📖 Custom dictionary for domain-specific terms
- 🔍 Per-app detection to adapt formatting
- 📜 Local history with full-text search
- 🌗 Dark / light / system theme
- 🚀 Auto-start on login
[!TIP] Recommended Configuration for Best Experience
| | Provider | Model | |---|---|---| | 🗣️ STT | Groq |
whisper-large-v3-turbo| | 🤖 AI Polish | Google |gemini-2.5-flash|This combo delivers fast, accurate transcription with high-quality text polishing — and both offer generous free tiers.
Download
Download the latest version for your platform:
| Platform | File |
|----------|------|
| Windows | .msi installer |
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Linux | .AppImage / .deb |
Prerequisites
- Node.js 20+
- Rust (stable toolchain)
- Platform-specific dependencies for Tauri: see Tauri Prerequisites
Getting Started
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri build
The built application will be in src-tauri/target/release/bundle/.
Configuration
All settings are accessible from the in-app Settings panel:
- Speech Recognition — choose STT provider and enter your API key
- AI Polish — choose LLM provider, model, and API key
- General — hotkey, output mode, theme, auto-start
- Dictionary — add custom terms for better transcription accuracy
- Scenes — prompt templates for different use cases
API keys are stored locally via tauri-plugin-store. No keys are sent to OpenTypeless servers — all STT/LLM requests go directly to the provider you configure.
Cloud (Pro) Option
OpenTypeless also offers an optional Pro subscription that provides managed STT and LLM quota so you don't need your own API keys. This is entirely optional — the app is fully functional with your own keys.
BYOK (Bring Your Own Key) vs Cloud
| | BYOK Mode | Cloud (Pro) Mode | |---|---|---| | STT | Your own API key (Deepgram, AssemblyAI, etc.) | Managed quota (10h/month) | | LLM | Your own API key (OpenAI, DeepSeek, etc.) | Managed quota (~5M tokens/month) | | Cloud dependency | None — all requests go directly to your provider | Requires connection to www.opentypeless.com | | Cost | Pay your provider directly | $4.99/month subscription |
All core features — recording, transcription, AI polish, keyboard/clipboard output, dictionary, history — work entirely offline from OpenTypeless servers in BYOK mode.
Self-Hosting / No Cloud
To run OpenTypeless without any cloud dependency:
- Choose any non-Cloud STT and LLM provider in Settings
- Enter your own API keys
- That's it — no account or internet connection to www.opentypeless.com is needed
If you want to point the optional cloud features at your own backend, set these environment variables before building:
| Variable | Default | Description |
|---|---|---|
| VITE_API_BASE_URL | https://www.opentypeless.com | Frontend cloud API base URL |
| API_BASE_URL | https://www.opentypeless.com | Rust backend cloud API base URL |
# Example: build with a custom backend
VITE_API_BASE_URL=https://my-server.example.com API_BASE_URL=https://my-server.example.com npm run tauri build
Architecture
Data Flow Pipeline:
Microphone → Audio Capture → STT Provider → Raw Transcript → LLM Polish → Keyboard/Clipboard Output
src/ # React frontend (TypeScript)
├── components/ # UI components (Settings, History, Capsule, etc.)
├── hooks/ # React hooks (recording, theme, Tauri events)
├── lib/ # Utilities (API client, router, constants)
└── stores/ # Zustand state management
src-tauri/src/ # Rust backend
├── audio/ # Audio capture via cpal
├── stt/ # STT providers (Deepgram, AssemblyAI, Whisper-compat, Cloud)
├── llm/ # LLM providers (OpenAI-compat, Cloud)
├── output/ # Text output (keyboard simulation, clipboard paste)
├── storage/ # Config (tauri-plugin-store) + history/dictionary (SQLite)
├── app_detector/ # Detect active application for context
├── pipeline.rs # Recording → STT → LLM → Output orchestration
└── lib.rs # Tauri app setup, commands, hotkey handling
Roadmap
- [ ] Plugin system for custom STT/LLM integrations
- [ ] Improved multi-language STT accuracy and dialect support
- [ ] Voice commands (e.g. "delete last sentence")
- [ ] Customizable hotkey combinations
- [ ] Improved onboarding experience
- [ ] Mobile companion app
FAQ
Is my audio sent to the cloud? In BYOK mode, audio goes directly to your chosen STT provider (e.g., Groq, Deepgram). Nothing passes through OpenTypeless servers. In Cloud (Pro) mode, audio is sent to our managed proxy for transcription.
Can I use it offline? With a local STT provider (Whisper via Ollama) and a local LLM (Ollama), the app works entirely offline. No internet connection needed.
Which languages are supported? STT supports 99+ languages depending on the provider. AI polish and translation support 20+ target languages.
Is the app free? Yes. The app is fully functional with your own API keys (BYOK). The Cloud Pro subscription ($4.99/month) is optional.
Community
- 💬 Discord — Chat, get help, share feedback
- 🗣️ GitHub Discussions — Feature proposals, Q&A
- 🐛 Issue Tracker — Bug reports and feature requests
- 📖 Contributing Guide — Development setup and guidelines
- 🔒 Security Policy — Report vulnerabilities responsibly
- 🧭 Vision — Project principles and roadmap direction
Contributing
Contributions are welcome! See CONTRIBUTING.md for development setup and guidelines.
Looking for a place to start? Check out issues labeled good first issue.
Star History
<a href="https://star-history.com/#tover0314-w/opentypeless&Date"> <picture> <source media="(prefers-coloRelated Skills
himalaya
333.3kCLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
node-connect
333.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
82.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
Writing Hookify Rules
82.0kThis skill should be used when the user asks to "create a hookify rule", "write a hook rule", "configure hookify", "add a hookify rule", or needs guidance on hookify rule syntax and patterns.
