TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
Typeflux is a macOS menu bar voice input tool built with Swift. It is designed for a fast "hold to talk, release to insert" workflow: press a hotkey, speak naturally, let the app transcribe your speech, and send the resulting text back into the currently focused app.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Typeflux - Talk. We'll Type.
Hold Fn to dictate, or double-press Fn to ask anything. Typeflux delivers lightning-fast, accurate voice-to-text directly into any macOS application. Free, open-source, and supports local models — your voice never has to leave your Mac.
1. Download Typeflux.dmg from the latest release
2. Open the DMG and drag Typeflux.app to Applications
3. Launch and grant Microphone + Accessibility permissions
Most voice input tools force you to switch apps — dictating in one place, then copying and pasting into another. That context switch breaks flow.檢視完整 README ↗An AI agent that gets things done, a launcher, voice typing in any app, screenshots and screen recording, and clipboard history — all in one app, each one shortcut away. Free, open source, and works with local models.
English | 简体中文
⬇ Download latest release (.dmg) · Release notes
Typeflux.dmg from the latest release (Apple silicon and Intel builds are available)Typeflux.app to ApplicationsmacOS 13+ · Free · No account required to get started
Asking an AI, finding a file, dictating a reply, grabbing a screenshot, pasting something you copied an hour ago — on most Macs these are five different apps. Typeflux puts them behind a handful of shortcuts, so you stay in whatever app you are already using.
It replaces a voice dictation app, a launcher, an AI chat app, a screenshot tool, a screen recorder, a clipboard manager and a translator.
| Entry | Default shortcut | What it does |
|---|---|---|
| Launcher | ⌘ Space | Find apps and files, run commands, get instant results, or ask AI |
| AI Agent | ⌘ Space, type, then ⌘ ↩ | Hand off a question or a task; the agent can search, read, edit files and operate apps |
| Voice Input | Hold Fn | Speak, release, and the text appears at your cursor in any app |
| Ring | Hold ⌃ ⌥ Space | A radial menu at the pointer — flick toward an action and release |
Every shortcut can be changed in Settings → Shortcuts. Other defaults: screenshot ⌥⌘A, clipboard & history panel ⌥⌘O.
Local files, including skills and conversation workspaces, live under
~/.typeflux/. See local data directory for the
layout and upgrade behavior.
More than chat — it can do the work for you:
One input box for everything:
⌘ ↩ on anything to start an AI conversationWindow styles range from a Spotlight-like launcher to a slim search bar, inline quick answers, and a full workspace with history, web browsing and file previews.
Hold the hotkey, speak naturally, release — the text is typed at the cursor in any app.
⌘1–9 to paste quicklyHold the ring shortcut and a radial menu opens at the pointer. Flick toward an action and release to run it; move back to the center to cancel. Up to 8 slots — defaults are voice input, chat, translate selection, screenshot, screenshot to text and clipboard history.
rw to polish, sum to summarize)Speech recognition
| Provider | Type | Best For |
|---|---|---|
| Local Model | Local | Privacy, offline use (default) |
| Typeflux Cloud | Cloud streaming | Zero-config, 60+ languages |
| Free Models | Cloud | No API key, open-source endpoints |
| Soniox | Cloud streaming | Multi-language realtime |
| Alibaba Cloud ASR | Cloud streaming | Low latency, Chinese |
| Doubao Realtime ASR | Cloud streaming | Chinese optimization |
| Google Speech-to-Text | Cloud | Multi-language, enterprise |
| OpenAI (Whisper API) | Cloud | High accuracy |
| Multimodal LLM | Cloud | Audio-capable LLMs |
| Groq | Cloud | Fast inference, low cost |
When you choose Local Model, Typeflux downloads and runs the model entirely on your Mac:
| Model | Size | Params | Best For |
|---|---|---|---|
| SenseVoice | ~350 MB | 234M | Fast multilingual, strong Mandarin/Cantonese/English/Japanese/Korean |
| FunASR (Paraformer) | ~180 MB | 220M | Fast, accurate Chinese-focused offline ASR |
| WhisperKit Medium | ~1.5 GB | 769M | Balanced English and multilingual dictation |
| WhisperKit Large | ~3 GB | 1.55B | Highest accuracy offline transcription |
| Qwen3-ASR | ~1.3 GB | 0.6B | Strong context understanding, long-form recognition |
Language models — use Typeflux Cloud, or bring your own: OpenAI-compatible Chat Completions, Anthropic Messages, OpenAI Responses, or Ollama.
In Settings → Models → Add Endpoint, choose Chat Completions, Anthropic Messages, or Responses, then enter the endpoint, API key, and model ID. The protocol is saved with the provider and used for model discovery, connection tests, rewrite, and Chat, including streamed replies and tools. Existing custom providers keep Chat Completions until you change their protocol.
You can enter a base URL such as https://api.example.com/v1 or a full inference URL. Typeflux preserves gateway path prefixes when selecting /models, /messages, /responses, or /chat/completions. Model discovery depends on the gateway exposing a compatible /models endpoint; otherwise add model IDs manually.
An iOS Chat client lives in Apps/iOS: continue conversations, use voice input, and use Typeflux Cloud or your own models. See iOS Chat Client.
For cloud providers: API keys and endpoint URLs, or a Typeflux Cloud account.
For local inference: model files are downloaded automatically on first use.
git clone https://github.com/mylxsw/typeflux
cd typeflux
# One-time setup: create a local code-signing identity so macOS
# permissions (microphone, accessibility) persist across rebuilds.
scripts/setup_dev_cert.sh
make run # build + launch as .app bundle
make dev # launch with terminal logs attached
make dev-macbook # use the MacBook API at mac-pro.local:8080
make dev-macmini # use the Mac mini API at mac-mini.local:8080
make dev-macbook PLATFORM=ios # choose an iOS device/simulator and use the MacBook API
make dev-macmini PLATFORM=ios # choose an iOS device/simulator and use the Mac mini API
make full-dev # launch dev app with bundled SenseVoice resources
make full-release # build the full notarized production installer locally
make release-continue # resume an interrupted local release
swift test # run tests
The macOS make run and make dev commands build with optimizations by default,
while retaining development-only commands and defaults. For an unoptimized build
when debugging, use TYPEFLUX_DEV_BUILD_CONFIGURATION=debug make run (or make dev).
The Mac LAN targets select a single API endpoint even when TYPEFLUX_API_URLS
is inherited from the shell. Realtime ASR addresses are supplied by the selected
API, not by the app Makefile. Set REALTIME_ASR_SERVER_ORIGINS in each API's
environment to http://mac-pro.local:8081 (MacBook) or
http://mac-mini.local:8081 (Mac mini), then restart that API service.
Clients must be on a network that can resolve these names and reach both ports.
Do not advertise 127.0.0.1 to clients on other devices.
These targets default to PLATFORM=macos. With PLATFORM=ios, they list paired
iPhones/iPads and available simulators for selection; DEVICE=<UDID> skips the
prompt. Simulator launches need no developer team. Physical-device launches
automatically use the Xcode project's team or an available Apple Development
certificate; multiple certificate teams prompt for selection. Set
TYPEFLUX_IOS_TEAM to override the team. Local HTTP is enabled
only for the iOS Debug build. See the iOS quickstart.
CI tests are opt-in. On an open pull request, a repository owner, member, or
collaborator can comment @autotest to run the test workflow.
⚠️ If you skip
setup_dev_cert.sh,make runstill works but macOS will re-prompt for permissions on each build (ad-hoc signing).
See CLAUDE.md for the full development guide.
With full Xcode 26+ and an iOS Simulator runtime installed, run from the repository root:
make ios-doctor # check the Xcode and simulator environment
make ios-run # build, install, and launch in Simulator
make ios-preview # launch an offline UI preview without an account
For a paired iPhone with development signing configured:
TYPEFLUX_IOS_DEVICE='<device-UDID>' TYPEFLUX_IOS_TEAM='<TEAMID>' make ios-deploy
The iOS app requires iOS 17+. See the iOS run, installation, and deployment guide (中文) for first-time setup, signing, API environments, local archives, and troubleshooting. These commands install the client; they do not deploy the backend or publish to the App Store.
Join the community to share feedback, ask questions, and follow development updates:
WeChat group:
Typeflux is a completely open-source project. We believe great tools should belong to everyone.
Contributions welcome — agent tools, launcher plugins and workflows, speech providers, screenshot and recording tools, text insertion edge cases, and localization are all great starting points.
make devAGPL-3.0. See LICENSE.