TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Landing page for Wispra — voice dictation for any app
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗Wispra is a desktop app for Windows and macOS that turns speech into finished text. A global hotkey opens a floating microphone over whatever you are working in; you speak, and Wispra transcribes, cleans up the text with AI and types it into the active app: email, chat, a code editor, a document, a browser. It also records and transcribes meetings, then turns them into summaries, mind maps, action items and posts.
This repository is wispra-web: the Wispra website and Wispra Cloud, the backend that lets a signed-in app transcribe and use AI through Wispra's own server instead of a personal API key, with monthly limits per plan, optional cloud sync, and a private link that connects AI assistants to your synced data.
Get the app at wispra-web.vercel.app: free to download.
Most people speak at around 150 words per minute and type at around 40. A large share of the working day goes to writing that is not hard, only slow: replies, status updates, meeting notes, tickets, comments.
Dictation should close that gap, but in practice it rarely does:
Global hotkey and floating microphone. Ctrl + Shift + Space by default, changeable in Settings. A small
microphone appears near the cursor while recording and shows when the text has been typed.
Typed where you are. The text is inserted into the active window at the cursor, including on multi-monitor setups and into maximized windows.
95+ languages, detected automatically. Speak in one language or switch mid-sentence; a language can also be pinned in Settings.
Voice commands and snippets. Say punctuation and formatting ("new paragraph", "comma"), expand your own keyword snippets into longer text, or say "delete that" to undo the last dictation.
History. Every dictation is kept on your computer with its time, topic and app, filterable by day and by topic, with a time-saved counter, AI summaries per topic, and export to TXT, Markdown or CSV.
File transcription. Drop an audio or video file into the Transcribe tab and get a transcript.
Finished text, not raw transcription. After transcription, an AI pass adds punctuation and capitals, removes fillers and fixes obvious mishearings. It is instructed never to summarise or merge sentences, and if its result is suspiciously short Wispra types your original words instead.
Modes. General, Professional, Vietnamese, Casual or your own instructions, switched from the tray menu. Wispra can pick the tone from the app you are dictating into, such as email or chat.
Record and transcribe. Record a meeting from the microphone, the computer's audio, or both, and get a transcript as it goes.
Four-column transcript. Time and speaker, topic, what was said, and action items side by side. Speakers are labelled from names said in the recording ("I'm Linh") and can be renamed; in "Both" mode paragraphs are marked You or Others. There is no voice recognition and nothing about anyone's voice is stored.
Summary, mind map and posts. A thorough summary with one section per topic; a clickable mind map that links every point back to the transcript; and draft posts for a website, Facebook, Instagram, LinkedIn and X.
Ask about the meeting. A chat panel answers questions about the transcript and highlights the part the answer came from.
Your words. Fix a misheard word once and the AI cleanup gets a hint; fix it again and it is corrected automatically. Every entry can be pinned, switched off or deleted.
Suggestions and auto-learned vocabulary. Wispra spots recurring names and terms in your History and meetings, suggests them, and uses accepted terms to prime speech recognition.
Writing style. Habits taken from your own corrections, plus your notes, guide the cleanup. A private scorecard shows whether learning is helping, and one switch turns it off.
Wispra works with your own Groq (or OpenAI) API key. Wispra Cloud is the alternative: sign in, and transcription and AI text go through this repository's server with Wispra's key.
ai_quota_exceeded error with the limit,
the amount used and the reset date, and the app shows it instead of failing. Dictation keeps working with the
uncleaned transcript.Retry-After until the minute or the day is over.Cloud sync (opt-in, off by default). Keeps a copy of your dictation History, Meetings and learned words in your Wispra account, updated a few seconds after something changes.
Connect your AI assistant. A private link lets ChatGPT, Claude, Grok, Perplexity, Cursor and other assistants that support the Model Context Protocol read your synced data, read-only. The assistant can list, search and open meetings, search dictation history, read your vocabulary and see usage statistics. The link can be given an expiry, rotated or revoked at any time; only a hash of it is stored on the server.
/api/transcribe on Wispra Cloud,
which checks the plan's minutes first and counts the seconds afterwards./api/chat/completions, which checks the monthly AI
allowance first and records the tokens Groq reports./api/sync, and
become readable by any AI assistant you have connected with your private link.| Part | Path | What it does |
|---|---|---|
| Website | app/page.tsx | Landing page: features, who it is for, comparison, FAQ, download |
| Updates | app/updates | One page per desktop release with its notes and screenshot; new releases come from GitHub by themselves |
| Sign-in hand-off | app/auth/callback, app/auth/relay | Completes sign-in in the browser and hands the session back to the desktop app through the wispra:// link |
| Transcription | app/api/transcribe | Forwards audio to Groq with the server key (whisper-large-v3-turbo, then whisper-large-v3 if turbo fails); enforces the Free plan's monthly minutes and the requests per minute and per day |
| AI text | app/api/chat/completions | Forwards chat completions to Groq with a whitelist of models; enforces the monthly AI allowance and the requests per minute and per day |
| Usage | app/api/usage | Plan, minutes and AI tokens used this month, limits and reset date, for the app's Account page |
| Cloud sync | app/api/sync | Receives the app's History, Meetings and learned words |
| AI assistant link | app/api/mcp/token, app/api/mcp/[token] | Creates, rotates and revokes the private link, and serves the read-only MCP endpoint behind it |
| Billing | app/api/webhook/polar, lib/polar-webhook.ts | Verifies Polar subscription webhooks (Standard Webhooks signature, 5-minute window), applies each delivery once (webhook_events, migration 011) and updates the account's plan |
| Database | supabase/migrations | Tables, row-level security and the functions that count usage |
The desktop app itself lives in a separate repository; its downloads and release notes are at github.com/sinhgiang/wispra-releases/releases.
Using Wispra with your own API key has no Wispra limits: only your provider's own limits apply. The limits below apply to Wispra Cloud, per account and per calendar month (UTC).
| Free | Pro | |
|---|---|---|
| Transcription through Wispra Cloud | 30 minutes per month | Unlimited |
| AI text through Wispra Cloud (cleanup, summaries, mind maps, posts, chat) | 300,000 tokens per month | 5,000,000 tokens per month |
Tokens count both what is sent to the AI and what it writes back, as reported by Groq. Pro is a subscription
handled by Polar. Both limits are set in one place in the code (lib/ai-quota.ts and
app/api/transcribe).
On every plan, Wispra Cloud also caps how many requests one account sends: 60 a minute and 2,000 a day for
transcription (a 30-second part of a recording is one request), 60 a minute and 3,000 a day for AI text. Past it
the server answers HTTP 429 with code rate_limited, the limit, and a Retry-After header; the desktop app waits
out a per-minute limit by itself. Accounts marked unlimited (subscriptions.unlimited) are not capped. The numbers
are in lib/api-call-limits.ts.
Do I need an account? No. With your own Groq API key, Wispra works without an account. An account is needed only for Wispra Cloud and cloud sync.
Is Wispra free? Yes, the app is free to download and use with your own API key. Groq offers a free tier. Wispra Cloud has a Free plan with monthly limits and a paid Pro plan.
Which languages does it understand? 95+ languages through Groq's Whisper models, detected automatically. The AI cleanup has dedicated handling for Vietnamese.
Which apps does it work in? Any app with a text field: Gmail, Slack, VS Code, Word, Notion, a browser, a terminal, on Windows and macOS.
Is my audio stored? Not by Wispra. With your own key, audio goes straight to the provider. Through Wispra Cloud, it is forwarded to Groq and not kept on Wispra's server. Dictation history is stored on your computer, and in your account only if you turn on cloud sync.
What happens when the monthly AI allowance runs out? The app says so, with the amount used and the reset date. Dictation keeps typing your words, without the AI cleanup, and nothing you said is lost. The allowance resets on the 1st of the next month.
Can an AI assistant change my data? No. The assistant link is read-only, and you can revoke it at any time.
Is the app signed? The Windows installer is not code-signed yet, so Windows SmartScreen may show a warning on first install: choose "More info", then "Run anyway".
More questions are answered on the website, or open an issue.
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router), React 19, TypeScript |
| UI | Tailwind CSS 3 |
| Database and auth | Supabase (Postgres with row-level security, Supabase Auth) |
| Speech and AI | Groq: Whisper for transcription, openai/gpt-oss-120b by default for AI text |
| AI assistant link | Model Context Protocol (@modelcontextprotocol/server 2.x, mcp-handler 2.x) |
| Billing | Polar (webhooks) |
| Hosting | Vercel |
| Tests | Vitest, with PGlite running the real migrations in an in-memory Postgres |
The desktop app is built with Electron, React and TypeScript.
This repository holds the website and the Wispra Cloud backend. It does not include an open-source licence; the code belongs to the owner of Wispra.
For development: npm install, copy .env.example to .env.local and fill in your own Supabase, Groq and Polar
values, then npm run dev. npm test runs the test suite, and npm run build checks a production build. The
production database differs from supabase/migrations/001_initial.sql in places; read
supabase/PRODUCTION_DRIFT.md before writing a migration.
wispra-web.vercel.app/updates reads the releases of
sinhgiang/wispra-releases from GitHub and re-checks them every hour. A
new version therefore appears there without any change to this repository and without a deploy, as long as
the release is published like this (the desktop app's release process does it on every release):
## New, ## Improved and
## Fixed with - bullets, each starting with a short bold lead.v0.6.6 — Mind maps you can edit.screenshot.png: 1600 × 1000, dark mode, showing what changed, with
sample content only (no real names, recordings, email addresses or file paths):
gh release upload v0.6.6 screenshot.png -R sinhgiang/wispra-releases.v0.6.6.The release is on the page, marked Latest, within an hour. Versions 0.1.0 to 0.6.5 are kept in this repository with hand-written text and images, and those entries take precedence over GitHub's. Details, and how to rewrite an entry here: docs/UPDATES.md.
Wispra is live at wispra-web.vercel.app.