8000 GitHub - FeV-06/Blinky: Don't know how to use the software? Just tell and in a blink know it! ยท GitHub
[go: up one dir, main page]

Skip to content
FeV-06Public
forked from KingSahil/Blinky

About

Don't know how to use the software? Just tell and in a blink know it!

Resources

Stars

0 stars

Watchers

0 watching

Forks

ย 
ย 

Latest commit

ย 

History

44 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿง  Blinky โ€” AI Desktop Tutor for Students

Ask. Learn. Click. Done.



Platform License


An AI-powered Windows desktop tutor that teaches users software directly on their screen using local AI.

โšก Quick Start

1๏ธโƒฃ Install Prerequisites

Install the following software:

  • Bun 1.3+
  • Rust Stable
  • Python 3.11+
  • Ollama

2๏ธโƒฃ Pull the AI Model

ollama pull gemma4:e4b

3๏ธโƒฃ Install Dependencies

bun install
bun run setup:python
bun run check:ollama

4๏ธโƒฃ Start Blinky

bun run dev

โŒจ๏ธ Open Blinky

Main Hotkey

CTRL + SHIFT + SPACE

Fallback Hotkey

CTRL + SHIFT + ENTER

Ask something like:

How do I install Python extension?

Blinky will:

  • Capture the current screen
  • Run OCR
  • Detect the active application
  • Generate AI instructions
  • Highlight matching UI elements

Provider Configuration

By default Blinky uses Ollama. To switch to Groq with image understanding, set these environment variables before running:

$env:BLINKY_AI_PROVIDER="groq"
$env:GROQ_API_KEY="your-groq-api-key"

Optional overrides:

$env:BLINKY_GROQ_MODEL="llama-3.2-90b-vision-preview"
$env:BLINKY_GROQ_URL="https://api.groq.com/openai/v1/chat/completions"

For Ollama overrides:

$env:BLINKY_AI_PROVIDER="ollama"
$env:BLINKY_OLLAMA_MODEL="gemma4:e4b"
$env:BLINKY_OLLAMA_URL="http://localhost:11434/api/generate"

๐Ÿš€ What is Blinky?

Blinky is a hackathon-ready AI desktop tutor that helps students learn software in real time.

Instead of:

  • Watching long YouTube tutorials
  • Reading confusing documentation
  • Switching tabs repeatedly

Users can simply ask:

"How do I install Python extension?"
"How do I crop an image?"
"How do I export this?"

Blinky will:

  1. Capture the current screen
  2. Read visible UI text
  3. Detect the active application
  4. Generate AI instructions
  5. Highlight the exact button/menu to click

โœจ Features

๐ŸŒŸ Recent Enhancements

๐Ÿ›ก๏ธ Dynamic Capture Exclusion (Flicker-Free Mode)

Blinky now uses the native Windows API (SetWindowDisplayAffinity / WDA_EXCLUDEFROMCAPTURE) to exclude its own command and overlay windows from screen captures programmatically.

  • The Blinky UI remains fully visible and active to you.
  • The screenshots captured for the AI model are completely clean, hiding the Blinky UI from its own vision without needing to minimize or hide the app.
  • Manual user screenshots (e.g., Ctrl + Win + S / Win + Shift + S) still capture Blinky correctly because capture exclusion is dynamically restored immediately after the AI's screenshot is captured (under 100ms).

๐ŸŽฏ Full-Width Search & Input Highlighting

Highlight boxes for search bars and text inputs are no longer constrained or shrunk to specific OCR words.

  • Blinky automatically detects when OCR text lies within a native text-input control (using UIA boundaries).
  • It scales and extends the highlight overlay to cover the entire width of the input field, providing a clean, clear visual guide.

๐Ÿ“‹ Robust Action Guides & Fallbacks

