Skip to content

loayabdalslam/NeuroOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

40 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NeuroOS Logo

NeuroOS

An AI-powered desktop operating system built with Electron, React & TypeScript


🧠 What is NeuroOS?

NeuroOS is a fully-featured desktop environment that runs inside Electron, designed to feel like a real operating system while being powered by AI at its core. It features a windowed application system, user authentication, an AI chat assistant, a file explorer with workspace management, and much more.


✨ Features

πŸ–₯️ Desktop Environment

  • Window Management β€” Drag, resize, minimize, maximize, and close application windows
  • Taskbar β€” Quick-launch apps and view running applications
  • Start Menu β€” Browse and launch all installed apps
  • Custom Wallpapers β€” Set your own desktop background
  • Right-Click Context Menus β€” Native-style context menus everywhere (Desktop, Windows, Files, Chat)
  • Boot Animation β€” Sleek startup sequence with fade transition

πŸ€– AI Chat Assistant

  • Multi-Provider Support β€” Connect to Ollama, OpenAI, Gemini, or any OpenAI-compatible API
  • Streaming Responses β€” Real-time token-by-token AI responses
  • Tool Integration β€” AI can:
    • πŸš€ Open apps on your desktop
    • πŸ“‹ List running apps
    • πŸ’Ύ Generate & save files directly to your workspace
    • πŸ“‚ Browse your workspace contents
  • Stop Generation β€” Halt AI responses mid-stream
  • Markdown Rendering β€” Rich formatting with syntax-highlighted code blocks

πŸ“ File Explorer

  • Workspace Setup Wizard β€” Select a folder on your machine as your workspace
  • Full File Management β€” Create, rename, delete, upload files and folders
  • Breadcrumb Navigation β€” Click-through path navigation
  • File Type Icons β€” Color-coded icons for 20+ file extensions
  • Inline Search β€” Filter files instantly
  • Persistent Workspace β€” Remembers your workspace across restarts
  • Right-Click Actions β€” Rename, Copy Path, Delete from context menu

βš™οΈ Settings

  • AI Provider Configuration β€” Add/remove LLM providers with custom endpoints
  • Model Selection β€” Choose models per provider
  • Wallpaper Settings β€” Customize your desktop background
  • User Management β€” Multi-user support with PIN authentication

πŸ” Authentication

  • Lock Screen β€” PIN-based user authentication
  • Onboarding Flow β€” First-run setup wizard for new users
  • Multi-User Support β€” Switch between user profiles
  • Hydration Guard β€” Prevents UI flash during auth state loading

πŸ“¦ More Apps

  • Terminal β€” Built-in terminal emulator
  • Agent Studio β€” AI agent management interface
  • LLM Manager β€” Configure and manage language models
  • MCP Connectors β€” Model Context Protocol integration
  • Automation Engine β€” Workflow automation tools

πŸ› οΈ Tech Stack

Layer Technology
Framework Electron 30
Frontend React 19 + TypeScript 5.8
Build Tool Vite 6.2
Styling Tailwind CSS 4
Animations Framer Motion (motion)
State Zustand (with persistence)
Icons Lucide React
Markdown react-markdown
Database better-sqlite3

πŸš€ Quick Start

Prerequisites

  • Node.js 18+
  • npm 9+

Installation

# Clone the repository
git clone https://github.com/your-username/NeuroOS.git
cd NeuroOS

# Install dependencies
npm install

# Create environment file
cp .env.example .env

Configure AI Providers

Edit your .env file:

GEMINI_API_KEY="your-gemini-api-key"

Or configure providers directly in the Settings app after launching.

Development

# Start in development mode (Vite + Electron)
npm run electron:dev

This will:

  1. Start the Vite dev server on http://localhost:5173
  2. Compile the Electron main process
  3. Launch the Electron window

Production Build

# Build for production
npm run electron:build

πŸ“ Project Structure

