A small quick-answer launcher for LLMs, for macOS and Windows.
Press the summon hotkey — Ctrl+Space on macOS, Ctrl+Alt+Space on Windows — type a question, press Enter, and get an answer without switching to a chat app. (The hotkey is rebindable in Settings.)
macOS
curl -fsSL https://raw.githubusercontent.com/unravel-team/asklight/main/install.sh | bashWindows (PowerShell)
irm https://raw.githubusercontent.com/unravel-team/asklight/main/install.ps1 | iexBoth download the latest release, verify its published SHA-256, install it, and launch the app so the summon hotkey works right away. The app isn't code-signed yet, so the macOS installer clears the quarantine flag and Windows may show a SmartScreen prompt the first time. Asklight checks for newer releases and shows an "Update available" note in Settings.
Asklight supports:
- OpenRouter: paste an
sk-or-...key once when prompted. - Groq: paste a
gsk_...key once when prompted. - Ollama: appears automatically when Ollama is running locally.
Provider and model choices are saved locally.
Model lists are fetched live from each provider every time the panel opens (not hardcoded), then filtered before they reach the dropdown:
- OpenRouter: only models ending in
:free, deduped to one model per organization, capped at 8. A small built-in list is shown if the fetch fails. - Groq: only models whose id matches
gpt-oss,qwen,llama, orgemma. Falls back to a few defaults with no key. - Ollama: every locally installed model, unfiltered.
Reasoning is never shown. Providers that stream it in a separate field are ignored outright; models that inline it in the answer (Qwen on Groq, most local reasoning models) have their <think>…</think> block stripped as the stream arrives, so only the answer lands in the panel.
When a model does fail anyway — rate-limited upstream, an unsupported request, a network drop, or a reply with no text in it — the panel shows Model unavailable rather than the provider's raw error. The underlying message is logged to the webview console for debugging.
Consequence: a model a provider serves may not appear if it doesn't match the filter (e.g. Kimi or DeepSeek on Groq). This is deliberate curation, not staleness — the lists themselves are always live. Widen the filters in src/providers.ts if you want the full catalog.
Modifier is Cmd on macOS, Ctrl on Windows.
- Summon (show/hide Asklight):
Ctrl+Spaceon macOS,Ctrl+Alt+Spaceon Windows — the default, rebindable in Settings (the gear icon) Enter: askEsc: close and cancel any in-flight answerCmd/Ctrl+P: cycle providerCmd/Ctrl+K: cycle modelCmd/Ctrl+Backspace: clear the screen
npm install
npm run tauri devnpm run tauri buildThe macOS app is written to:
src-tauri/target/release/bundle/macos/Asklight.appCopy that app to /Applications and open it. To have Ctrl+Space work after a
restart, turn on Launch at login in Settings (it's off by default).
To remove Asklight, delete the app the usual way — drag it to the Trash on macOS, or use Settings → Apps on Windows. Launch-at-login is off by default and toggled in Settings, so there's no leftover login item to clean up.
Cloud provider keys are stored locally in the app webview storage. Avoid sending private code or sensitive text to free cloud models unless you trust that provider's data policy.
