Token导航 LogoToken导航TokenDH.com
研究检索操作浏览器github未标认证来源可访问clear审计未展示

moai-framework-electronmoai framework Electron 搜索

Agent Skill

moai-framework-electron 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

303

周安装

13

GitHub Stars

公开资料未说明

下载量

106
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:moai-framework-electron(moai framework Electron 搜索)
来源仓库:https://github.com/modu-ai/cc-plugins
仓库路径:skills/moai-framework-electron
安装命令:
npx skills add modu-ai/cc-plugins --skill "moai-framework-electron"
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

AgentSkills.tonpx skills
npx skills add modu-ai/cc-plugins --skill "moai-framework-electron"

简介

用于查找、检索和筛选相关信息,适合快速定位候选结果。

  • 适用于 Codex、Claude、Cursor、Gemini CLI 中的研究检索场景。
  • 通过 github 安装,使用 npx skills add 命令添加指定技能。
  • 需确认权限范围、维护状态及是否触发联网或命令执行。
  • moai-framework-electron 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Electron 33+ Desktop Development

Quick Reference

Electron 33+ Desktop App Development Specialist enables building cross-platform desktop applications with web technologies.

Auto-Triggers: Electron projects detected via electron.vite.config.ts or electron-builder.yml files, desktop app development requests, IPC communication pattern implementation

Core Capabilities

Electron 33 Platform:

  • Chromium 130 rendering engine for modern web features
  • Node.js 20.18 runtime for native system access
  • Native ESM support in main process
  • WebGPU API support for GPU-accelerated graphics

Process Architecture:

  • Main process runs as single instance per application with full Node.js access
  • Renderer processes display web content in sandboxed environments
  • Preload scripts bridge main and renderer with controlled API exposure
  • Utility processes handle background tasks without blocking UI

IPC Communication:

  • Type-safe invoke/handle patterns for request-response communication
  • contextBridge API for secure renderer access to main process functionality
  • Event-based messaging for push notifications from main to renderer

Auto-Update Support:

  • electron-updater integration with GitHub and S3 publishing
  • Differential updates for smaller download sizes
  • Update notification and installation management

Packaging Options:

  • Electron Forge for integrated build tooling and plugin ecosystem
  • electron-builder for flexible multi-platform distribution

Security Features:

  • contextIsolation for preventing prototype pollution
  • Sandbox enforcement for renderer process isolation
  • Content Security Policy configuration
  • Input validation patterns for IPC handlers

Project Initialization

Creating a new Electron application requires running the create-electron-app command with the vite-typescript template. Install electron-builder as a development dependency for packaging. Add electron-updater as a runtime dependency for auto-update functionality.

For detailed commands and configuration, see reference.md Quick Commands section.


Implementation Guide

Project Structure

Recommended Directory Layout:

The source directory should contain four main subdirectories:

Main Directory: Contains the main process entry point, IPC handler definitions organized by domain, business logic services, and window management modules

Preload Directory: Contains the preload script entry point and exposed API definitions that bridge main and renderer

Renderer Directory: Contains the web application built with React, Vue, or Svelte, including the HTML entry point and Vite configuration

Shared Directory: Contains TypeScript types and constants shared between main and renderer processes

The project root should include the electron.vite.config.ts for build configuration, electron-builder.yml for packaging options, and resources directory for app icons and assets.

Main Process Setup

Application Lifecycle Management:

The main process initialization follows a specific sequence. First, enable sandbox globally using app.enableSandbox() to ensure all renderer processes run in isolated environments. Then request single instance lock to prevent multiple app instances from running simultaneously.

Window creation should occur after the app ready event fires. Configure BrowserWindow with security-focused webPreferences including contextIsolation enabled, nodeIntegration disabled, sandbox enabled, and webSecurity enabled. Set the preload script path to expose safe APIs to the renderer.

Handle platform-specific behaviors: on macOS, re-create windows when the dock icon is clicked if no windows exist. On other platforms, quit the application when all windows close.

For implementation examples, see examples.md Main Process Entry Point section.

Type-Safe IPC Communication

IPC Type Definition Pattern:

Define an interface that maps channel names to their payload types. Group channels by domain such as file operations, window operations, and storage operations. This enables type checking for both main process handlers and renderer invocations.

Main Process Handler Registration:

Register IPC handlers in a dedicated module that imports from the shared types. Each handler should validate input using a schema validation library such as Zod before processing. Use ipcMain.handle for request-response patterns and return structured results.

Preload Script Implementation:

Create an API object that wraps ipcRenderer.invoke calls for each channel. Use contextBridge.exposeInMainWorld to make this API available in the renderer as window.electronAPI. Include cleanup functions for event listeners to prevent memory leaks.

For complete IPC implementation patterns, see examples.md Type-Safe IPC Implementation section.

Security Best Practices

Mandatory Security Settings:

Every BrowserWindow must have webPreferences configured with four critical settings. contextIsolation must always be enabled to prevent renderer code from accessing Electron internals. nodeIntegration must always be disabled in renderer processes. sandbox must always be enabled for process-level isolation. webSecurity must never be disabled to maintain same-origin policy enforcement.

Content Security Policy:

