Files
OSGKeyboard/README.en.md
T
Rocky 9f308fadd2 feat(keyboard): ship AI hint carousel, home library cards, and clipboard polish
Rotate AI idle suggestions with optional remote packs, move history/dictionary onto self-sizing Home preview cards, harden clipboard capture/prompting, and simplify keyboard chrome by dropping most liquid-glass shadows.
2026-08-13 01:00:51 +08:00

6.8 KiB

OSGKeyboard

Speak it. It's typed.

Voice input for iPhone, iPad, and Mac. Speak in any app — polished text lands at your cursor.

Platform Platform Swift Version License

Website · 中文 README · Privacy Policy

Download now from the App Store   Download historical macOS version 1.1


Why OSGKeyboard

  • Works everywhere — Messages, Notes, Notion, Cursor, Mail, WeChat — wherever you type
  • Speak, don't edit — tap (iOS) or hold Option (Mac); AI adds punctuation and structure for you
  • Type in Chinese and English — iOS keyboard ships full/double pinyin candidates, plus English autocomplete, autocorrect, and next-word prediction
  • On-device by default — local recognition on iOS; optional local models on Mac. Cloud upload only when you opt in
  • Bring your own LLM — local ASR needs no API key; polish and AI mode use your configured DeepSeek, OpenAI, Anthropic, OpenRouter, or compatible service
  • Mac global dictation — menu-bar app, bottom overlay with live feedback, inserts into the frontmost app

Three steps

  1. Install & authorize — add the iOS keyboard with Full Access; grant mic + Accessibility on Mac
  2. Pick an engine — local ASR works without a key; add your own API key for polish or AI mode
  3. Start talking — switch to OSGKeyboard, or hold Option on Mac

Platforms

iOS / iPadOS macOS
Keyboard / global hotkey hold Option
Chinese typing (full / Microsoft / Sogou double pinyin) optional fuzzy pairs
English typing (autocomplete / autocorrect / next-word) offline lexicon + personal-dictionary boosts
Local speech recognition SpeechAnalyzer Qwen3 MLX streaming (0.6B 4-bit default) + Apple Speech fallback
AI polish
Voice AI questions (explicit Insert / Send)
Voice-edit last input
Post-polish translation
Personal dictionary iCloud sync; protects polish and boosts English suggestions
Dictation history
Live UI — (silent background keep-alive) floating pill

Privacy

Speech is transcribed on-device by default. Polish sends text only — the transcript and a small amount of nearby cursor text for continuity, never raw audio. Chinese candidate learning and English suggestion/autocorrect learning stay in the on-device App Group and are not uploaded. Secure fields disable English suggestions and autocorrect. Cursor context is not logged or saved to voice history. See the Privacy Policy.


Get the app

iPhone / iPad (App Store)

Download now from the App Store

Mac (historical version 1.1, Developer ID signed and notarized)

Download historical macOS version 1.1

Build from source

Requires macOS with Xcode 26 and XcodeGen.

git clone https://github.com/hkgood/OSGKeyboard.git
cd OSGKeyboard
./Scripts/generate-xcodeproj.sh
open OSGKeyboard.xcodeproj

Run tests:

xcodebuild test -project OSGKeyboard.xcodeproj -scheme OSGKeyboard \
  -destination 'platform=iOS Simulator,name=iPhone 17'

Architecture (brief)

OSGKeyboard/          Main iOS app (Flow session host)
OSGKeyboardExt/       Custom keyboard extension
OSGKeyboardMac/       macOS menu-bar app
OSGKeyboardShared/    App/extension shared models, typing, sync, and UI
OSGKeyboardHostSupport/ Host-only ASR, cloud, CLM, charts, and StoreKit

Flow session model (iOS): the host app keeps a long-lived audio session; the keyboard sends start/stop signals via App Group; polished text is delivered back for insertion.

Engine modes:

  • local — on-device ASR; raw text without a key, optional polish with your configured LLM key
  • cloud — uploads audio to your configured ASR provider, then polishes via LLM

See CHANGELOG.md for release history and CONTRIBUTING.md for PR guidelines.


Adding an LLM provider

Append a preset in OSGKeyboardShared/Models/LLMProvider.swift — any OpenAI-compatible /chat/completions endpoint works out of the box.


Acknowledgements

OSGKeyboard's voice and keyboard features build on these projects and platforms:

See Third-Party Notices for exact versions and licenses (Chinese Rime stack plus the OSG-owned English lexicon notice), or open Settings → About → Third-Party Licenses in the app.


License

Source Available License — this is not an open-source license. Personal, non-commercial local use is permitted; redistribution and public derivatives require permission. Commercial licensing: rocky.hk@gmail.com.