How bitshank-2338/clicky-windows works
Clicky is a Windows desktop AI tutor that takes voice or panel questions, optionally adds screen and web context, generates a provider-backed answer, then speaks it and can point at screen elements. Its principal runtime coordinator is companion_manager.py; main.py wires it to the panel, tray, overlay and hotkeys. Additional branches cover tutoring, journal/documents, recordings, routines, drawing/Drive and browser/MCP features documented in the README. Some of those modules were not sampled, so their links are documented rather than inferred from unseen calls.
Main entry points: companion_manager.py Conversation manager · main.py App bootstrap · panel.py Chat panel · ambient_listener.py Wake and capture
Components 28
Desktop interaction
- App bootstrap
main.py - Chat panel
ui/panel.py - Cursor overlay
ui/overlay.py - System tray
ui/tray.py
Conversation runtime
- Conversation manager
companion_manager.py - Tutor behavior
tutor.py
Voice and screen
- Wake and capture
audio/ambient_listener.py - Speech recognition
audio/stt - Screen capture
screen/capture.py - Privacy masking
screen/privacy.py - Speech output
audio/tts - Audio playback
audio/playback.py
AI services
- LLM providers
ai - Model registry
ai/model_registry.py - Visual locator
ai/universal_locator.py - Pointer animation
ai/hybrid_pointer.py - Web search
ai/web_search.py
Learning and tools
- Local settings
storage.py - Journal and review
tutor_features/journal.py - Document context
tutor_features/pdf_context.py - OCR fallback
tutor_features/ocr.py - Lesson recording
tutor_features/lesson_recorder.py - Jobs and routines
jobs.py - Clicky Drive
drive.py - Sketch and drawing
drawing.py - Browser Link
browser_bridge.py - MCP connectors
connectors.py
Other components
- User
Connections 32
- User → Chat panel: asks in
- User → Wake and capture: speaks to
- App bootstrap → Chat panel: launches
main.py - App bootstrap → System tray: launches
main.py - App bootstrap → Cursor overlay: launches
main.py - App bootstrap → Conversation manager: creates
main.py - App bootstrap → Wake and capture: starts
main.py - Chat panel → Conversation manager: submits questions
companion_manager.py - Conversation manager → Tutor behavior: classifies requests
companion_manager.py - Wake and capture → Speech recognition: transcribes speech
audio/ambient_listener.py - Conversation manager → Speech recognition: requests transcription
companion_manager.py - Conversation manager → Screen capture: captures context
companion_manager.py - Screen capture → Privacy masking: redacts capture
screen/capture.py - Conversation manager → Web search: adds web context
companion_manager.py - Conversation manager → LLM providers: generates response
companion_manager.py - Conversation manager → Model registry: selects model
companion_manager.py - Conversation manager → Visual locator: locates targets
companion_manager.py - Pointer animation → Visual locator: uses locator
ai/hybrid_pointer.py - Conversation manager → Pointer animation: directs pointing
ai/hybrid_pointer.py - Conversation manager → Speech output: speaks response
companion_manager.py - Speech output → Audio playback: plays audio
audio/tts/edge_tts_provider.py - Cursor overlay → User: shows guidance
- Conversation manager → Journal and review: logs Q&A
companion_manager.py - Journal and review → Local settings: persists records
tutor_features/journal.py - Conversation manager → Document context: uses attached context
companion_manager.py - Document context → OCR fallback: uses OCR support
tutor_features/pdf_context.py - Conversation manager → Lesson recording: records lessons
companion_manager.py - Conversation manager → Jobs and routines: runs routines
companion_manager.py - Conversation manager → Clicky Drive: supports Drive
companion_manager.py - Conversation manager → Sketch and drawing: supports Sketch
- Browser Link → Conversation manager: links browser
companion_manager.py - Conversation manager → MCP connectors: reviews MCP tools