NeuroOS/
β”œβ”€β”€ native-shell/              # Electron main process
β”‚   β”œβ”€β”€ main.ts                # Main process entry (IPC handlers, window)
β”‚   β”œβ”€β”€ preload.ts             # Context bridge (secure API exposure)
β”‚   └── tsconfig.json          # TypeScript config for Electron
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ apps/                  # Application components
β”‚   β”‚   β”œβ”€β”€ Chat.tsx           # AI Chat with streaming & tools
β”‚   β”‚   β”œβ”€β”€ FileExplorer/      # File manager with workspace support
β”‚   β”‚   β”œβ”€β”€ Settings.tsx       # System settings & AI config
β”‚   β”‚   β”œβ”€β”€ Terminal.tsx       # Terminal emulator
β”‚   β”‚   β”œβ”€β”€ AgentStudio.tsx    # AI agent management
β”‚   β”‚   β”œβ”€β”€ LLMManager.tsx     # Language model management
β”‚   β”‚   β”œβ”€β”€ MCPConnectors.tsx  # MCP integration
β”‚   β”‚   └── AutomationEngine.tsx
β”‚   β”œβ”€β”€ components/            # Shared UI components
β”‚   β”‚   β”œβ”€β”€ OSWindow.tsx       # Draggable window container
β”‚   β”‚   β”œβ”€β”€ Taskbar.tsx        # Bottom taskbar
β”‚   β”‚   β”œβ”€β”€ Desktop.tsx        # Desktop background & icons
β”‚   β”‚   β”œβ”€β”€ StartMenu.tsx      # Application launcher
β”‚   β”‚   β”œβ”€β”€ ContextMenu.tsx    # Right-click context menu system
β”‚   β”‚   β”œβ”€β”€ LockScreen.tsx     # PIN authentication screen
β”‚   β”‚   β”œβ”€β”€ OnboardingFlow.tsx # First-run setup
β”‚   β”‚   └── WindowManager.tsx  # Window orchestration
β”‚   β”œβ”€β”€ hooks/                 # Custom React hooks
β”‚   β”‚   β”œβ”€β”€ useOS.ts           # OS state management
β”‚   β”‚   └── useFileSystem.ts   # File system operations bridge
β”‚   β”œβ”€β”€ stores/                # Zustand state stores
β”‚   β”‚   β”œβ”€β”€ authStore.ts       # Authentication state
β”‚   β”‚   β”œβ”€β”€ settingsStore.ts   # App settings & AI config
β”‚   β”‚   └── workspaceStore.ts  # Workspace path persistence
β”‚   β”œβ”€β”€ lib/                   # Utilities & services
β”‚   β”‚   β”œβ”€β”€ apps.ts            # App registry & config
β”‚   β”‚   β”œβ”€β”€ llm/               # LLM provider implementations
β”‚   β”‚   └── utils.ts           # Shared utilities
β”‚   β”œβ”€β”€ types/                 # TypeScript declarations
β”‚   β”‚   └── electron.d.ts      # Window.electron type definitions
β”‚   β”œβ”€β”€ App.tsx                # Root application component
β”‚   └── main.tsx               # React entry point
β”œβ”€β”€ public/                    # Static assets
β”œβ”€β”€ .env.example               # Environment variables template
β”œβ”€β”€ package.json
β”œβ”€β”€ vite.config.ts
└── tsconfig.json

πŸ”§ Available Scripts

Script Description
npm run dev Start Vite dev server only (web mode)
npm run electron:dev Start full Electron + Vite dev environment
npm run electron:build Build production Electron app
npm run build Build everything (TypeScript + Vite + Electron)
npm run clean Remove build artifacts
npm run lint TypeScript type checking

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

This project is proprietary software. All rights reserved.


Built with ❀️ by the NeuroOS team

About

Just A new Free AI OS For Mena Region | Powered By Gemini Pro 3.1

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages