Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
lobehub avatar

Desktop

  • 1.5k installs
  • 81.3k repo stars
  • Updated August 5, 2026
  • lobehub/lobe-chat

This is a copy of desktop by lobehub - installs and ranking accrue to the original listing.

desktop is an agent skill that adds native desktop notification, filesystem, and system API capabilities to Lobe Chat or similar Electron AI chat apps via main-process controllers and IPC handlers.

About

desktop is an agent skill from lobehub/lobe-chat for developers adding native desktop capabilities to an AI-powered chat or agent application built on Electron. The architecture splits main-process Controllers handling IPC from renderer-process Service Layers and Store Actions managing UI state. Implementation steps start with creating a Controller IPC handler, wiring system APIs for filesystem and network access, and connecting renderer services that invoke native notifications and OS integrations. Reach for desktop when extending Lobe Chat or a fork with file pickers, local file reads, desktop notifications, or other main-process privileges unavailable in pure web builds. The guide uses TypeScript across main and renderer boundaries with explicit IPC contracts.

  • Implements clean Main/Renderer process separation using Electron IPC
  • Provides typed ControllerModule pattern with @IpcMethod decorators
  • Includes System APIs access for fs, network, and native notifications
  • Delivers production-ready NotificationCtr with error handling and platform checks
  • 3-step implementation workflow: Controller → Service Layer → Store Actions

Desktop by the numbers

  • 1,549 all-time installs (skills.sh)
  • +85 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/lobehub/lobe-chat --skill desktop

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.5k
repo stars81.3k
Security audit3 / 3 scanners passed
Last updatedAugust 5, 2026
Repositorylobehub/lobe-chat

How do you add native desktop APIs to Electron chat apps?

Add native desktop notification, filesystem, and system API capabilities to their AI-powered chat or agent application.

Who is it for?

Frontend developers extending Lobe Chat or Electron-based AI apps who need filesystem, notifications, or system API access via IPC.

Skip if: Pure web-only chat deployments without Electron or Tauri desktop packaging requirements.

When should I use this skill?

A developer adds native desktop notifications, filesystem access, or system APIs to an Electron AI chat or agent application.

What you get

Main-process Controller with IPC handlers, renderer Service Layer, and Store Actions exposing native desktop capabilities.

  • Main-process IPC Controller
  • Renderer Service Layer
  • Store Actions for desktop UI state

Files

SKILL.mdMarkdownGitHub ↗

Desktop Development Guide

Architecture Overview

LobeHub desktop is built on Electron with main-renderer architecture:

1. Main Process (apps/desktop/src/main): App lifecycle, system APIs, window management 2. Renderer Process: Reuses web code from src/ 3. Preload Scripts (apps/desktop/src/preload): Securely expose main process to renderer

Adding New Desktop Features

1. Create Controller

Location: apps/desktop/src/main/controllers/

import { ControllerModule, IpcMethod } from '@/controllers';

export default class NewFeatureCtr extends ControllerModule {
  static override readonly groupName = 'newFeature';

  @IpcMethod()
  async doSomething(params: SomeParams): Promise<SomeResult> {
    // Implementation
    return { success: true };
  }
}

Register in apps/desktop/src/main/controllers/registry.ts.

2. Define IPC Types

Location: packages/electron-client-ipc/src/types.ts

export interface SomeParams {
  /* ... */
}
export interface SomeResult {
  success: boolean;
  error?: string;
}

3. Create Renderer Service

Location: src/services/electron/

import { ensureElectronIpc } from '@/utils/electron/ipc';

const ipc = ensureElectronIpc();

export const newFeatureService = async (params: SomeParams) => {
  return ipc.newFeature.doSomething(params);
};

4. Implement Store Action

Location: src/store/

5. Add Tests

Location: apps/desktop/src/main/controllers/__tests__/

Detailed Guides

See references/ for specific topics:

  • Feature implementation: references/feature-implementation.md
  • Local tools workflow: references/local-tools.md
  • Menu configuration: references/menu-config.md
  • Window management: references/window-management.md

Best Practices

1. Security: Validate inputs, limit exposed APIs 2. Performance: Use async methods, batch data transfers 3. UX: Add progress indicators, provide error feedback 4. Code organization: Follow existing patterns, add documentation

Related skills

How it compares

Pick desktop for Electron IPC native features; use standard web frontend skills for browser-only chat UI without main-process access.

FAQ

What architecture does the desktop skill use?

The desktop skill uses Electron with main-process Controllers handling IPC, renderer Service Layers calling those handlers, and Store Actions managing UI state for notifications, filesystem, and system APIs.

Which native capabilities does desktop add?

The desktop skill adds native desktop notifications, filesystem access, and system APIs such as network operations to AI chat apps by wiring main-process controllers to renderer services.

Is desktop for web-only Lobe Chat deployments?

No. The desktop skill targets Electron-packaged Lobe Chat or similar desktop AI apps requiring main-process IPC for native OS integrations unavailable in browser-only builds.

Is Desktop safe to install?

skills.sh reports 3 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

AI & Agent Buildingagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.