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.
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Free, open-source, local-first dictation that turns natural speech into polished text anywhere on macOS.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Private, push-to-talk dictation for macOS. Hold Control + Option (or a
shortcut you choose), speak, and
release to insert polished text into the app you are using.
Speech recognition and the default Vedu Scribe text cleanup run on your Mac. Audio
stays in memory, transcripts are not logged, and the default dictation flow
does not upload your speech or text. The default flow needs an internet
connection only for the initial build and model downloads.檢視完整 README ↗Private, push-to-talk dictation for macOS. Hold Control + Option (or a shortcut you choose), speak, and release to insert polished text into the app you are using.
Speech recognition and the default Vedu Scribe text cleanup run on your Mac. Audio stays in memory, transcripts are not logged, and the default dictation flow does not upload your speech or text. The default flow needs an internet connection only for the initial build and model downloads.
For example:
“I want to book a meeting for two, actually no, three PM”
becomes “I want to book a meeting for 3 PM.”
Apple Intelligence cleanup additionally requires macOS 26 or later, a supported Mac with Apple Intelligence enabled, and its model downloaded. Vedu Scribe does not require Apple Intelligence.
Download the latest signed and notarized release from app.heyvedu.com/download, open the disk image, and drag HeyVedu to Applications. The app checks for updates and installs them itself.
Or install it with Homebrew:
brew install --cask rajan9519/tap/heyvedu
Open HeyVedu.xcodeproj in Xcode, select the HeyVedu scheme and press ⌘R.
Xcode may ask you to trust the pinned MLX build-tool plugin; review the prompt and
choose Trust & Enable to continue.
Debug builds are named HeyVedu Dev (bundle ID com.heyvedu.app.dev) and run
from Xcode's DerivedData, so they never replace or collide with an installed
HeyVedu. They ask for Microphone and Accessibility separately from the installed app.
Debug builds are ad-hoc signed unless you configure a certificate, and macOS forgets an ad-hoc app's Accessibility grant after every rebuild. To keep the grants across rebuilds, sign Debug builds with any certificate you own:
cp Config/DebugSigning.local.xcconfig.example Config/DebugSigning.local.xcconfig
# set CODE_SIGN_IDENTITY and DEVELOPMENT_TEAM; the file is gitignored
To build and launch the same Debug app without Xcode's UI:
./scripts/run.sh
If xcode-select points to Command Line Tools instead of Xcode, set
DEVELOPER_DIR for that invocation:
DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer ./scripts/run.sh
To run the unit tests (⌘U in Xcode). They load into the Debug app, which skips permissions and model downloads while tests run:
xcodebuild -project HeyVedu.xcodeproj -scheme HeyVedu -skipPackagePluginValidation test
The release script builds an Apple silicon (arm64) DMG for macOS 14 or later, signs the app and disk image with Developer ID, and notarizes and staples both. Intel Macs are not supported.
cp Config/release.env.example Config/release.env
# Fill in your Developer ID identity and Team ID, and store notarization
# credentials in Keychain as described in docs/RELEASING.md.
./scripts/release.sh
For a local packaging test without Apple credentials:
./scripts/release.sh --unsigned
Outputs go to dist/. The unsigned test image is clearly labeled and is not
ready for public distribution. See Releasing for complete
signing, Apple ID setup, notarization, and installation verification steps.
HeyVedu opens a short welcome guide that walks through the steps below and a practice dictation. Once you finish it, the HeyVedu window opens, and it opens again each time you launch the app or click its Dock icon. Closing the window leaves HeyVedu running in the menu bar. Click Show Welcome Guide… on the window's Home page to see the guide again.
The first launch downloads and prepares these models:
These downloads come from Hugging Face. They contain model files only; no audio or transcript is uploaded. Later launches use the cached copies.
You can dictate while Vedu Scribe downloads: HeyVedu pastes the raw transcript meanwhile and says so once. The menu shows the download's progress, and a notice appears when cleanup starts working.
Because source builds are ad-hoc signed, macOS may forget the Accessibility grant after rebuilding. See Troubleshooting if the hotkey stops working.
Press Escape while recording to cancel. A quick tap shorter than about 0.2 seconds, another key pressed with the chord, or an added modifier is treated as a keyboard shortcut and discarded. New dictations are ignored while the previous one is being processed.
For longer dictation, tap the shortcut once instead of holding it. The floating indicator shows a lock while HeyVedu keeps listening. Press the shortcut once more to finish, or press Escape to cancel. You can type while it listens; only Escape cancels.
A hands-free recording also finishes by itself once you've been quiet for 10 seconds, after a short countdown in the indicator. Change that, or turn it off, with Stop when you go quiet in the window's Shortcut section. Either way it stops after 10 minutes. Turn off Tap for Hands-Free in the menu, or in the Shortcut section, to disable hands-free dictation; a quick tap then does nothing. While you hold the shortcut, the indicator reminds you that a tap starts hands-free.
If a dictation didn't land where you wanted, put the cursor in the right place and choose Paste Last Dictation from the menu bar icon, or Copy Last Dictation to put it on the clipboard. HeyVedu keeps only the most recent result, in memory, and forgets it five minutes after you dictated it.
When nothing that accepts text has focus (a button or a file list, for example), HeyVedu doesn't paste. It leaves the text on the clipboard and says so; press Command + V where you want it.
The text goes to the app you were in when you finished speaking. If another app comes to the front while HeyVedu is still transcribing, HeyVedu switches back before pasting. If that app has quit, the text is left on the clipboard instead.
Settings live in the HeyVedu window. Click the Dock icon, or choose Open HeyVedu… from the menu-bar icon. Its sidebar has Home (status, permissions and the welcome guide), General, Shortcut, Dictionary and Models. The menu-bar icon keeps quick toggles for cleanup, hands-free mode and the microphone.
The default is ⌃⌥. To change it, open the Shortcut section of the window, click Change…, hold the modifier keys you want, and let go. Shortcuts use modifier keys only. A single key must be fn or a right-hand ⌘, ⌥ or ⌃, because the left-hand keys start too many other shortcuts.
A shortcut recorded with any right-hand key only responds to the exact keys you held. For example, Right ⌥⌘ ignores the left ⌥ and ⌘ keys. A shortcut recorded with left-hand keys only works with either side's keys.
macOS acts on the fn (🌐) key itself. If you choose fn, set System Settings → Keyboard → Press 🌐 key to to Do Nothing. The Home and Shortcut sections link there until you do.
| Engine | Where it runs | Notes |
|---|---|---|
| Vedu Scribe | On your Mac | Default. HeyVedu's own cleanup model, a Qwen3.5-0.8B fine-tune (model card). English-only; downloads about 560 MB on first use. |
| Apple Intelligence | On your Mac | Uses Apple's on-device Foundation Model. Falls back to the raw transcript if the model is unavailable. |
Choose the engine in the window's General section. The Models section shows each model's download and lets you start or retry it. Turn off Clean Up Transcripts to paste the raw, locally generated transcript. If a cleanup engine fails or rejects a result, HeyVedu pastes the raw transcript instead and tells you why.
Open the window's Dictionary section to list words HeyVedu should always write your way: names, product terms and jargon. For each word you can add other ways the transcript writes it under Also heard as, one at a time (press Return after each), such as “hey vedu” or “Hey, we do” for HeyVedu, or “teh” for the. Because each one is entered separately, an alternative can contain a comma. Punctuation between words doesn't matter when matching, so “hey we do” also catches “Hey, we do.”
After cleanup, every match is replaced with your spelling. If a cleanup engine changes a listed word, HeyVedu pastes the raw transcript for that part instead. The Try it field shows the result on a sample sentence.
The dictionary is saved in ~/Library/Application Support/HeyVedu/Dictionary.json
and only holds what you type into it.
Open the window's Snippets section to save text you insert often, such as a scheduling link, an address, or an email signature. Under When I say, type a trigger phrase; under Insert, the text (press Option + Return for a line break). Say the trigger anywhere in a dictation (“here's my calendly link”) and HeyVedu inserts the text exactly as you typed it, line breaks included. A dictation that is only the trigger becomes only the text. Matching works like the dictionary: any capitalization, whole words, punctuation between words ignored. Pick phrases you wouldn't say otherwise.
Snippets are saved in ~/Library/Application Support/HeyVedu/Snippets.json and
only hold what you type into them.
History is off by default. Turn on Keep dictation history in the window's History section to keep a list of your dictations, newest first, with the date and time of each. Copy or delete any of them, or clear them all. Turning history off deletes everything saved.
History is saved only on this Mac, in
~/Library/Application Support/HeyVedu/History.json (readable by your user
only), and keeps the latest 1,000 dictations. Besides the pasted text, each
entry keeps the raw transcript and the cleanup model's output, so a dictation
can be included if you choose to send feedback or report an issue. Nothing is
sent anywhere automatically.
Choose System Default or a specific input device from the Microphone menu, or in the window's General section. If a selected device is missing, HeyVedu falls back to the system default and shows a notice. If a device disappears while recording, it processes the audio captured so far.
In the window's General section, Recording indicator puts the floating indicator at the bottom of the screen (the default), the top, or hanging from the camera notch. Notch uses the top of the screen on displays without one. Turn on Play sounds for a short sound when recording starts, finishes, or is cancelled.
During hands-free dictation the indicator shows how long you've been recording, and counts down for the last three seconds before stopping on silence. Speak to keep going.
The fully local path is the default:
Microphone → in-memory audio → on-device Parakeet → on-device Vedu Scribe → paste
| Data | Vedu Scribe / cleanup off | Apple Intelligence |
|---|---|---|
| Recorded audio | Memory only; stays on-device | Memory only; stays on-device |
| Speech recognition | On-device | On-device |
| Transcript cleanup | On-device | On-device |
| Dictation history | Off by default: the last result stays in memory for 5 minutes. Opt in to keep it on disk | Off by default: the last result stays in memory for 5 minutes. Opt in to keep it on disk |
| Personal dictionary and snippets | What you type only, on disk | What you type only, on disk |
Text is inserted by briefly placing it on the macOS clipboard, issuing Command + V, and restoring the previous clipboard contents after roughly half a second. Clipboard managers are asked to treat this entry as transient, but their behavior is outside the app's control. When nothing that accepts text has focus, the text is left on the clipboard as a normal copy instead.
Debug builds write timing and error diagnostics to
~/Library/Logs/HeyVedu/debug.log. Audio, transcripts, and typed
keys are not written to this log.
Open System Settings → Privacy & Security, enable HeyVedu under both Microphone and Accessibility, then relaunch the app.
Ad-hoc signatures can cause macOS to retain a stale Accessibility entry. Quit HeyVedu, run:
tccutil reset Accessibility com.heyvedu.app
Relaunch the app and grant Accessibility access again.
Check the internet connection and available disk space, then click Retry Loading Speech Model when that option appears. For Vedu Scribe, the next dictation retries its preparation. First-time Core ML compilation can take longer than later launches.
Confirm Accessibility access is enabled. The app simulates Command + V, so the target application must accept paste at the current cursor position. The text isn't lost: choose Paste Last Dictation or Copy Last Dictation from the menu bar icon within five minutes.
Check that the Mac runs macOS 26 or later and supports Apple Intelligence, that it is enabled in System Settings, and that the system model has finished downloading. You can continue with Vedu Scribe or raw transcripts meanwhile.
Keep holding the hotkey until the HUD says Listening, then begin speaking. This gives the device time to switch into its microphone profile.
HeyVedu records 16 kHz mono audio in memory with AVAudioEngine. While you speak, Silero voice activity detection scores each quarter second for speech; silence before and after you speak is trimmed before recognition. FluidAudio runs Parakeet through Core ML for speech recognition. The selected cleanup engine normalizes the transcript, personal dictionary replacements are applied, then the app temporarily uses the clipboard to paste the result into the frontmost application.
Dependencies and model revisions are pinned in the project. Vedu Scribe files are also checked against pinned SHA-256 hashes before loading. When an app update pins a newer model revision, the app downloads it on next use and deletes the old one.
HeyVedu is licensed under the GNU General Public License v3.0. Third-party packages and downloaded models retain their own licenses. Vedu Scribe is released under Apache-2.0.