|
| 1 | +# Flicky |
| 2 | + |
| 3 | +A voice-driven, screen-aware AI companion that lives in the corner of your screen. Hold a hotkey, talk to it, and a little blue cursor flies across your display to point at whatever it's referring to. |
| 4 | + |
| 5 | +> **Inspired by [Clicky](https://www.clicky.so/)** by [Farza](https://github.com/farzaa) ([github.com/farzaa/clicky](https://github.com/farzaa/clicky)). |
| 6 | +> Clicky is the original idea — a macOS-only Swift app. Flicky is an independent reimagining built from scratch in Electron so the same experience can run on **Windows, macOS, and Linux**. All credit for the original concept, the pointing-cursor interaction, and the "vibe" goes to Farza. If you're on a Mac, go check out the original — it's great. |
| 7 | +
|
| 8 | +--- |
| 9 | + |
| 10 | +## What Flicky adds on top of the original idea |
| 11 | + |
| 12 | +- **Cross-platform** — Windows, macOS, and Linux from a single Electron codebase. |
| 13 | +- **A second reasoning provider** — pick between **Anthropic Claude** (Opus / Sonnet 4.6) and **OpenAI** (GPT-5, GPT-5 mini, GPT-4o) on the fly. |
| 14 | +- **More ElevenLabs voices** — full voice catalog, plus per-voice speed and stability sliders. |
| 15 | +- **Local chat history** — every conversation is stored on your machine, browsable from the panel, never uploaded. |
| 16 | +- **Long-running context management** — auto-compacts older messages into a summary near a configurable token budget so a single conversation can run forever without blowing up the context window. |
| 17 | +- **Customizable push-to-talk shortcut** — capture any key combination from the UI; the global shortcut re-registers live. |
| 18 | +- **Three transcription options** — Groq Whisper Large v3 / v3 Turbo with one-click switching. |
| 19 | +- **Multiple reasoning depths** — off / low / medium / high "extended thinking" toggle. |
| 20 | +- **Multi-display aware overlay** — the blue cursor follows your real mouse across monitors. |
| 21 | +- **Provider key management** — separate, encrypted local storage for each provider's API key with one-click validation. |
| 22 | + |
| 23 | +The core loop — hold the hotkey, ask anything, see the blue cursor point — is faithful to Farza's original. |
| 24 | + |
| 25 | +--- |
| 26 | + |
| 27 | +## Running locally |
| 28 | + |
| 29 | +Requires [Bun](https://bun.sh) (or npm) and Node 20+. |
| 30 | + |
| 31 | +```bash |
| 32 | +bun install |
| 33 | +bun run dev |
| 34 | +``` |
| 35 | + |
| 36 | +That starts the TypeScript watcher for the main process and Vite for the renderer. Launch the Electron app from a separate terminal once the dev servers are up: |
| 37 | + |
| 38 | +```bash |
| 39 | +bun run start |
| 40 | +``` |
| 41 | + |
| 42 | +## Building installers |
| 43 | + |
| 44 | +```bash |
| 45 | +bun run package # current platform |
| 46 | +bun run package:win # Windows .exe (NSIS) |
| 47 | +bun run package:mac # macOS .dmg + .zip (universal) |
| 48 | +bun run package:linux # AppImage + .deb |
| 49 | +``` |
| 50 | + |
| 51 | +Releases are also produced automatically by GitHub Actions on every `v*` tag — see [`.github/workflows/build.yml`](.github/workflows/build.yml). |
| 52 | + |
| 53 | +## Configuration |
| 54 | + |
| 55 | +You'll need API keys for the providers you want to use: |
| 56 | + |
| 57 | +- **Anthropic** or **OpenAI** — reasoning |
| 58 | +- **ElevenLabs** — text-to-speech |
| 59 | +- **Groq** — speech-to-text |
| 60 | + |
| 61 | +Add them in the panel under **Mind**, **Voice**, and **Ear**. Keys are stored locally with platform-appropriate encryption — they never leave your machine except in API calls to the relevant provider. |
| 62 | + |
| 63 | +## License |
| 64 | + |
| 65 | +MIT — see [LICENSE](LICENSE). |
| 66 | + |
| 67 | +The original Clicky project is the intellectual seed for this work; Flicky is an independent implementation and does not bundle or redistribute Clicky's source. If you like what's here, please also star [Farza's repo](https://github.com/farzaa/clicky). |
0 commit comments