Configure session-level CSP headers using webRequest.onHeadersReceived. Restrict default-src to self, script-src to self without unsafe-inline, and connect-src to allowed API domains. This prevents XSS attacks and unauthorized resource loading.

Input Validation:

Every IPC handler must validate inputs before processing. Prevent path traversal attacks by rejecting paths containing parent directory references. Validate file names against reserved characters. Use allowlists for permitted directories when implementing file access.

For security implementation details, see reference.md Security Best Practices section.

Auto-Update Implementation

Update Service Architecture:

Create an UpdateService class that manages the electron-updater lifecycle. Initialize with the main window reference to enable UI notifications. Configure autoDownload as false to give users control over bandwidth usage.

Event Handling:

Handle update-available events by notifying the renderer and prompting the user for download confirmation. Track download-progress events to display progress indicators. Handle update-downloaded events by prompting for restart.

User Notification Pattern:

Use system dialogs to prompt users when updates are available and when downloads complete. Send events to the renderer for in-app notification display. Support both immediate and deferred installation.

For complete update service implementation, see examples.md Auto-Update Integration section.

App Packaging

Electron Builder Configuration:

Configure the appId with reverse-domain notation for platform registration. Specify productName for display in system UI. Set up platform-specific targets for macOS, Windows, and Linux.

macOS Configuration:

Set category for App Store classification. Enable hardenedRuntime and configure entitlements for notarization. Configure universal builds targeting both x64 and arm64 architectures.

Windows Configuration:

Specify icon path for executable and installer. Configure NSIS installer options including installation directory selection. Set up code signing with appropriate hash algorithms.

Linux Configuration:

Configure category for desktop environment integration. Set up multiple targets including AppImage for universal distribution and deb/rpm for package manager installation.

For complete configuration examples, see reference.md Configuration section.


Advanced Patterns

For comprehensive documentation on advanced topics, see reference.md and examples.md:

Window State Persistence:

  • Saving and restoring window position and size across sessions
  • Handling multiple displays and display changes
  • Managing maximized and fullscreen states

Multi-Window Management:

  • Creating secondary windows with proper parent-child relationships
  • Sharing state between multiple windows
  • Coordinating window lifecycle events

System Tray and Native Menus:

  • Creating and updating system tray icons with context menus
  • Building application menus with keyboard shortcuts
  • Platform-specific menu patterns for macOS and Windows

Utility Processes:

  • Spawning utility processes for CPU-intensive background tasks
  • Communicating with utility processes via MessageChannel
  • Managing utility process lifecycle and error handling

Native Module Integration:

  • Rebuilding native modules for Electron Node.js version
  • Using better-sqlite3 for local database storage
  • Integrating keytar for secure credential storage

Protocol Handlers and Deep Linking:

  • Registering custom URL protocols for app launching
  • Handling deep links on different platforms
  • OAuth callback handling via custom protocols

Performance Optimization:

  • Lazy loading windows and heavy modules
  • Optimizing startup time with deferred initialization
  • Memory management for long-running applications

Works Well With

  • moai-lang-typescript - TypeScript patterns for type-safe Electron development
  • moai-domain-frontend - React, Vue, or Svelte renderer development
  • moai-lang-javascript - Node.js patterns for main process
  • moai-domain-backend - Backend API integration
  • moai-workflow-testing - Testing strategies for desktop apps

Troubleshooting

Common Issues and Solutions:

White Screen on Launch:

Verify the preload script path is correctly configured relative to the built output directory. Check that loadFile or loadURL paths point to existing files. Enable devTools to inspect console errors. Review CSP settings that may block script execution.

IPC Not Working:

Confirm channel names match exactly between main handlers and renderer invocations. Ensure handlers are registered before windows load content. Verify contextBridge usage follows the correct pattern with exposeInMainWorld.

Native Modules Fail:

Run electron-rebuild after npm install to recompile native modules. Match the Node.js version embedded in Electron. Add a postinstall script to automate rebuilding.

Auto-Update Not Working:

Verify the application is code-signed as updates require signing. Check publish configuration in electron-builder.yml. Enable electron-updater logging to diagnose connection issues. Review firewall settings that may block update checks.

Debug Commands:

Rebuild native modules with npx electron-rebuild. Check Electron version with npx electron --version. Enable verbose update logging with DEBUG=electron-updater environment variable.


Resources

For complete code examples and configuration templates, see:

  • reference.md - Detailed API documentation, version matrix, Context7 library mappings
  • examples.md - Production-ready code examples for all patterns

For latest documentation, use Context7 to query:

  • /electron/electron for core Electron APIs
  • /electron/forge for Electron Forge tooling
  • /electron-userland/electron-builder for packaging configuration

Version: 2.0.0 Last Updated: 2026-01-10 Changes: Restructured to comply with CLAUDE.md Documentation Standards - removed all code examples, converted to narrative text format

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

26.32%
按下载量换算28

windsurf

25.14%
按下载量换算27

trae

19.41%
按下载量换算21

OpenCode

11.79%
按下载量换算12

Codex

7.13%
按下载量换算8

Antigravity

3.07%
按下载量换算3

安全审计

暂无安全审计结果可展示。

权限和风险

操作浏览器

该 Skill 可能涉及浏览器控制能力,使用时可能读取或操作网页内容,需要在受控环境中确认权限边界。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills