These docs describe Krovi v0.3.0 and its 19 tools. What is new in v0.3 is marked New in v0.3: Agent Mode and Talk to Agent, Circle to Ask, Clean My OS, Extras, dictation into any app, read aloud settings, four new themes and an optional AI key of your own. The changelog has the summary. The v0.3 features are covered by automated tests; the network audit lists what has and has not yet been traced on a real desktop or on the wire.
Install
Krovi is a single small Windows app. There is nothing to sign into and nothing to configure before it’s useful.
- Open the download page (or GitHub Releases) and pick the
x64-setup.exeinstaller. The.msiis there for managed deployments. - Optional but recommended: check the file against the SHA-256 shown next to it on GitHub.
PowerShell
Get-FileHash .\Krovi_*_x64-setup.exe -Algorithm SHA256 - Run the installer. Windows SmartScreen may say “Windows protected your PC” because Krovi isn’t code-signed yet. Choose More info → Run anyway once you’ve verified the checksum.
About WebView2. Krovi’s interface uses the Microsoft Edge WebView2 runtime, which ships with Windows 11. If it’s missing, the installer downloads it from Microsoft. That is the installer’s download, not something the Krovi app does.
Requirements: Windows 10 or 11, 64-bit. Krovi has only been tested on Windows 11; Windows 10 is untested and may or may not work. (Local dictation and Talk to Agent also need a CPU with AVX2, found in CPUs from 2013 onward.) Roughly the size of a photo to download; no account, no licence key.
First run
Krovi starts as a small pill at the top centre of your primary monitor and puts an icon in the tray. Click the pill, or press Ctrl + Alt + Space from anywhere, and it springs open into the panel.
Find your way around
- Left rail: one icon per tool. Switch tools with a click.
- Header: the current tool, the date and time, and the close and quit controls.
- Content: the Home overview or a focused tool.
- Stats strip: live memory and disk usage along the bottom.
Fold it away
Press Esc, click anywhere else, press the hotkey again, or use the panel’s close button. It morphs back into the pill and stays out of the way.
How it behaves
- The pill never blocks your clicks. The invisible area around it passes clicks through to the app underneath; only the visible pill or panel is clickable.
- It hides during fullscreen. Games, video and presentations that cover the whole monitor hide the pill until they end (optional).
- One instance. Launching Krovi again expands the existing panel instead of opening a second window.
- Always reachable. The tray icon toggles the panel on left-click; its menu has Open Krovi, Show pill, Settings and Quit Krovi.
Keyboard shortcuts
Krovi is keyboard-first. These are the defaults; the summon hotkey is rebindable in Settings.
| Action | Shortcut |
|---|---|
| Summon or fold the panel (global) | Ctrl+Alt+Space |
| Open the command palette | Ctrl+K |
| Dictate into any app (hold or toggle; you can change it) New in v0.3 | Ctrl+Alt+D |
| Talk to Agent (hold to talk; off until you turn it on in Settings) New in v0.3 | Ctrl+Alt+A |
| Circle to Ask: drag around part of the screen (can be turned off) New in v0.3 | Ctrl+Alt+C |
| Fold back to the pill | Esc · click away · the hotkey again |
| Quit Krovi (panel focused) | Ctrl+Q |
| Toggle from the tray | Left-click the tray icon |
If you set a hotkey that is invalid or already taken by another app, Krovi reports the error and keeps your previous binding rather than silently failing.
The 19 tools
Every tool works offline except where a live fetch is noted (Weather, exchange rates, the optional ElevenLabs read-aloud, and Ask AI with your own key). Fifteen tools carry over from earlier releases; four are New in v0.3: Agent, Circle to Ask, Clean My OS and Extras. Try most of the older ones in the live demo.
Home
The overview: cards for clipboard, focus, now playing, weather, screen time and system load. Glance, act, fold it away.
Clipboard
A live, searchable history of text, links and images. Krovi notices a copy within a fraction of a second, slides it to the top and makes the pill glow. Pin the clips you reuse; filter by type; re-copying an existing item promotes it instead of creating a duplicate. History keeps up to 200 unpinned entries, and pinned items are never evicted. Copies flagged by password managers are never stored.
Timers
Several countdown timers at once plus a lap stopwatch. A notification fires the moment a timer finishes, even if the panel is folded away. You can also start one by voice.
Pomodoro
The timer engine in focus mode: work and break cycles with a session counter. Start it from the tool or say “start pomodoro”.
File Shelf
A holding area for drag-and-drop. Pull a file in from Explorer to park it on a named shelf, then drag it out into an email, a chat or another folder. Parked files keep their name, size and the time you added them.
Quick Transfer
Send files between this PC and your phone over your own Wi-Fi. Drop a file, a QR code appears, and your phone downloads it; the same page can send a file back. The small local server exists only while a share is open, serves unguessable token links on your local network, and closes itself when the share expires or you stop it. You can add a PIN to a share, and a limit on the size of uploads. Received files land in Downloads\Krovi, renamed rather than overwriting anything. There is no cloud relay and no account. It is plain HTTP, with no TLS, so anyone who can sniff your Wi-Fi could see the link and the files: use a network you trust and stop the share when you are done. Folders can’t be shared yet (pick the files inside). New in v0.2. If the phone can’t connect, see Troubleshooting.
Media
Shows whatever Windows reports as playing (Spotify, your browser, any app that registers with the system media controls): title, artist, album, artwork and a live progress bar, with play/pause, next and previous. It reads the media session and sends transport commands only; it never captures audio.
Calendar
A month view with reminders and a bundled, offline holiday dataset. A timed entry is a real reminder. At its time, Krovi raises a Windows notification and plays the system reminder sound, whether Krovi is a pill, an open panel or hidden. Snooze it 5 or 10 minutes, dismiss it, or click it to open the Calendar. If Krovi was closed at the time, the reminder fires once on the next start, marked as missed (more than a day overdue is only marked, and four or more at once share one summary notification). Each fire is saved before the notification is shown, so a reminder never rings twice. You can also set one by voice, and Krovi reads back the exact date and time it understood. Do Not Disturb: when Windows Do Not Disturb or alarms-only is on, Windows files the notification quietly in the notification centre with no banner and no sound, Krovi skips its own sound, and the Calendar shows a one-line warning; the in-app banner still appears. Banners last about five seconds, and the Snooze and Dismiss buttons on the notification work only while the banner is on screen, so the Calendar always offers Snooze too. Reminders are new in v0.2. India covers gazetted holidays, restricted holidays and observances (Department of Personnel and Training); the US covers federal holidays (OPM); Great Britain covers England and Wales, Scotland and Northern Ireland bank holidays (GOV.UK), for 2025 to 2027. Each year’s dates carry a documented source, and nothing is fetched from the network. The holiday data is new in v0.2.
Weather
Current conditions and a five-day forecast from the keyless Open-Meteo API. Your location is coarsened to about 0.1 degrees (roughly 11 km) before the request, and the request happens only when you open or refresh the tool. Never opening Weather means it never makes the call.
Notes
Fast scratch notes that autosave as you type. Real checklists sit inline with your text: tick-box items can be mixed with ordinary paragraphs in the same note. Press the mic to dictate instead of typing; the note appears in the list the moment dictation finishes. Checklists are new in v0.2.
Explain
Paste any text and get a summary (short, medium or key points), then have it read aloud. The summary is made on your PC with no network call; it is extractive, meaning it picks out the important sentences rather than writing new ones. Krovi does not generate AI explanations in this version. Read aloud uses the built-in Windows voices by default, on-device. Optionally, if you paste your own ElevenLabs key, read aloud can use ElevenLabs voices; that sends the text being read to ElevenLabs (api.elevenlabs.io), is off until you set it up, falls back to the Windows voice if it fails, and can be removed at any time. There is no relay and no shared key; your key is stored in Windows Credential Manager, never in plain text. New in v0.2.
World Clocks
Several time zones at a glance, ticking live. Handy when the people you work with aren’t in your city.
Convert
Unit conversion computed entirely on your device, plus currency conversion from reference exchange rates (ECB data via the keyless Frankfurter API). Rates are fetched when you refresh and cached, so conversion keeps working offline.
Screen Time
Your top apps per day. Krovi samples the foreground application and records process names and durations only, never window titles and never URLs. The data stays in your local database and is never transmitted.
Agent New in v0.3
Type a sentence such as “open youtube and search youtube for lofi, then remind me in 20 minutes to stretch”. A built-in planner on your PC (not an AI service) turns it into a short plan. Safe steps run straight away. A step that schedules something, opens an address Krovi does not know, or prepares an email waits on a card that says Needs your OK, with the details. Krovi never sends email: it opens a draft in your mail app and you press Send. A step it cannot do is shown as Not run, with the reason. MCP servers can be recorded in a registry, but Krovi does not start or contact them yet. In the browser demo, links and email drafts are not opened; timers, notes and reminders work.
Talk to Agent is an optional hold-to-talk shortcut, Ctrl+Alt+A, off until you turn it on in Settings. While you hold it the pill reads Listening for a command. Local Whisper turns your words into text for Agent Mode, and any step that needs approval still shows its card. See Dictation & Talk to Agent.
Circle to Ask New in v0.3
Press Ctrl+Alt+C from any app and drag a circle around part of the screen. Krovi dims the screen, then reads only that area, once, on your PC with Windows text recognition (it needs a text-recognition language pack, and says so if you have none). Esc, a right-click, pressing the shortcut again, or 90 seconds without a selection close it without capturing anything. From the result you can copy the text, search the web for it (your browser opens a Google search; you click to do this), or Ask AI with your own key. Asking sends the question and one picture of the circled area to the provider you chose, only after you confirm; the picture is kept in memory for at most 2 minutes so you can ask, and is never saved to disk.
Screen awareness is separate. You start it, it lasts 5 to 30 minutes (10 by default), an indicator stays visible the whole time, and the screen is captured only when you press Ask. Starting it captures nothing, and you can stop it with one click. Nothing is ever captured passively or in the background.
Clean My OS New in v0.3
Finds junk you can safely clear: temporary files, caches, crash dumps and old installers. A scan only reads. Krovi lists every folder and file with its real path, size and age, grouped so you can tick what goes. Nothing moves until you press Move to Recycle Bin and confirm on a screen that lists each group. Everything goes to the Recycle Bin, so you can restore it. Files changed in the last 24 hours are left alone, shortcuts are not followed, and Krovi never asks for administrator rights. In the browser demo the files are made up and labelled DEMO.
Extras New in v0.3
Five small helpers in one place: a Quick Launcher that finds your installed apps from the command palette (Ctrl + K), snippets for text you retype, file organiser rules, workflows, and a local search by name. Extras runs on your PC; its code contains no network calls.
Settings
The summon hotkey, pill and startup behaviour, themes, dictation and Talk to Agent, Circle to Ask, read aloud (voice and speed), and your optional AI key. Details below.
Voice
Krovi can turn your voice into a note and run a fixed list of commands. Recognition runs on your PC with Windows speech (SAPI 5): there is no cloud speech service, no audio upload and no account. Voice starts when you press the mic, so nothing listens in the background and there is no wake word. Voice is new in v0.2.
A closed command set, not open-ended chat. In command mode Krovi listens only for the phrasings listed on this page, plus three places where free speech is allowed: the body of a note, the text of a reminder, and the search term of “find”. Anything else is rejected or ignored; it is never interpreted, guessed at or sent anywhere. “Could you maybe pull up my stuff from last week” does nothing. Folders and apps are a closed set as well: only names Windows itself lists (below) are heard and acted on. The same wording works when you type it.
Two modes
- Dictation. Press the mic in Notes and speak. Krovi turns what you said into a new note and refreshes the list.
- Commands. Press the mic from the pill or panel and say one of the commands below. Krovi acts on it right away.
While you talk, the pill shows Listening and then Processing. If something goes wrong it shows an error instead of failing silently. Because the recogniser only matches phrases it was given, accuracy is high for the fixed parts and lower for free text (note bodies, reminder titles, search terms); it was measured with synthesised speech, and real microphones differ. A phrase heard with low confidence does nothing if it would launch an app (“I am not sure I heard that right… Say it again.”).
Notation below: {a|b} means one of, [x] optional, <n> a number from 1 to 99 (spoken as words or digits), <text> free speech.
Commands
Open a Krovi tool
| You say | Examples |
|---|---|
{open|show|show me|go to|switch to|launch|take me to|bring up|view} [the|my] <tool> | “open the calendar”, “show me clipboard”, “go to settings” |
<tool> and the words that mean it: home (home screen, dashboard, overview) · clipboard (clipboard history, copy history, clips) · timers (timer, stopwatch, countdown, countdowns) · pomodoro (pomodoros, pomodoro timer, focus, focus timer, focus mode, focus session) · shelf (file shelf, files) · media (music, now playing, player, media controls) · calendar (agenda, schedule, events, reminder, reminders) · weather (forecast) · notes (note, notebook) · clocks (clock, world clocks, world clock, time zones, time zone) · convert (converter, conversion, currency, currency converter, unit converter, units, exchange rates) · screen time (screentime, app usage, usage) · settings (preferences, options, configuration).
A Krovi tool wins over a folder or app of the same name for open, show and go to, so “open settings” is Krovi’s Settings. Say launch for the installed Windows app (“launch settings”), or folder for the Windows folder (“open music folder”).
Timers, Pomodoro, close
| You say | Examples |
|---|---|
{start|set|begin} [a|an|the] timer for <n> {second|seconds|minute|minutes|hour|hours} | “start a timer for five minutes” |
timer for <n> {seconds|minutes|hours} | “timer for ten minutes” |
{start|set|begin} [a|an|the] <n> {second|minute|hour} timer | “set a ten minute timer” |
{start|set|begin} [a|an|the] timer for {an hour|half an hour|a minute|a quarter of an hour} | “start a timer for half an hour” |
{start|set|begin} [a|an|the] timer | opens Timers |
{start|begin|run} [a|the] {pomodoro|focus} [timer|session|mode] | “start a pomodoro” |
{pause|resume|stop|cancel} [the] {timer|pomodoro|stopwatch|countdown} | “pause the timer” |
{close|hide|dismiss|collapse|minimize} [the] [panel|krovi|window|shelf]; go away; never mind; that is all | “close” |
Timers run from 1 second to 100 hours.
Notes
| You say | What happens |
|---|---|
{new note|take a note|make a note|add a note|create a note|note to self} <text> | “new note buy milk” makes a note “Buy milk” |
| the same opening on its own | opens Notes |
{save this as a note|save that as a note|save it as a note|make this a note|turn this into a note|add this to my notes|copy this to a new note|put this in a note|write this down|note this down|note this} | saves the text you had selected; needs a selection |
Reminders
| You say | Examples |
|---|---|
{add a reminder|set a reminder|create a reminder|make a reminder|new reminder|remind me} <when and what> | “set a reminder for tomorrow at nine thirty in the morning to renew the passport” |
also accepted as openings: remind me {to|at|in|on|about|today|tonight|tomorrow|this morning|this afternoon|this evening}, {set|add|create} a reminder {for|to} | “remind me at five pm to call mom” |
The short opening “remind me” is the weakest for the recogniser; “set a reminder for …” held up best in testing. The date and time words are found by a local parser and removed from the title; what is left is the title. Understood time phrases (today is the day you say it):
| You say | It means |
|---|---|
| “at 5pm”, “at 5:30 pm”, “at five thirty”, “at 17:00” | that clock time; with no am/pm, 1 to 6 means PM and 7 to 11 means AM |
| “at 5:30 in the evening”, “at 6 in the morning”, “at 9 at night”, “at 3 o’clock” | am/pm from the part of the day; “o’clock” keeps the default above |
| “at noon”, “at midnight”, “half past three”, “quarter past four”, “quarter to five” | 12:00, 00:00, 15:30, 16:15, 16:45 |
| “in 20 minutes”, “in two hours”, “in an hour”, “in half an hour”, “in a quarter of an hour”, “in an hour and a half” | now plus that, to the minute |
| “in 3 days”, “in two weeks”, “in a month” | that many days, weeks or months ahead (no time) |
| “today”, “tonight”, “tomorrow”, “the day after tomorrow” | that day; “tonight” is 20:00 unless you give a time |
| “friday”, “on friday”, “this friday”, “next friday” | the next such day after today; “this” may be today; “next” is that day in the following Monday-to-Sunday week |
| “tomorrow at 9”, “tomorrow morning”, “friday afternoon at 3”, “this evening at 7” | day plus time; morning 09:00, afternoon 15:00, evening 18:00, night 20:00; an hour with no am/pm follows the part of the day |
| “on friday at noon”, “december twenty fifth”, “march 3rd”, “the 5th” | a named day, a month and day, or a day of this month |
| a time with no day (“at 9”) | today if still ahead, else tomorrow |
Krovi reads back the exact date and time it resolved, for example “Reminder set for today, Sun 1 Nov, 5:00 PM: Call mom”. With no time spoken the entry is a calendar item with no alert, and says so. Reminders ring through Windows notifications; see Calendar for snooze, missed reminders and the Do Not Disturb caveat.
Using “this” (the selection you had when you started)
| You say | What happens |
|---|---|
{copy this to the file shelf|copy this to the shelf|put this on the shelf|put this on the file shelf|put it on the shelf|add this to the shelf|add this to the file shelf|save this to the shelf|move this to the shelf|drop this on the shelf|shelve this} | files or text go on the shelf |
{send this to my phone|send it to my phone|send that to my phone|send this to the phone|send this to phone|share this with my phone|transfer this to my phone} | routes the selected files to Quick Transfer |
Both need something selected when you start; otherwise the answer says nothing is selected. Krovi reads the selection only when you start a voice command, and only the minimum.
Media
{next track|next song|skip track|skip song|skip this song|skip this track|play the next track|previous track|previous song|last track|last song|pause music|pause the music|pause playback|play music|resume music|resume playback|toggle music|what’s playing}. When typed, bare “pause”, “skip”, “play” and the longer “what song is this” forms also work.
Open a folder, or list what is in it
| You say | Examples |
|---|---|
{open|show|show me|go to|browse|take me to|bring up} [the|my] <folder> [folder] | “open downloads”, “show my pictures”, “open krovi downloads” |
{what’s in|what is in|what’s inside|what is inside|tell me about|list|list the contents of|show me what’s in} [the|my] <folder> [folder] | “what’s in downloads”, “tell me about the desktop” |
<folder> is exactly one of: Desktop, Documents, Downloads, Pictures, Music, Videos (the Windows known folders, wherever OneDrive or you moved them), Krovi downloads (Downloads\Krovi, where Quick Transfer saves), and the folders in Explorer’s Quick Access (pinned and frequent) by their Explorer names. Spoken aliases: “docs” (Documents), “pics” (Pictures), “movies” (Videos). Nothing else is understood. Opening shows the folder in Explorer. “What’s in” reads the folder with the file system only: item count, files and folders, the total size of the files directly inside, the newest three by name, and up to 50 rows (newest first) in the panel. It does not look inside subfolders and skips hidden and system items.
Launch an app
| You say | Examples |
|---|---|
{open|launch|start|run|start up} [the] <app> | “open notepad”, “launch spotify”, “start firefox”, “launch visual studio code” |
<app> is one of the apps in your Start menu (Windows’ own app list plus Start-menu shortcuts), by the name shown there. Brand prefixes are optional (“chrome” for Google Chrome, “edge” for Microsoft Edge) and a few aliases are built in (“vs code”, “cmd”, “explorer”, “ppt”). A name that matches several apps equally launches nothing and lists the candidates. Web links, documents and uninstallers in the Start menu are not apps and are never launched.
Find a file by name
| You say | Examples |
|---|---|
{find file|find files|find the file|find me|search for|search my files for} <text> | “search for tax return”, “find the file budget”, “find me boarding pass” |
A bare “find …”, “look for …” or “locate …” is deliberately not in the spoken list (it made the recogniser swallow noisy audio that was really another command); typed, they work too. Find searches the Windows Search index for file names that contain your words (folders included), newest first, 20 results, shown as rows in the panel. A row opens its folder, or shows the file selected in Explorer; a found file is never run. There is no disk scan: only what Windows has indexed is searched (a freshly created file may not be indexed yet), and AppData is skipped.
Not supported (yet)
- Open-ended natural language, questions, chit-chat, or several commands in one sentence (“open notes and start a timer”).
- Folders and apps outside the sets above: any other path or drive, network shares, subfolders (“downloads slash invoices”), recent files, and websites or URLs. The voice commands on this page never open a web page (Agent can, with a card for addresses it does not know).
- Searching file contents, searching inside one folder only, searching by type, date or size (“pdfs from last week”), non-indexed locations, the web, email or messages.
- Doing anything to a found file or folder by voice: open, run, copy, move, rename, delete or send.
- Quitting or closing apps and windows, killing processes, and system actions (shut down, volume, brightness, Wi-Fi, lock).
- Typing into other apps with these commands. Dictation into any app is a separate feature, below.
- Editing, deleting, snoozing or listing reminders by voice; recurring reminders (“every Monday”); years in dates (“march 3rd 2027”); “next year”.
- Languages other than English (US). Names that cannot be pronounced from their letters may not be heard.
- Hands-free “always listening” or wake words: voice only listens after you start it.
Voice and the network
The voice commands on this page make zero network calls: note dictation, the commands above, folder and app lookups, file search and reminders all run against your PC. (Whisper dictation and Talk to Agent also recognise speech on your PC; their one network use is the model download, described below.) The audit’s Voice v3 section shows the evidence: a source audit with no network API in the voice crate’s dependency tree, and a runtime capture of real recognised commands in which the process owned no TCP or UDP endpoint at any sample (with a positive control to show the capture would have seen one). What a launched app does afterwards is that app’s business, exactly as if you had started it from the Start menu; these voice commands never launch a web address.
Windows must allow desktop apps to use the microphone (Settings → Privacy & security → Microphone). If voice isn’t available on your machine, the mic is disabled and Krovi says so.
Dictation & Talk to Agent New in v0.3
Two ways to speak to your PC that work in any app. Both recognise speech on your PC with Whisper: there is no cloud speech service, audio is never stored and nothing is uploaded. They need a CPU with AVX2 (2013 or newer).
Dictation into any app
- Hold to talk, or toggle. Ctrl+Alt+D by default, and you can change it. Krovi types your words where your cursor is. While you speak the pill shows Listening, then Transcribing.
- You pick the model. Tiny, Base or Small (multilingual), or Base English-only. In Settings you press Download once; the file comes from Hugging Face and its SHA-256 checksum is verified. The first model you download becomes the one in use.
- When an app will not accept typing, the pill says it couldn’t type it and offers to copy what you said instead.
- Settings also lets you choose a microphone and test it.
Talk to Agent
An optional shortcut, Ctrl+Alt+A, off until you turn it on in Settings. Hold it and say what you want; the pill reads Listening for a command. Local Whisper turns your words into text and hands it to Agent, which makes the same plan as if you had typed it. Any step that needs your OK still shows its card. Saying a command is not a way around the cards.
The browser demo cannot do either. They record and recognise speech on your PC, so they only run in the desktop app.
Your own AI key New in v0.3
Krovi has no account and no server of its own, so there is no Krovi AI. If you want AI-powered features, bring your own key: Settings → AI takes a key from Anthropic, OpenAI, Google Gemini (an AI Studio key; free tier available, switched on only after you accept a notice) or Groq (free tier available). Local tools never need a key.
- Where the key lives. In Windows Credential Manager, never in plain text and never in a web address.
- Where requests go. Straight from your PC to the provider you chose. Krovi runs no relay and never sees the question or the answer.
- Until you add a key, Ask AI is switched off and says Set up an AI provider in Settings → AI. There is no bundled or trial key.
- What Circle to Ask sends when you confirm: your question and one picture of the circled area, not the recognised text.
- Answers are labelled AI-generated, may be wrong.
Settings
| Setting | What it does |
|---|---|
| Summon hotkey | The global shortcut that expands or folds the panel. Default Ctrl + Alt + Space. |
| Show the pill | Keep the small pill on screen, or rely on the tray and hotkey alone. |
| Collapse when I click away | Fold back to the pill when the panel loses focus. |
| Hide in fullscreen | Hide the pill while a fullscreen app (game, video, presentation) covers the monitor. |
| Launch at login | Start Krovi automatically when you sign in to Windows. |
| Theme | Follow Windows, or pick one of ten: Graphite, Porcelain, Mochi, Arcade, Terracotta, Tide and, new in v0.3, Obsidian, Linen, Voxel and Pixel Meadow. It applies to the panel, the pill and the idle companion. |
| Dictation and Talk to Agent | Turn each on, change the shortcuts, choose and download a Whisper model, pick a microphone and test it. New in v0.3. |
| Circle to Ask | Switch the shortcut on or off and start or stop a screen awareness session (5 to 30 minutes). New in v0.3. |
| Read aloud | Choose the Windows voice and speed, and preview it. New in v0.3. |
| AI | Add, test or remove your own key for Anthropic, OpenAI, Google Gemini or Groq, and choose a model. New in v0.3. |
| Rest as a companion | After a few idle seconds the collapsed pill rests as a pair of eyes that look around and blink; any hover, click or shortcut wakes it instantly. It never takes focus and can be switched off. New in v0.2. |
Privacy & verification
The privacy claim is meant to be checkable, not just stated. The source is public, and a written audit traces every place the app can open a network connection.
Every outbound request Krovi can make
| Call | Endpoint | Sent | When |
|---|---|---|---|
| Weather | GET api.open-meteo.com/v1/forecast | Coarse latitude/longitude (about 11 km). No identifiers. | When you open or refresh Weather |
| City search | GET geocoding-api.open-meteo.com/v1/search | The city name you type. Nothing else. | Only if Windows Location is unavailable and you search for a city |
| Currency | GET api.frankfurter.dev/v1/latest | The base currency code only. No identifiers. | When you refresh exchange rates |
| Read aloud through ElevenLabs (opt-in) | api.elevenlabs.io | The text you ask Explain to read aloud, with your own ElevenLabs key. Labelled in the app as sending text to ElevenLabs. | Never by default. Only after you paste your own key; remove the key to stop. New in v0.2. |
| Whisper model download v0.3 | GET huggingface.co/ggerganov/whisper.cpp/resolve/main/<file> (and the Hugging Face download network it redirects to) | A request for one model file from the fixed catalogue. Nothing about you. | Once, when you press Download in Settings. The SHA-256 is verified. |
| Asking an AI provider v0.3 | api.anthropic.com, api.openai.com, generativelanguage.googleapis.com or api.groq.com (only the provider you chose) | Your question, and for Circle to Ask one picture of the circled area, with your own key in a request header. | Only when you press Ask and confirm. Without a key, never. Listing a provider’s models and testing a key also contact it. |
That is the whole list of outbound requests made by Krovi itself. There is no telemetry, analytics, crash reporting, advertising, account or automatic update. Updating Krovi means downloading a newer installer yourself. Three things are not on the list because they are not requests Krovi makes: speech (voice commands, dictation and Talk to Agent are recognised on your PC; the only network use is the one-time model download above), Quick Transfer, which runs a short-lived server on your own local network only while a share is open, and links that open in your browser (a web search from Circle to Ask, an address Agent opens, a provider’s key page). For those your browser makes the request when the page opens, on a click or after you approve a card; Krovi sends nothing itself.
What is never sent
- Clipboard contents, notes, files, reminders and screen time. They stay on your PC.
- Audio from voice, dictation or Talk to Agent, and what you said. Speech is recognised locally.
- Anything Circle to Ask reads, unless you press Ask AI and confirm. Then one picture of the circled area goes to the provider you chose, using your key. It is never saved to disk, and nothing is captured in the background.
- Text for the Explain summary. The summary is made on your PC. Only if you switch on the ElevenLabs voice is the text being read sent to ElevenLabs, and your key is kept in Windows Credential Manager, never in plain text.
- Screen time never includes window titles or URLs, even locally.
Verify it yourself
- Read the audit:
docs/SECURITY-network-audit.md. - Search the source from the repository root:
PowerShell / bash
rg -n "ureq|TcpStream|UdpSocket|std::net::|fetch\(|XMLHttpRequest" src src-tauri/crates - Watch the wire: run Krovi under Resource Monitor (Network tab), Wireshark or Fiddler. You should see traffic to the hosts above only when you use Weather (or search for a city), refresh rates, press Download for a Whisper model, ask an AI provider with your own key, or have switched on the ElevenLabs voice. Voice commands should show none.
An honest caveat. The Tauri framework Krovi is built on pulls in HTTP libraries (reqwest, hyper) as transitive dependencies. Krovi’s own code doesn’t call them and no auto-updater is configured, but the strongest check is a network trace of the built binary, so please run step 3.
This website
The site makes no third-party requests: no analytics, no cookies, no CDNs, no third-party fonts or embeds (the typefaces and videos are served from this site). A strict Content-Security-Policy tells your browser to refuse anything else. The live counter in the privacy section checks this in your own browser.
Data & storage
- Krovi keeps its data (clipboard history, notes, reminders, shelf items, screen-time totals and settings) in a local database in your Windows app-data folder, under
%APPDATA%. - There is no cloud copy and no sync. If you move to a new PC, copy the folder across or use your own backup.
- Clear your clipboard history from the Clipboard tool. Pinned items are kept unless you remove them.
- Copies flagged by password managers are never stored in the first place.
Browser demo
The live demo is the real panel UI running in your browser with in-memory sample data and no backend. Clicking the pill expands it exactly as in the app. It is a preview, not the product: it doesn’t read your actual clipboard, media session or files, and it doesn’t send anything anywhere.
The demo is a separate page on purpose. The home page embeds it as /demo/?embed=1, which makes the page background transparent so it can sit on a wallpaper.
Build from source
Krovi is MIT-licensed and builds from a plain checkout. You need Node.js 20 or newer for the interface and Rust for the native shell.
Interface only (the browser demo)
git clone https://github.com/nAItiklearn/krovi
cd krovi
npm install
npm test # frontend unit tests
npm run dev # demo at http://localhost:5173The native app
Install the Tauri prerequisites for Windows. The recommended setup, and the one the release workflow uses, is the MSVC toolchain: Visual Studio Build Tools with the “Desktop development with C++” workload, and rustup default stable-x86_64-pc-windows-msvc.
cd src-tauri
cargo build # real integrations are on by default
cd ..
npx tauri build # NSIS installer under src-tauri/target/release/bundleThe WinLibs note (GNU toolchain). If your Rust host is x86_64-pc-windows-gnu, a 32-bit MinGW earlier on your PATH (for example C:\MinGW\bin) shadows the 64-bit compiler and the build fails with errors such as dlltool … Invalid bfd target. Install 64-bit WinLibs (winget install BrechtSanders.WinLibs.POSIX.UCRT) and put its mingw64\bin first on PATH for the build:
$env:Path = "$env:LOCALAPPDATA\Microsoft\WinGet\Packages\BrechtSanders.WinLibs.POSIX.UCRT_Microsoft.Winget.Source_8wekyb3d8bbwe\mingw64\bin;" + $env:Path
cd src-tauri; cargo buildBuild this website
The site is static HTML under web/. scripts/build-web.ps1 builds the demo into web/demo/ and checks that the site root is the marketing page, never the app bundle. Serve it with any static server, for example npx serve web.
Uninstall
- Quit Krovi: tray icon → Quit Krovi, or Ctrl + Q with the panel focused.
- Open Windows Settings → Apps → Installed apps, find Krovi, and choose Uninstall.
- Optional: delete your data. Krovi’s folders live under
%APPDATA%and%LOCALAPPDATA%, in a folder named after the app (for exampletech.krovi.app). There is nothing in the cloud to delete.
Troubleshooting
- The hotkey does nothing. Another app may own that combination. Pick a different one in Settings; Krovi reports a conflict instead of ignoring it.
- I can’t see the pill. Check the tray menu for Show pill, and remember it hides during fullscreen apps. Ctrl + Alt + Space or the tray icon still works.
- Media is empty. Krovi shows what Windows reports. If your player doesn’t appear in the Windows volume and media overlay, it isn’t sharing a media session.
- Weather won’t load. It needs a network connection and permission to use your location. Check Settings → Privacy & security → Location in Windows.
- Voice is unavailable. Allow desktop apps to use the microphone in Windows privacy settings. On devices where local recognition isn’t available, Krovi disables the mic and says why.
- My phone can’t open the Quick Transfer link. Check that the phone is on the same Wi-Fi as the PC. The first time Krovi listens, Windows may show an “Allow access” prompt: allow Krovi on Private networks. If no request reaches the share within about 20 seconds, Krovi says so and offers a read-only Check network that reports the address in use, whether Windows treats the network as Public or Private, and whether Krovi’s firewall rule exists. An Allow Krovi in the firewall button adds one rule (inbound, this program only, Private profile, local subnet) behind a Windows UAC prompt, only when you click it; Krovi never changes the firewall on its own. A network Windows classifies as Public is not helped by that rule: switch it to Private in Windows Settings. Quick Transfer is plain HTTP, so use a network you trust.
- A reminder didn’t pop up or make a sound. If Windows Do Not Disturb (or alarms-only) is on, Windows files the notification quietly in the notification centre without a banner or sound, and Krovi skips its own sound; the Calendar shows a warning when it detects this. Notification banners last about five seconds. Reminders missed while Krovi was closed fire once on the next start, marked as missed.
- SmartScreen warns about the installer. See Install. Krovi isn’t code-signed yet; verify the SHA-256 first.
Still stuck? Open an issue with your Windows version and what you expected.