
# Voxt
A macOS menu bar voice input and translation app. Hold to speak, release to paste.
AI transcription with different rules for different apps and URLs.
**English** · [简体中文](./docs/README.zh-CN.md) · [Report Issues][github-issues-link] · [Prompt](./docs/Prompt.md) · [Rewrite](./docs/Rewrite.md)
[![][github-release-shield]][github-release-link]
[![][macos-version-shield]][macos-version-link]
[![][license-shield]][license-link]
[![][release-date-shield]][release-date-link]
## ✨ Feature Overview Speak, don't type
**Speak and turn voice into text** `fn`
- Live transcription while you speak, with real-time text preview.
- Result enhancement: remove filler words, add punctuation automatically, and customize prompts your own way.
- App Branch groups let different apps or URLs use different enhancement rules and prompts, for coding, chat, email, and more.
- Personal dictionary support can inject exact terms into prompts and optionally auto-correct high-confidence near matches before output.
- Multilingual support with smooth mixed-language input.
**Speak and translate right away** `fn+shift`
- AI translation immediately after transcription.
- Selected-text translation: highlight text and translate it directly with a shortcut.
- Custom translation prompts and terminology guidance, so output matches your habits.
- Separate model selection for translation, so you can pick the strongest or fastest model for the job.
**Use voice as a prompt** `fn+control`
- Example: "Help me write a 200-word self-introduction." Your speech becomes the prompt, and the result is inserted automatically.
- Rewrite selected text by voice, for example: "Make this shorter and smoother."
- Optional rewrite answer card keeps generated content visible even when no writable input is focused.
- More than voice input: it also works like a voice-driven AI assistant.
[![][back-to-top]](#readme-top)
## Download / Install
- [Latest release](https://github.com/hehehai/voxt/releases/latest)
- Install via Homebrew:
```bash
brew tap hehehai/tap
brew install --cask voxt
```
## Development Notes
- Shared signing defaults now live in `Config/Signing.shared.xcconfig`.
- For local signing overrides, copy `Config/Signing.local.xcconfig.example` to `Config/Signing.local.xcconfig` and set your own `VOXT_DEVELOPMENT_TEAM` if needed. The local file is gitignored.
- Both the `Voxt` app target and `VoxtTests` now read signing settings from the same xcconfig so local overrides stay consistent.
- `VoxtTests` still keeps `GENERATE_INFOPLIST_FILE = YES` to avoid empty test bundle plist issues.
- GitHub Actions tests are unchanged: `.github/workflows/tests.yml` still runs with `CODE_SIGNING_ALLOWED=NO`, so no local signing file is required in CI.
- Release packaging builds unsigned first and performs Developer ID signing in `.github/workflows/release.yml`, so local signing overrides do not affect publishing.
- Releases require a **Developer ID** provisioning profile for the explicit App ID `com.voxt.Voxt`. Store its base64-encoded contents in the `DEVELOPER_ID_PROVISIONING_PROFILE` GitHub Actions secret. A Mac App Store profile is not accepted.
- Encode the downloaded profile on macOS with `base64 -i Voxt_Developer_ID.provisionprofile | tr -d '\n'`, then paste the output into that secret.
- The release workflow embeds that profile and verifies its App ID, Keychain access group, expiration, and final signed entitlements before packaging. Keep the Team ID, bundle ID, and Keychain access group stable across releases so existing Data Protection Keychain credentials remain readable.
## Model Support