AI-powered screen guidance assistant that watches your screen and provides step-by-step instructions for any software.
- 🖥️ Screen Capture: Automatically captures and analyzes your screen
- 🤖 AI Vision: Uses OpenAI GPT-4o to understand what's on screen
- 📋 Task Decomposition: Breaks down any task into atomic, actionable steps
- ✅ Progress Tracking: Detects when you complete each step automatically
- 💬 Chat Interface: Natural conversation to ask questions about any software
- 🎯 Always-On-Top Sidebar: Non-intrusive overlay on the right side of your screen
- Node.js 18+
- npm or yarn
- OpenAI API key (Get one here)
# Clone the repository
git clone https://github.com/yourusername/sigmaguide.git
cd sigmaguide
# Install dependencies
npm install
# Create environment file
cp .env.example .env
# Add your OpenAI API key to .env
# VITE_OPENAI_API_KEY=your_api_key_here# Start in development mode
npm run electron:dev# Build for production
npm run electron:build- Launch SigmaGuide - The sidebar appears on the right side of your screen
- Toggle visibility - Press
⌘/Ctrl + Shift + Gto show/hide - Ask a question - e.g., "How do I freeze the top row in Excel?"
- Follow the steps - SigmaGuide analyzes your screen and guides you
- Auto-advance - It detects when you complete each step and moves to the next
- "How do I freeze the top row in Excel?"
- "Help me create a new branch in VS Code"
- "How do I split my screen on Mac?"
- "Show me how to add a formula in Google Sheets"
- "How do I merge cells in Numbers?"
sigmaguide/
├── electron/
│ ├── main.ts # Electron main process, window setup
│ └── preload.ts # IPC bridge for screen capture
├── src/
│ ├── components/ # React UI components
│ │ ├── ChatSidebar.tsx
│ │ ├── MessageList.tsx
│ │ ├── MessageInput.tsx
│ │ └── Header.tsx
│ ├── agents/ # AI agents
│ │ ├── orchestrator.ts # Coordinates all AI calls
│ │ ├── screenAnalyzer.ts # Analyzes screenshots
│ │ └── taskDecomposer.ts # Breaks tasks into steps
│ ├── stores/ # Zustand state management
│ │ ├── chatStore.ts
│ │ └── taskStore.ts
│ ├── lib/ # Utilities
│ │ ├── openai.ts # OpenAI API client
│ │ └── prompts.ts # System prompts
│ └── App.tsx
├── .env # Environment variables
└── package.json
- Electron - Desktop app framework
- React - UI library
- TypeScript - Type safety
- Vite - Fast bundling
- TailwindCSS - Styling
- Zustand - State management
- OpenAI GPT-4o - Vision + Text AI
| Variable | Description |
|---|---|
VITE_OPENAI_API_KEY |
Your OpenAI API key |
| Shortcut | Action |
|---|---|
⌘/Ctrl + Shift + G |
Toggle sidebar visibility |
Enter |
Send message |
Shift + Enter |
New line in input |
- Screen captures are processed locally and sent only to OpenAI API
- No data is stored or logged on external servers
- API calls are made directly to OpenAI's API
MIT License - see LICENSE for details.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Built with ❤️ using Electron, React, and OpenAI