Documentation.

The detail, for people who want it: how the island decides, every default key, what leaves your computer, and how it is built.

The island’s rules

Hidden until needed is the only mode. The island has three states: hidden, the small island (a strip 32 pixels tall) and open.

What happensWhat the island does
The pointer touches the top-centre edgeThe small island comes out, once the pointer has stayed for a twentieth of a second. A pointer that only crosses the edge brings nothing out.
The pointer rests on it for a quarter of a second, or clicksIt opens. Opening on hover can be turned off in Settings, Island.
The pointer leavesOpened by hover, it folds after 0.6 seconds. Opened by a click, after 15 seconds (you can set 5 to 120). The small island hides after 2 seconds.
A click outsideThe open island folds at once, unless a card is waiting for your answer or you pinned it.
A notice, an activity or an agent starting workThe small island shows for a moment, then hides again.
A permission card or a questionThe island opens on it and stays until you answer.
A full-screen app is in frontThe island stays away and notices wait.
Pause, in the tray menuThe island hides and its edge stops reacting until you resume.

In Settings, Island you can keep the small island out “for a moment” (the default), “while an agent is working” or “until I dismiss it”. You can also choose the display, drag the island anywhere, and turn off the wheel gesture.

The island never takes the keyboard by appearing. Its window cannot be activated by a hover, a notice or a card. Your own window keeps the keyboard until you click the island or press one of its shortcuts.

Keyboard and shortcuts

Every global shortcut can be changed or turned off in Settings, Shortcuts. These are the defaults in version 1.0.0.

The app

KeysAction
Ctrl Alt SpaceOpen the chat
Ctrl Alt AGo to the waiting permission or question
Ctrl Alt TOpen the terminal of the agent’s session
Ctrl Alt → / ←Next pill, previous pill
Ctrl Alt SMute or unmute the mascot
Ctrl Alt NOpen or close the island. This one is off until you turn it on.
No key yetNext tab of the island. Give it a key if you want one.

Features

KeysActionFeature
Ctrl Alt Shift 4Take a screenshotCapture
Ctrl Alt Shift 3Capture the whole screenCapture
Ctrl Alt Shift 5Start or stop a screen recordingScreen recorder
Ctrl Alt VOpen the clipboard historyClipboard
Ctrl Alt Shift VPaste as plain textClipboard
Ctrl Alt OSwitch to the next sound outputAudio mixer
Ctrl Alt UMute or unmute all microphonesAudio mixer
Ctrl Alt PgUp / PgDnBrighter, dimmer (the display under the pointer)Displays
Ctrl SpaceOpen the command barCommand bar (off by default)
Ctrl Alt LOpen the snippet libraryInput tools (off by default)
Ctrl Alt ROpen the first wheelRadial menu (off by default)
Ctrl Alt BSend the companion home or outCompanion (off by default)
Right Ctrl, aloneTalk to the assistant: tap, or holdVoice (off by default)

Other actions have no key until you give them one: pick a colour, copy text from the screen, measure, draw on the screen, capture a scrolling page, record the window in front, pause a recording, start the timer, keep awake, add a reminder.

Inside the island

KeysAction
EscOne step back: a layer, the tab, then the small island
Ctrl KThe gallery of all tabs
Alt + a letterJump to a tab by its letter
Ctrl TabNext tab (Shift for the one before)
Ctrl PPin the island open
Mouse wheel on the small islandDown opens, up closes

Settings

Right-click the tray icon and choose Settings. The window has a search field and a list of pages on the left: General, Island, Mascot, Pills, Sounds, Shortcuts and Features. Under them is one page for each feature that is on, in the same groups as the feature list: Island, Agents, Chat, Media and the rest.

  • Features. One switch for each feature. A feature that is off shows as “Off” in the list of pages.
  • Island. The tab the island opens on, the Dashboard cards, open on hover, auto-close (15 seconds unless you change it), how long the small island stays, keeping live activities on screen, the wheel on the strip, and keyboard jumps.
  • Shortcuts. Every global shortcut, each with its keys and a switch.
  • Coding agents. Connect or disconnect an agent. Lintel shows the change to the agent’s settings file and waits for your confirmation.
  • Each feature’s own page. Its options, and its keys or downloads where it has them.

Settings can be exported to a file and imported again. When you import, your previous settings are kept in a file beside them.

Privacy: what leaves your computer

Lintel has no account and no server of its own. On a fresh install with default settings it makes no call to any host. There is no analytics, no crash reporting and no usage counter. This table lists every host the app can call.

HostWhat turns it onWhat is sent
lrclib.netTurning on the lyrics lookup, then a song playingSong title, artist, album and length
open-meteo.comTurning Weather on and choosing a cityThe city name you typed, then its coordinates
speed.cloudflare.comClicking the speed test buttonRandom test data. Nothing about you.
github.comClicking “Check for updates”A plain request for the release feed
winget sourcesClicking a check, a search or an install in AppsWhat winget itself sends. Run by winget, not by Lintel.
huggingface.coClicking a download button for a speech, voice or text modelA plain download request for pinned files
Anthropic, OpenAI, Google, OpenRouter, or your own serverSaving a key or an address for chat, then sending a messageYour key (only to its own host), your message and the context you chose
GitHub, Stripe, Vercel, Resend, Notion, Cal.com, your n8nSaving a key for that integrationYour key and a read request. An email also needs your click.
Your calendar linkAdding a calendar linkA plain request for the .ics file

