opentypeless

tover0314-wMIT活跃维护

跨平台开源语音输入工具,按下热键自然说话,就能在任意应用中直接得到润色后的文字,省去手动打字。

Open-source AI voice typing for macOS, Windows, and Linux. Press a hotkey, speak naturally, get polished text in any app.

v1.1.61发布于 2026-09-29 06:51 UTC673star +5 / 7 天132fork同步于 2026-11-11 05:52 UTC

怎么上手

由 README 提炼,执行前请确认
npm install
npm run tauri dev
硬件要求按 README 说明

README 未说明显存或 GPU 要求;支持 macOS、Windows、Linux,Linux 提供 amd64 与 ARM64 包,NVIDIA + Wayland 有自动兼容处理。

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

开源跨平台 AI 语音输入工具,按热键说话即可在任意应用得到润色文本

跨平台开源语音输入工具,按下热键自然说话,就能在任意应用中直接得到润色后的文字,省去手动打字。

核心能力

  • 按热键口述,自动转写并润色后输入当前应用
  • 检测当前应用类型,按邮件、聊天、文档等调整语气结构
  • 支持选中文本改写、翻译与一次性语音问答
  • 本地词典支持导入导出与纠错规则,管理专有名词
  • 可自带 STT/LLM API Key,BYOK 模式完全离线于官方服务器

容易踩的坑

