desktop

Guide Electron desktop app development with secure IPC and main-renderer architecture.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/dodevproject/lobe-chat --skill desktop-dodevproject
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: desktop
Source: https://github.com/dodevproject/lobe-chat/tree/main/.agents/skills/desktop
Command: npx skills add https://github.com/dodevproject/lobe-chat --skill desktop-dodevproject

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill provides guidance and structure for developing desktop applications using Electron, streamlining the process of building cross-platform native applications.

Core Features & Use Cases

  • Electron Architecture: Understand the main and renderer process separation.
  • IPC Communication: Implement secure communication between main and renderer processes.
  • Feature Development: Step-by-step guide for adding new desktop-specific features.
  • Use Case: When you need to add a feature that requires direct access to the user's file system or system notifications within the LobeChat desktop application.

Quick Start

To add a new desktop feature, create a controller in apps/desktop/src/main/controllers/ and register it in apps/desktop/src/main/controllers/registry.ts.

Frequently Asked Questions about desktop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build a cross-platform desktop app with Electron?

To build a cross-platform desktop app with Electron, you structure your application using a main and renderer process separation, utilizing controllers and preload scripts to manage native features and window configuration.

How does IPC communication work between Electron main and renderer processes?

IPC communication in Electron works by implementing secure Inter-Process Communication handlers that pass messages between the main process and renderer, often managed through registered controllers and exposed via preload scripts.

How do I add a new desktop feature that requires file system access?

To add a desktop feature requiring file system access, create a new controller in the main controllers directory and register it, ensuring secure IPC practices are followed to bridge the main and renderer processes.

Do I need preload scripts for secure native development in Electron?

Yes, preload scripts are required for secure native development in Electron to safely expose controlled APIs and IPC channels from the main process to the renderer process without compromising the application architecture.

What is the architecture for an Electron desktop application?

The architecture for an Electron desktop application involves a strict separation between the main process, which handles native development and window management, and the renderer process, which runs the user interface.

Can I implement system notifications within an Electron app?

Yes, you can implement system notifications within an Electron app by creating a dedicated controller for desktop-specific features and utilizing inter-process communication to trigger the native notification from the renderer.