If you use a command-line agent for chat, that program makes its own calls. Lintel does not control them. Links that open in your browser when you click are not calls made by Lintel.

The rules it keeps

  • Keys live in Windows Credential Manager. A key is sent only to the one host it belongs to.
  • Agents are never approved automatically. A decision is tied to the card it was made on.
  • An agent is never blocked. If Lintel does not answer, the hook exits at once and the agent goes on.
  • Other programs’ settings files are changed only after showing you the difference, with a dated backup, on your click.
  • Deleting always shows a list first and goes to the Recycle Bin.
  • The clipboard history skips passwords, password managers and anything an app marks as private.
  • The camera starts only from a click. The microphone opens only for a recording you start, or for the wake phrase if you turned that on, and an indicator is on screen the whole time.
  • System settings that Lintel changes are written down first and restored when it quits.

The full page is docs/PRIVACY.md in the repository.

Hardware sensors and the one administrator prompt

Lintel itself runs without administrator rights, always. Reading processor temperatures, fans and drive health needs more than that, so a separate small program does it: the hardware helper.

  • It is off by default. It starts only when you turn on Hardware sensors and agree.
  • Windows then shows one administrator prompt, for the helper only.
  • It reads sensors with LibreHardwareMonitor and the PawnIO driver. The driver is not bundled. Lintel offers to install it with winget, on your click, and never removes it.
  • The helper talks only to the Lintel that started it, over a private pipe, and checks who is on the other end.
  • Fan control is a beta. Use it with care. On some laptops the sensor library cannot read the fans.

The voice assistant

English only, off by default. Sound never leaves your PC. Text leaves only to a service you switched on, and only for the turns that need it.

PartWhat it doesDownload
Speech model (Whistle)Turns what you say into text. Required.about 19 MB
Action model (Needle)Understands a command said in your own words.about 35 MB
Natural voice (Kokoro)Speaks the answers. Until it is downloaded, a Windows voice speaks.about 370 MB
Text model (Qwen3.5-4B)Answers open questions on your PC. About 4.3 GB of memory while loaded.about 2.7 GB

Every file is downloaded only on your click, from a pinned version, and checked before it is kept and before it runs.

  • Two ways in. The talk key (right Ctrl alone: tap or hold), or a wake phrase, “OK Lintel”, behind its own switch that starts off. While the wake phrase is on, a thin bar of light at the top of the screen shows that the microphone is open.
  • Speed. A command such as a timer is answered in a few seconds. An open question to the local text model took 9 to 15 seconds to start speaking on a laptop when measured, and about half a minute when the model was not yet loaded.
  • Online options. A free online model, your Claude key, an ElevenLabs voice and weather are each a switch that starts off.
  • It can never: allow a permission or answer an agent’s question, send an email, delete or empty anything, start the camera, unmute the microphones, start an agent, install or uninstall, or paste without a yes.
  • Known limits. Voice is new and has had little testing. It was tested with recorded clips more than with live speech, and the wake phrase has not been measured with many voices. There is no echo cancelling, so over loudspeakers it also hears its own voice.

Known limits of version 1.0.0

  • The voice assistant understands English only, and it has had little testing with live speech.
  • An answer from the local text model is slow on a laptop: 9 to 15 seconds before the first word, and about half a minute the first time after a start.
  • Mirroring the notifications of other apps is not available. Windows allows it only to a signed and packaged app.
  • The installer is not code-signed, so SmartScreen warns.
  • The interface is translated into ten languages, but some newer lines are English only.
  • With “The small island stays” on and the mascot shown, the resting island uses about 10 % of one processor core. With the mascot hidden it is about 1 %.
  • The island lives on one display at a time.
  • On some laptops the sensor library cannot read the fans.

The roadmap has the full list of what is left open.

Build from source

You need Windows 10 or 11, Node.js, the Rust toolchain and the WebView2 runtime.

npm install
npm run build            # type-check and vite build (also builds the hook relay)
npm test                 # the node --test suites
cargo check --workspace  # needs dist/ to exist, so run `npm run build` first
npm run tauri dev        # run the app
npm run pack             # make the installer, into release/
npm run fake-session     # a pretend agent session, while the app runs

npm run pack also builds the hardware helper in helper/, which needs the .NET 8 SDK. Nothing else needs it.

Architecture in brief

  • A Tauri 2 app. The core is Rust. The interface is plain TypeScript, the DOM and Canvas in a light web view, with no UI framework.
  • One crate per feature. Each feature is a Rust crate in crates/ and a TypeScript folder in src/features/. Nothing runs until its start is called, and everything ends in stop.
  • Shared services. Audio, media, input, system events and the shell are services that features subscribe to. Dropping the handle unsubscribes.
  • The relay. Agent programs start a tiny relay, hook/, on each event. It talks to the app over a named pipe and exits at once if nobody answers.
  • The island. One transparent, topmost window that cannot be activated. Hidden, it shrinks to its strip and its drawing loop stops.

Read more in the repository: ARCHITECTURE.md, FEATURES.md, VOICE.md, PRIVACY.md, the roadmap and the changelog.