需先装 Node.js 20+、Rust 稳定版及 Tauri 平台依赖;BYOK 模式要自备 STT 和 LLM 的 API Key;Wayland 下需另装 wtype 或自行编译 kwtype,否则结果只进剪贴板;macOS 首次启动可能需执行 xattr -cr 去隔离属性。

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v1.1.61
  1. v1.1.64OpenTypeless v1.1.64pre-release2026-10-11 · 2026-10-11 14:32 UTC
    查看更新说明

    See the assets below to download and install.

  2. v1.1.63OpenTypeless v1.1.63pre-release2026-10-08 · 2026-10-08 16:02 UTC
    查看更新说明

    See the assets below to download and install.

  3. v1.1.62OpenTypeless v1.1.62pre-release2026-10-08 · 2026-10-08 15:14 UTC
    查看更新说明

    See the assets below to download and install.

  4. v1.1.61OpenTypeless v1.1.61最新正式版2026-09-29 · 2026-09-29 06:51 UTC

    What's fixed

    • Fixed the macOS Fn hold-to-dictate shortcut. Holding Fn now starts recording after a short grace period, while Fn combinations such as Fn+Space still work as configured.
    • Improved handling when macOS temporarily disables the global keyboard event tap, so a stale Fn state does not block the next shortcut.

    Downloads

    Choose the macOS, Windows, or Linux installer below. Existing desktop users can also install this version through the in-app updater after the release is finalized.

  5. v1.1.60OpenTypeless v1.1.602026-09-25 · 2026-09-25 15:58 UTC
    查看更新说明

    See the assets below to download and install.

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    What's New in v1.1.55

    • Stripe checkout for new purchases with existing Creem subscriptions kept valid.
    • More reliable cloud sign-in and billing with secure session storage, clearer service-status messages, and stronger account-state recovery.
    • Faster and more reliable providers through connection reuse and warm-up, complete Deepgram and AssemblyAI final transcripts, and preserved Custom Whisper URL queries.
    • Modern model support for GPT-5/o-series requests and the native Anthropic Claude Messages API, while Claude through OpenRouter remains supported.
    • More STT choices and safer recording limits including regional Qwen3 ASR Realtime, provider-aware duration controls, and preserved audio while providers connect.
    • Better platform support including Linux ARM64 packages, Wayland direct typing with compositor-specific helpers, and safer Windows modifier-key output.

    See the complete notes and verified installers on the latest release page.

    Product Highlights

    OpenTypeless understands more of the workflow around your voice, not only the words you said:

    • App-aware writing detects the active application locally and adapts structure and tone for email, chat, documents, issue trackers, coding tools, and more.
    • Voice intent routing distinguishes dictation, selected-text editing, translation, Ask Anything, and supported voice actions in English, Simplified Chinese, and Traditional Chinese.
    • Multiple shortcuts per workflow let you assign and reorder more than one binding for Dictation, Ask Anything, and Translation.
    • Switchable translation targets make it faster to move between the languages you use instead of keeping one fixed output language.
    • A stronger local dictionary adds correction rules plus dictionary import/export, so recurring names, terminology, and transcription mistakes stay under your control.
    • Per-app style mappings let you override the built-in app category when a detected app needs a different writing style.

    All application detection, mappings, dictionary entries, and correction rules are stored locally. App-aware polish sends only the internal app category and approved style metadata to the configured LLM path; raw window titles and document contents are not sent to the LLM or stored in history.

    Ask Anything

    Ask Anything is a shortcut-first voice Q&A flow, not a chat tab. Press the Ask Anything hotkey, speak a question, stop recording, and OpenTypeless transcribes it, sends a one-shot request to the LLM, then shows only the final answer in a small floating note.

    It is designed for quick answers with no chat history, no input box, and no extra send step. If selected-text context is enabled, Ask can also answer questions about the text currently selected in another app.

    Default shortcuts now follow the Typeless-style flow:

    PlatformDictationAsk AnythingTranslate selected text
    macOSFnFn+SpaceFn+LeftShift
    WindowsRight AltRight Alt+SpaceRight Alt+LeftShift
    LinuxCtrl+/Ctrl+.configurable

    Linux keeps conservative Ctrl-based defaults because global Right Alt handling is less reliable across desktop environments, especially on Wayland.

    Visual Tour

    App-aware AI polishLocal dictionary and corrections
    OnboardingVoice workspace

    What OpenTypeless Does

    OpenTypeless gives you four voice-first desktop workflows:

    WorkflowWhat happens
    DictationHold a hotkey, speak, transcribe, optionally polish with an LLM, then type or copy the result into the active app
    Ask AnythingStart a one-shot voice question, transcribe it, send it to the LLM, and show only the final answer in a small panel
    Selected-text editingSelect text in another app, speak an instruction, and let the LLM rewrite, summarize, translate, or fix that selection
    TranslationUse a dedicated shortcut, speak or select text, and send the result to one of your configured target languages

    Use it for emails, chat replies, meeting notes, issue comments, prompts, documentation drafts, quick answers, multilingual translation, and any workflow where speaking is faster than typing.

    flowchart LR
      Hotkey["Global hotkey"] --> Capture["Audio capture"]
      Capture --> Mode{"Voice mode"}
      Mode -->|"Dictation"| STT["Speech-to-text"]
      STT --> Polish{"AI polish?"}
      Polish -->|"Yes"| Context["Local app category + style mapping"]
      Context --> LLM["Context-aware LLM rewrite"]
      Polish -->|"No"| Output["Keyboard / clipboard output"]
      LLM --> Output
      Mode -->|"Ask Anything"| AskSTT["Transcribe question"]
      AskSTT --> AskLLM["One-shot LLM answer"]
      AskLLM --> Panel["Answer-only panel"]
      Mode -->|"Selected text"| Selection["Capture selected text"]
      Selection --> EditLLM["Apply spoken instruction"]
      EditLLM --> Output
    

    Why OpenTypeless?

    Most desktop dictation tools stop at transcription. OpenTypeless adds the AI rewrite layer, provider choice, and open-source control that power users need.

    OpenTypelessmacOS DictationWindows Voice TypingWhisper Desktop
    AI text polishing✅ Multiple LLMs❌❌❌
    Ask Anything voice Q&A✅❌❌❌
    STT provider choice✅ Cloud, Deepgram, AssemblyAI, Whisper-compatible, Doubao, and more❌ Apple only❌ Microsoft only❌ Whisper only
    Works in any app✅✅✅❌ Copy-paste
    Translation mode✅❌❌❌
    Selected-text rewrite✅❌❌❌
    App-aware writing✅ Local detection and mappings❌❌❌
    Multiple shortcuts✅ Per voice workflow❌❌❌
    Open source✅ MIT❌❌✅
    Cross-platform✅ Win/Mac/Linux❌ Mac only❌ Windows only✅
    Custom dictionary✅❌❌❌
    Self-hostable✅ BYOK❌❌✅

    Features

    AreaHighlights
    Voice captureNative Fn / Right Alt hotkeys on macOS/Windows, Linux Ctrl defaults, multiple bindings per workflow, hold or toggle mode, floating capsule states, idle auto-hide
    AI rewritingApp-aware writing, local per-app style mappings, polish styles, streaming polish, selected-text context, and custom instructions
    Ask AnythingOne-shot voice question flow: record in the capsule, think, then show a small answer note with copy support
    Voice actionsDeterministic English, Simplified Chinese, and Traditional Chinese routing for editing, translation, Ask, and supported actions
    STT providersCloud STT, Apple Speech on macOS, Deepgram, AssemblyAI, GLM-ASR, OpenAI Whisper, Groq Whisper, SiliconFlow, Volcengine Doubao, custom endpoints
    LLM providersCloud LLM or OpenAI-compatible APIs including OpenAI, DeepSeek, Claude via OpenRouter, Gemini, Groq, Qwen, Moonshot, Ollama, and more
    OutputKeyboard simulation, clipboard paste/copy-only, Windows SendInput, clipboard restore, and output-failure diagnostics
    LanguageAuto-detect speech, dedicated translation shortcut, switchable target languages, and 20+ translation targets
    DictionaryCustom terms, import/export, and local correction rules for recurring transcription mistakes
    ScenesBuilt-in scenes, local custom scenes, active scene metadata, import/export for reusable writing styles
    PrivacyLocal app detection and mappings, provider keys in the OS credential vault where available, plus BYOK and local/self-hosted paths
    Account and quotaOptional Pro and Lifetime Starter plans with shared cloud words for voice and AI
    Desktop polishDark/light/system theme, onboarding, local history search, auto-start, auto-update, cross-platform Tauri app

    UI localization currently ships with complete English and Chinese copy, plus additional locale files that may still fall back to English for newer advanced features.

    How The App Thinks

    sequenceDiagram
      participant User
      participant Desktop as OpenTypeless Desktop
      participant STT as STT Provider
      participant LLM as LLM Provider
      participant App as Active App
    
      User->>Desktop: Hold dictation hotkey and speak
      Desktop->>Desktop: Detect local app category and style
      Desktop->>STT: Send audio via BYOK or Cloud
      STT-->>Desktop: Raw transcript
      Desktop->>LLM: Optional context-aware polish / translate / rewrite
      LLM-->>Desktop: Final text
      Desktop->>App: Type or copy result
    

    [!TIP] Recommended Configuration for Best Experience

    ProviderModel
    🗣️ STTGroqwhisper-large-v3-turbo
    🤖 AI PolishGooglegemini-2.5-flash

    This combo delivers fast, accurate transcription with high-quality text polishing — and both offer generous free tiers.

    Try It in 5 Minutes

    1. Download the latest build for your platform from Releases.
    2. Choose BYOK for full provider control or Cloud if you want managed quota without API keys.
    3. Pick speech recognition and AI polish providers in Settings.
    4. Set one or more shortcuts for Dictation, Ask Anything, and Translation.
    5. Open any desktop app, press the hotkey, speak, and let OpenTypeless type the polished result.

    Download

    Download the latest version for your platform:

    Download the latest release

    PlatformFile
    Windows.msi installer or .exe setup
    macOSUniversal .dmg for Apple Silicon and Intel
    Linux.AppImage / .deb / .rpm

    Installation Notes

    Release signing differs by platform while distribution is being improved. Always download from the official GitHub Releases page.

    Windows

    Windows SmartScreen may show "Windows protected your PC":

    1. Click More info
    2. Click Run anyway

    If the installer shows a publisher validation warning:

    1. Right-click the .msi file → Properties
    2. Check Unblock at the bottom → Apply
    3. Run the installer again

    macOS

    macOS builds are Developer ID signed. If Gatekeeper still blocks first launch while notarization/stapling catches up, remove the quarantine attribute:

    xattr -cr /Applications/OpenTypeless.app
    

    Then open the app normally.

    Linux

    Ubuntu/Debian — install the .deb package:

    sudo apt install ./OpenTypeless_x.x.x_amd64.deb
    

    AppImage — make it executable and run:

    chmod +x OpenTypeless_x.x.x_amd64.AppImage
    ./OpenTypeless_x.x.x_amd64.AppImage
    

    NVIDIA + Wayland users: The app auto-detects this configuration and applies a workaround. If it still crashes on startup, run:

    WEBKIT_DISABLE_DMABUF_RENDERER=1 ./OpenTypeless
    

    Wayland users: the required helper depends on the compositor:

    • KDE Plasma/KWin Wayland uses kwtype, which must currently be built and installed using the upstream instructions.
    • Other Wayland compositors use wtype. On Ubuntu/Debian run sudo apt install wtype; on Arch/Manjaro run sudo pacman -S wtype.

    Global hotkeys can still depend on the desktop environment. If the matching helper is unavailable or fails, OpenTypeless keeps the result in the clipboard instead of running an untrusted user script.

    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 an LLM provider and model, enable app-aware writing, manage per-app style mappings, and configure selected-text context
    • General — manage multiple Dictation, Ask Anything, and Translation shortcuts, output mode, auto-start, and idle capsule visibility
    • Dictionary — add or import custom terms, export your dictionary, and create local correction rules for recurring transcription mistakes
    • Scenes — built-in and local prompt templates with import/export for reusable writing styles
    • Account / Upgrade — sign in, check cloud words, manage Pro or Lifetime Starter access

    API keys are stored locally in the OS credential vault where available, with a local fallback for unsupported environments. No BYOK keys are sent to OpenTypeless servers — STT/LLM requests go directly to the provider you configure.

    Cloud Option

    OpenTypeless also offers optional managed cloud access so you do not need your own provider keys. Pro and Lifetime Starter plans include shared cloud words for speech recognition and AI rewriting. BYOK remains fully supported.

    Learn more about Pro

    BYOK vs Cloud

    BYOK ModeCloud (Pro) Mode
    STTYour own API key or local endpointManaged cloud words
    LLMYour own API key or local endpointManaged cloud words
    Cloud dependencyNone — all requests go directly to your providerRequires connection to www.opentypeless.com
    CostPay your provider directlyOptional Pro or Lifetime Starter

    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:

    1. Choose any non-Cloud STT and LLM provider in Settings
    2. Enter your own API keys
    3. 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:

    VariableDefaultDescription
    VITE_API_BASE_URLhttps://www.opentypeless.comFrontend cloud API base URL
    API_BASE_URLhttps://www.opentypeless.comRust 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

    Desktop pipeline:

    flowchart TB
      UI["React + TypeScript UI"] --> Tauri["Tauri commands"]
      Hotkeys["Global shortcuts"] --> Tauri
      Tauri --> Audio["Rust audio capture"]
      Audio --> Providers["STT providers"]
      Providers --> Pipeline["Pipeline orchestration"]
      Pipeline --> LLMs["LLM providers"]
      Pipeline --> Storage["SQLite history + dictionary"]
      Pipeline --> Output["Keyboard / clipboard output"]
      Account["Account + updater + cloud quota"] --> UI
      Account --> Tauri
    
    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

    • Usage summary UI for aggregate audio time and word counts
    • More provider-specific setup diagnostics
    • Better Linux desktop-environment guidance
    • More workflow presets for writing, coding, and support replies
    • Plugin-style provider extensions

    FAQ

    Is my audio sent to the cloud? In BYOK mode, audio goes directly to your chosen STT provider or local endpoint. Nothing passes through OpenTypeless servers. In Cloud mode, audio is sent to the managed proxy for transcription and quota accounting.

    Can I use it offline? With a local Whisper-compatible STT endpoint and a local OpenAI-compatible LLM such as Ollama, the app can run without OpenTypeless cloud services.

    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). Cloud plans are optional.

    Community

    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

    Built With

    • Tauri for the desktop shell
    • React and TypeScript for the UI
    • Rust for audio capture, providers, hotkeys, output, and local storage
    • i18next for multilingual UI

    License

    MIT