Action-oriented tasks (such as searching, downloading, or configuring settings) will always generate a step-by-step Action Guide, even when the target view, panel, or extension marketplace is currently closed.

  • Instead of defaulting to a plain text summary, Blinky guides you to open the appropriate panel or sidebar view first, followed by the search and interaction steps.
  • Non-visible targets are listed as text guidance with target_text: "" to keep guidance clear without drawing empty highlights.

โšก Local Inference Performance Optimizations

Local Ollama (Gemma) execution speed has been optimized to 5-7 seconds (down from 15+ seconds) through:

  • Duplicate Capture Elimination: Removed redundant screenshot and OCR execution loops in the Python worker.
  • Prompt Compression: Compressed OCR layout tokens by converting items to a compact coordinate string representation, reducing prompt tokens by ~1800.
  • Timeout Tuning: Extended connection timeouts to 120 seconds to prevent local model load-time failures.

๐Ÿ–ฅ๏ธ Real-Time Screen Capture

Captures the active screen instantly when the user asks a question.

๐Ÿ” OCR-Based UI Understanding

Extracts visible text, buttons, menus, and labels from applications.

  • Windows OCR API (primary)
  • EasyOCR fallback

๐Ÿง  Local AI Reasoning

Runs fully offline using:

  • Ollama
  • gemma4:e4b

๐ŸŽฏ Smart Overlay Highlighting

Highlights buttons and menus directly on the user's screen.

โšก Global Hotkey Workflow

Open Blinky instantly using:

CTRL + SHIFT + SPACE

๐Ÿ”’ Privacy Friendly

  • Fully local processing
  • No cloud screenshots
  • No tracking
  • No mandatory external APIs

๐ŸŽฏ Why It Matters

Students waste hours learning basic software workflows.

Blinky transforms software learning into an interactive real-time experience.

Benefits

โœ… Learn directly inside apps
โœ… No long tutorials
โœ… No cloud dependency
โœ… Beginner-friendly guidance
โœ… Privacy-first local AI
โœ… Fast workflow assistance


๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ User Question       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Global Hotkey       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Screen Capture      โ”‚
โ”‚ dxcam               โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ OCR Extraction      โ”‚
โ”‚ Windows OCR         โ”‚
โ”‚ EasyOCR Fallback    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Active Window       โ”‚
โ”‚ pywinauto           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Ollama + Gemma      โ”‚
โ”‚ AI Step Generation  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ JSON Instructions   โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ†“
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚ Overlay Highlight   โ”‚
โ”‚ Guidance            โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

๐Ÿ› ๏ธ Tech Stack

Component Technology
Desktop Framework Tauri 2
Frontend React + TypeScript
JavaScript Runtime / Package Manager Bun
Backend Runtime Python 3.11+
AI Runtime Ollama
AI Model gemma4:e4b
OCR Windows OCR API
OCR Fallback EasyOCR
Screen Capture dxcam
Window Detection pywinauto
Overlay System Transparent Tauri Window

๐Ÿ“‚ Project Structure

src-tauri/
โ”œโ”€โ”€ Tauri desktop shell
โ”œโ”€โ”€ Overlay window
โ””โ”€โ”€ Global hotkeys

frontend/
โ”œโ”€โ”€ React UI
โ”œโ”€โ”€ Overlay rendering
โ””โ”€โ”€ Chat interface

python/
โ”œโ”€โ”€ Capture scripts
โ”œโ”€โ”€ OCR pipeline
โ”œโ”€โ”€ AI integration
โ”œโ”€โ”€ Window detection
โ””โ”€โ”€ Matching logic

shared/
โ”œโ”€โ”€ Shared schemas
โ””โ”€โ”€ JSON payloads

scripts/
โ”œโ”€โ”€ Setup scripts
โ””โ”€โ”€ Startup helpers

โšก Installation

1๏ธโƒฃ Install Requirements

Required Software

  • Bun 1.3+
  • Rust Stable
  • Python 3.11+
  • Ollama

2๏ธโƒฃ Pull the Local AI Model

ollama pull gemma4:e4b

3๏ธโƒฃ Install Dependencies