Capture without an input field.
Flash Route (added in v0.30+): press the hotkey, say a sentence, and AI auto-decides whether it's a todo, calendar event, or idea — routed straight to Reminders / Calendar / flomo / Notion. No window switching, no destination picking.
When to use Flash Route
- On the subway / walking / driving: hands not free for typing, but you have something to capture
- Mid-meeting thought: don't want to switch windows and break the flow
- Inspiration while reading: don't want to leave the current page
- Sudden todo: "Remind me to call Wang tomorrow morning"
- Don't know where to file an idea: let AI decide for you
Flash Route vs Main Hotkey
| Dimension | Main ⌘+⇧+; | Flash ⌘+⇧+' |
|---|---|---|
| Trigger | Hold to talk, release to stop | Press to start, press again to stop (toggle) |
| Output | Inserted at cursor | AI auto-routes to external service |
| Needs cursor? | Yes (must have input field) | No (any context) |
| Typical use | Email, docs, chat | Spontaneous thoughts, todos, on-the-go |
Basic setup
Settings → Flash Route → Enable
When on, press ⌘+⇧+' (default) to start recording at any time. Press again (or auto-stop after 2s of silence) to end + AI route.
AI routing rules
After you finish, AI judges from content:
- Todo: contains "remind", "remember to", "I should" → Reminders
- Event: contains specific time ("tomorrow morning", "next Tuesday at 14:00", "next month") → Calendar event
- Idea / inspiration: open statements, observations, thinking → flomo (default) or Notion
- Quote / study notes: "the book says...", "the article mentions..." → notes app
- Uncertain: defaults to "idea" bucket (flomo)
AI also performs necessary auto-completion:
- "Remind me to call Wang at 10 tomorrow" → Reminder title="Call Wang", due=tomorrow 10:00
- "Meeting with client next Wed 2pm" → Calendar event start=next Wed 14:00 (default 1h + 15-min advance alert)
- "Got an idea for product direction..." → flomo content = that sentence + auto-tag #idea
Connecting external services
flomo · default recommended
flomo is a simple Chinese card-note tool. Flash Route routes to flomo by default. Setup:
Settings → Flash Route → Destinations → flomo → enter Webhook URL
Find the flomo Webhook URL in flomo Settings → API. Paste it here (it's flomo's write endpoint, not an API key).
Reminders
VoiceInput uses macOS system integration for Reminders — no API config needed. Just enable:
Settings → Flash Route → Destinations → Reminders → pick default list
First time, macOS will prompt for "Reminders access" — allow.
Calendar
Same system integration approach. Enable → pick default calendar → done. Events auto-add a 15-min advance alert (configurable).
Notion
Requires a Notion API token:
- Go to notion.so/my-integrations to create an internal integration → grab token
- On the Notion page / database where you want flash captures → top-right "..." → Connections → add your integration
- VoiceInput → Settings → Flash Route → Destinations → Notion → paste token + database ID
Other notes apps (Webhook)
Supports any webhook endpoint (POST JSON). Common: TickTick, Anki, Obsidian (via Obsidian Web Server plugin), etc.
Manual routing override
AI auto-judging sometimes routes wrong (e.g. judges "remind me tomorrow" as an idea). Two fixes:
Use trigger phrases
- Say "Remind me" at the start → forces Reminders
- Say "Note this" → forces flomo
- Say "Add a calendar event" → forces Calendar
- Say "Save to Notion" → forces Notion
After-the-fact correction
After each Flash Route, a 3-second undo window appears at the bottom-right. Click "Reroute to X" to redistribute. Once corrected, similar phrasing in the future leans toward that destination (personalized learning).
Privacy · what Flash Route uploads
Flash Route flow: record → recognize (local or cloud) → AI route judgment (cloud) → dispatch to destination (e.g. flomo webhook).
- Recognition stage: same as the main hotkey — local engine fully offline; cloud engine sends audio to Volcano for recognition
- AI routing stage: recognized text is sent to a cloud LLM (DeepSeek / Doubao / your BYOK key) for judgment — this step inherently requires network
- Dispatch stage: directly calls external service APIs (flomo webhook / Notion / EventKit), result is forgotten
VoiceInput stores nothing about Flash Route content (only your local history database has records).