TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
Cursay는 무료 오픈소스 음성→텍스트 변환으로 커서에 바로 적용됩니다
Cursay is free, open-source speech-to-text at your cursor. Use local Whisper without an account, with private history and optional Pro cloud on Mac and Ubuntu.
생산성Python · SwiftGitHub @shadoprizm온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Free, local-first, system-wide dictation for Ubuntu and macOS. Speak and your words appear at the cursor.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Speak. Your words appear at the cursor.
Website
·
Latest release
Free, open-source, system-wide dictation for Windows, macOS, and Ubuntu.
Unlimited local dictation, with optional Cursay Pro cloud quality. No Remote Desktop permission.
Cursay turns your voice into text in the application you are already using. Hold the global shortcut, dictate for as long as you need, and release. Cursay transcribes the recording, cleans the text, verifies the clipboard, and pastes it at your cursor.README 전문 보기 ↗Cursay turns your voice into text in the application you are already using. Hold the global shortcut, dictate for as long as you need, and release. Cursay transcribes the recording, cleans the text, verifies the clipboard, and pastes it at your cursor.
It is built for people who want a free, native Wispr Flow-style workflow without requiring an account or sending every thought through a subscription service. Cursay Pro is an optional managed-cloud path; it never replaces unlimited local dictation.
| Platform | Status | Start here |
|---|---|---|
| Ubuntu GNOME on Wayland | Stable public release: 1.2.1; 1.3.0 release candidate | Install on Ubuntu |
| Windows 10/11 x64 | Native release — build artifact | Windows guide |
| macOS 13+ | Native app — signed release pipeline | Mac build guide |
Silence does not end the recording. Releasing the shortcut does.
Ctrl+V.uinput device.The native SwiftUI Mac app includes a menu-bar controller, configurable push-to-talk shortcuts, native microphone capture, automatic paste, private local history and cost insights, appearance controls, all five writing modes, Smart Polish, and the same Local Whisper, Cursay Cloud, and Custom provider choices as Ubuntu. Local Whisper is bundled and starts on demand. Tagged releases are built as hardened-runtime, Developer ID-signed, notarized, stapled DMGs with signed Sparkle updates.
On macOS 13 or newer with Xcode 15 or newer and Python 3.10 or newer:
cd macos
./scripts/build-app.sh
open dist/Cursay.app
See the Mac build guide for permissions, transcription-service setup, and distribution notes.
Download and run Cursay-<version>-windows-x64-setup.exe from the matching release. The per-user installer includes the native app and private local speech service. Cursay lives in the notification area and uses Ctrl + Space for push-to-talk.
The first local dictation downloads the English base.en Whisper model. Windows may ask you to allow microphone access for desktop apps. See the Windows guide for build instructions, data locations, and current limitations.
git clone https://github.com/shadoprizm/cursay.git
cd cursay
./install.sh
The installer is per-user. It places the application in ~/.local/opt/cursay, installs user-level services, downloads wl-clipboard and ydotool from Ubuntu without installing them system-wide, and prepares the local Whisper runtime.
If GTK or the Python desktop bindings are missing, the installer will print the exact Ubuntu command needed. The local base.en model is roughly 150 MB and is downloaded once.
After installation, open Cursay from the app launcher. Ubuntu will show one Global Shortcut permission dialog. Approve the suggested shortcut or choose another one.
If the installer reports that /dev/uinput is protected, enable automatic paste with the included one-time system rule:
./scripts/enable-autopaste.sh
Ubuntu will request administrator authentication to install that narrow rule. Without it, transcription and clipboard copy still work; only the final automatic Ctrl+V is unavailable.
./install.sh --no-start # install without starting Cursay
./install.sh --skip-model # download Whisper on first local dictation
./install.sh --skip-backend # use an existing compatible STT endpoint
Installed Ubuntu builds can check for updates from Settings → Application updates. Cursay downloads the versioned release archive and checksum from GitHub, verifies the archive before installation, preserves settings and history, and keeps your existing local-backend choice.
| Data | Default location | Policy |
|---|---|---|
| Settings | ~/.config/cursay/config.json | Private to your user |
| Dictation history | ~/.local/share/cursay/history.db | Stored locally |
| Whisper model | ~/.local/share/cursay/models/ | Downloaded once |
| Temporary audio | ~/.cache/cursay/recordings/ | Deleted after transcription |
| Preserved audio | ~/.local/share/cursay/recordings/ | Only when explicitly enabled |
Existing Local Flow settings and history are copied automatically the first time Cursay runs. The original data is left untouched as a recovery copy.
Global shortcut
↓
PipeWire microphone capture
↓
Local faster-whisper (or your compatible endpoint)
↓
Meaning-preserving text cleanup
↓
Wayland clipboard write + read-back verification
↓
Private keyboard-only Ctrl+V
The shortcut portal can observe only Cursay's approved shortcut. The paste device is launched with mouse support disabled and sends only the four key events needed for Ctrl+V.
Choose Local Whisper, Cursay Cloud, or Custom in Settings. Local Whisper remains free, unlimited, accountless, and entirely on-device after the model download. Cursay Cloud is included in the optional $8/month or $80/year Pro plan, includes 1,500 minutes in each monthly service window, and falls back to Local Whisper when enabled.
Ubuntu stores Pro device tokens only in GNOME Secret Service, which requires secret-tool from the optional libsecret-tools package. macOS stores them only in Keychain. Cursay does not fall back to a plaintext token file.
The included backend uses faster-whisper with the English base.en model on CPU. To use a different model or language, edit the Cursay STT user service or the settings file.
Cursay can also call an OpenAI-compatible /v1/audio/transcriptions endpoint. Set stt_endpoint and stt_model in ~/.config/cursay/config.json. When you choose a remote endpoint, audio is governed by that provider's privacy policy; the included backend remains entirely local after its model is downloaded.
Native Insights → Dictation speed shows weighted period and all-time WPM averages, your latest session's speed, and a daily trend for the last 14, 30, or 90 local calendar days. Speed is final transcript words divided by recording minutes, including pauses. Transcription and Smart Polish wait time are excluded. Existing history is included; sessions without words or timing do not affect speed averages. Private captures are never added to history or analytics. These statistics are local to each device.
On Mac and Ubuntu, the Memory page links to the account workspace for saved thoughts, Ask Cursay, reviews, projects, and confirmed vocabulary. Windows has a workspace action in Insights and Settings. Desktop sync requires a linked account, separate workspace consent, and opting into future-capture sync. The workspace reports account feature availability; see release status for rollout gates.
The Insights page shows a provider/model cost breakdown. xAI REST speech-to-text is estimated from locally recorded duration at its published rate; unknown custom providers are left unpriced rather than guessed. Provider invoices remain the final billing authority.
The style picker has two kinds of behavior:
polish_endpoint and polish_model.Smart polish is disabled by default. With Local Whisper or Custom, its privacy depends on the text endpoint you configure. With Cursay Cloud it uses the one-use polish grant from the immediately preceding cloud transcription. The Dictate screen shows whether it is active and reports a visible fallback when that service is unavailable.
Click Correct beside Latest dictation or a History entry. Edit the text, or paste in the
corrected version from your email or another app. Click Review replacements to remember and select
only recurring recognition mistakes (for example, curse say → Cursay). Nothing is remembered until
you explicitly select a replacement and save. Save correction and copy updates the local history
entry and clipboard; paste that result into your destination app yourself.
The Corrections page lets you add or update a replacement, disable it, or delete it. Rules match whole words and phrases without regard to capitalization, use your replacement's exact spelling, and apply after basic cleanup and Smart polish. Raw mode bypasses them. Rules and corrected history stay on this Ubuntu device, separately from account Memory sync. Editing an external text box alone does not create a correction or a rule. This is explicit replacement behavior, not model retraining. History shows the corrected text's word count, while session, daily, period, and all-time WPM keep using the originally generated transcript. Typed additions or deletions never change voice speed.
Ubuntu basic filler cleanup removes um, uh, and erm, including elongated variants. It preserves
you know, I mean, ah, and er because these can carry meaning. The Insights filler counter totals
the logged basic-cleanup removals in the latest 500 history entries; older entries may include phrases
removed by earlier versions. Smart polish can independently remove fillers, and those edits are not
included in this counter. Raw mode bypasses both cleanup and polish.
Ubuntu installations built from source show the Git revision in the sidebar, a local changes indicator when the source checkout had unpublished edits, and a fingerprint of the installed application source. Hover over the build label for the full revision and fingerprint. Source archives without Git metadata are labeled unversioned and still receive a source fingerprint.
~/.local/opt/cursay/bin/cursay --check
~/.local/opt/cursay/bin/cursay --record-test
systemctl --user status cursay.service cursay-input.service cursay-stt.service
journalctl --user -u cursay.service -n 100 --no-pager
Open Cursay, go to Settings → Change shortcut, and approve the shortcut in Ubuntu's dialog. The application must be installed before the portal can associate the permission with Cursay.
Run ./scripts/enable-autopaste.sh, then check systemctl --user status cursay-input.service. Cursay will never paste an older clipboard value: if clipboard verification fails, it stops after copying the new text.
Cursay does not use the Remote Desktop portal. An old experimental Local Flow process may still be running; reinstalling Cursay disables and archives those old user services.
The Ubuntu application intentionally relies mostly on Ubuntu's system Python packages. Run its tests with:
/usr/bin/python3 -m unittest discover -s tests -v
/usr/bin/python3 bin/cursay --smoke-test
On macOS, run the Swift tests and assemble a local app bundle with:
cd macos
./scripts/build-app.sh
On Windows, run the .NET tests and build the self-contained installer with:
.\windows\scripts\build.ps1
The account website and managed API live in website/. See CONTRIBUTING.md for its Next.js, Neon, Stripe, Clerk, and AI Gateway development checks.
The local STT service declares its direct dependencies in backend/requirements.txt and installs the fully pinned,
hash-verified dependency set from backend/requirements.lock.
Contributions are welcome. Read CONTRIBUTING.md before opening a pull request, see CHANGELOG.md for release notes, and use SECURITY.md for vulnerability reports.
./uninstall.sh
Uninstalling preserves settings and dictation history. The script prints the data directory if you also want to erase it manually.
Cursay is available under the MIT License.
Future dictations can sync to account Memory after separate consent at https://cursay.com/app and enabling sync on each device. Past local history is not imported. The browser workspace provides saved thoughts, search, Ask Cursay, reviews, projects, explicit vocabulary corrections and reviewable suggestions. Intelligence uses OpenAI GPT-6 Luna through Vercel AI Gateway; speech and Smart Polish keep their existing providers.
Private capture keeps a thought out of local history, retained audio, and Memory. App exclusions fail closed when application identity is unavailable. Only approved vocabulary can inform Local Whisper hints or opted-in Cloud Smart Polish, and Raw/Code modes remain unchanged. Account-bound offline queues apply server deletions before uploads; forgetting Memory invalidates old queued data. Windows uses DPAPI for cloud credentials and its Memory outbox.
The browser dictation workspace is live, and native capture sync is in current source. Production stored Memory and paid credit top-ups remain disabled pending the owner and storage-readiness gates recorded in release status. Desktop source and cloud source live in separate repositories; see workspace alignment for their roles and verified locations.