Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计异常

neutralinojsneutralinojs 搜索

Agent Skill

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

总安装

288

周安装

12

GitHub Stars

1

下载量

96
CodexClaudeCursorGemini CLI

安装说明

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

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

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

命令行安装

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

skills.shnpx skills
npx skills add https://github.com/sarfraznawaz2005/agent-skills-collection --skill neutralinojs

简介

生成跨平台桌面应用骨架代码与本地资源访问封装。

  • 支持调用文件系统、通知系统与原生模块扩展功能。
  • 输出 JavaScript/HTML/CSS 三件套基础工程结构。
  • 打包后体积较小,但部分操作系统需单独签名认证。
  • neutralinojs 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Neutralino.js Platform Skill

Consolidated skill for building cross-platform desktop applications with Neutralino.js. Use decision trees below to find the right APIs and configuration options, then load detailed references.

When to Apply

  • Building desktop utilities with file system operations
  • Executing system commands or managing processes
  • Creating apps with tray icons, notifications, or clipboard integration
  • Accessing system information (CPU, memory, displays)

Critical Rules

Follow these rules in all Neutralino.js code:

  1. Always use neu create <path> for new projects unless explicitly asked to create from scratch.
  2. Import @neutralinojs/lib for frontend frameworks (React, Vue, etc.) instead of including neutralino.js directly.
  3. Never use tokenSecurity: none when exposing native APIs - always use one-time (default) for security.
  4. Configure nativeAllowList and nativeBlockList to restrict API access and enhance security.
  5. Call Neutralino.init() before using any native API methods.
  6. Handle window close events properly using events.on('windowClose') - never rely solely on the close button.
  7. Initialize First: Call Neutralino.init() before any native API usage, see below:
// WRONG - calling APIs before initialization
await Neutralino.os.getEnv('USER');

// RIGHT - initialize then use APIs
Neutralino.init();
await Neutralino.os.getEnv('USER');

Handle Window Close: Always implement windowClose handler to prevent hanging processes

// WRONG - missing exit handler
Neutralino.init();

// RIGHT - proper cleanup on window close
Neutralino.init();
Neutralino.events.on("windowClose", () => {
  Neutralino.app.exit();
});

Error Code Patterns: Native API errors use specific codes (NE_FS_*, NE_OS_*, NE_RT_*)

// Check for specific filesystem errors
try {
  await Neutralino.filesystem.readFile('./config.txt');
} catch(err) {
  if (err.code === 'NE_FS_NOPATHE') {
    // File doesn't exist
  } else if (err.code === 'NE_FS_FILRDER') {
    // File read error
  }
}

How to Use This Skill

Reference File Structure

Neutralino.js references follow a hierarchical structure. Cross-cutting concepts and how-to guides are separate.

API References in ./references/api/:

  • overview.md - All API namespaces and architecture
  • app.md - Application lifecycle, config, broadcasting
  • window.md - Window management (create, focus, size, tray)
  • filesystem.md - File operations, watchers, paths
  • os.md - OS operations, environment variables, spawning processes
  • storage.md - Key-value storage (SQLite-based)
  • clipboard.md - System clipboard access
  • computer.md - System info (memory, OS version)
  • events.md - Event system (on, off, dispatch, broadcast)
  • extensions.md - Extension communication
  • custom.md - Custom method execution
  • resources.md - Bundle resource access
  • server.md - Server info and configuration
  • updater.md - Auto-updater functionality
  • init.md - Initialization API
  • error-codes.md - Error code reference
  • global-variables.md - Predefined global variables

CLI Reference in ./references/cli/:

  • neu-cli.md - All CLI commands (create, run, build, update, etc.)
  • internal-cli-arguments.md - Framework binary CLI arguments

Configuration in ./references/configuration/:

  • neutralino.config.json.md - Complete config reference
  • modes.md - Application modes (window, browser, cloud, chrome)
  • project-structure.md - Project directory layout

Getting Started in ./references/getting-started/:

  • introduction.md - What is Neutralino.js, features, comparisons
  • using-frontend-libraries.md - React, Vue, Angular integration

How-To Guides in ./references/how-to/:

  • extensions-overview.md - Building and using extensions
  • auto-updater.md - Implementing auto-updates

Distribution in ./references/distribution/:

  • overview.md - Building and distributing applications

Reading Order

  1. Start with getting-started/introduction.md for overview
  2. Then read based on your task:

- Creating new app -> cli/neu-cli.md (neu create) - Using native APIs -> api/overview.md + specific namespace - Window management -> api/window.md + configuration/modes.md - File operations -> api/filesystem.md - Configuration -> configuration/neutralino.config.json.md - Building extensions -> how-to/extensions-overview.md - Auto-updater -> how-to/auto-updater.md - Frontend integration -> getting-started/using-frontend-libraries.md - Distribution -> distribution/overview.md

Example Paths

./references/getting-started/introduction.md       # Start here
./references/cli/neu-cli.md                         # CLI commands
./references/api/overview.md                        # All APIs overview
./references/api/filesystem.md                       # File operations
./references/configuration/neutralino.config.json.md # Config reference
./references/how-to/extensions-overview.md          # Extensions
./references/api/window.md                          # Window management

Quick Decision Trees

"I want to create a new Neutralino.js app"

Create app?
├─ Quick start with default template -> neu create myapp
├─ Use custom template -> neu create myapp --template=<account>/<repo>
├─ Integrate with frontend framework -> getting-started/using-frontend-libraries.md
└─ From scratch (expert) -> configuration/neutralino.config.json.md

"I need to manage windows"

Window management?
├─ Create/show window -> api/window.md (window.create, window.show)
├─ Set window size/position -> api/window.md (window.setSize, window.setPosition)
├─ Window focus/maximize/minimize -> api/window.md (window.focus, window.maximize, window.minimize)
├─ System tray icon -> api/window.md (window.setTrayOptions)
├─ Transparent window -> configuration/neutralino.config.json.md (modes.window.transparent)
├─ Borderless window -> configuration/neutralino.config.json.md (modes.window.borderless)
└─ Fullscreen mode -> api/window.md (window.enterFullScreen)

"I need to work with files"

File operations?
├─ Read text file -> api/filesystem.md (readFile)
├─ Write text file -> api/filesystem.md (writeFile)
├─ Read directory -> api/filesystem.md (readDirectory)
├─ Create/remove directory -> api/filesystem.md (createDirectory, remove)
├─ Copy/move files -> api/filesystem.md (copy, move)
├─ Watch file changes -> api/filesystem.md (createWatcher)
├─ File stats (exists, size, modified) -> api/filesystem.md (getStats)
├─ Path operations -> api/filesystem.md (getAbsolutePath, getRelativePath)
└─ File permissions -> api/filesystem.md (getPermissions, setPermissions)

"I need OS-level operations"

OS operations?
├─ Execute system command -> api/os.md (execCommand)
├─ Get environment variable -> api/os.md (getEnv)
├─ Set environment variable -> api/os.md (setEnv)
├─ Spawn process with I/O -> api/os.md (spawnProcess)
├─ Get OS info -> api/computer.md (getOsInfo)
├─ Get memory info -> api/computer.md (getMemoryInfo)
├─ Open external URL -> api/os.md (open)
└─ Path constants (NL_PATH, NL_CWD) -> api/global-variables.md

"I need data storage"

Storage?
├─ Simple key-value storage -> api/storage.md (getData, setData, putData)
├─ Persist data across app restarts -> api/storage.md
└─ Custom database -> how-to/extensions-overview.md (build extension)

"I need to handle events"

Events?
├─ Window close event -> api/events.md (windowClose)
├─ Window focus/blur -> api/events.md (windowFocus, windowBlur)
├─ Tray menu click -> api/events.md (trayMenuItemClicked)
├─ App instance events -> api/events.md (appClientConnect, appClientDisconnect)
├─ Extension events -> api/events.md (extensionReady, extClientConnect)
└─ Custom events -> api/events.md (dispatch, broadcast)

"I need to build and distribute"

Build & distribute?
├─ Build for current platform -> cli/neu-cli.md (neu build)
├─ Create portable ZIP -> cli/neu-cli.md (--release)
├─ Single-file executable -> cli/neu-cli.md (--embed-resources)
├─ Auto-updater -> how-to/auto-updater.md
└─ Distribution overview -> distribution/overview.md

"I need to use extensions"

Extensions?
├─ Overview and concepts -> how-to/extensions-overview.md
├─ Define extensions in config -> configuration/neutralino.config.json.md (extensions)
├─ Enable extensions -> configuration/neutralino.config.json.md (enableExtensions)
├─ Dispatch to extension -> api/extensions.md (dispatch)
├─ Extension receives messages -> how-to/extensions-overview.md (WebSocket protocol)
└─ Extension calls native API -> how-to/extensions-overview.md (app.broadcast)

"I need app lifecycle control"

Lifecycle?
├─ Exit app -> api/app.md (exit)
├─ Kill process (force) -> api/app.md (killProcess)
├─ Restart app -> api/app.md (restartProcess)
├─ Get app config -> api/app.md (getConfig)
├─ Broadcast to all instances -> api/app.md (broadcast)
├─ Read/write stdin/stdout -> api/app.md (readProcessInput, writeProcessOutput)
└─ Initialize client -> api/init.md (init)

"Which mode should I use?"

Application mode?
├─ Desktop app with native window -> window mode (default)
├─ Web app with native features -> browser mode
├─ Background server/API -> cloud mode
├─ Chrome app style -> chrome mode
└─ Details -> configuration/modes.md

"I need security configuration"

Security?
├─ Restrict API access -> configuration/neutralino.config.json.md (nativeAllowList, nativeBlockList)
├─ Token security -> configuration/neutralino.config.json.md (tokenSecurity)
├─ Export auth info -> configuration/neutralino.config.json.md (exportAuthInfo)
└─ Global variables -> api/global-variables.md

"I need to integrate with frontend frameworks"

Frontend integration?
├─ React/Vue/Angular -> getting-started/using-frontend-libraries.md
├─ Import client lib -> npm: @neutralinojs/lib
├─ CLI frontend support -> configuration/neutralino.config.json.md (cli.frontendLibrary)
└─ HMR/DevTools -> cli/neu-cli.md (neu run with dev server)

Product Index

API Namespaces

NamespaceEntry FileDescription
app./references/api/app.mdApplication lifecycle, config, broadcasting
window./references/api/window.mdWindow creation, management, tray
filesystem./references/api/filesystem.mdFile operations, watchers, paths
os./references/api/os.mdOS operations, environment, processes
storage./references/api/storage.mdKey-value storage
clipboard./references/api/clipboard.mdClipboard access
computer./references/api/computer.mdSystem info (memory, OS)
events./references/api/events.mdEvent system
extensions./references/api/extensions.mdExtension communication
custom./references/api/custom.mdCustom method execution
resources./references/api/resources.mdBundle resources
server./references/api/server.mdServer info
updater./references/api/updater.mdAuto-updater
init./references/api/init.mdInitialization
error-codes./references/api/error-codes.mdError codes
global-variables./references/api/global-variables.mdPredefined globals

Configuration

ConceptEntry FileDescription
Config Reference./references/configuration/neutralino.config.json.mdComplete configuration options
Modes./references/configuration/modes.mdApplication modes (window, browser, cloud, chrome)
Project Structure./references/configuration/project-structure.mdDirectory layout

CLI

ConceptEntry FileDescription
neu CLI./references/cli/neu-cli.mdAll CLI commands
Internal Arguments./references/cli/internal-cli-arguments.mdFramework binary arguments

Getting Started

ConceptEntry FileDescription
Introduction./references/getting-started/introduction.mdOverview, features, comparisons
Frontend Libraries./references/getting-started/using-frontend-libraries.mdReact, Vue, Angular integration

How-To

ConceptEntry FileDescription
Extensions./references/how-to/extensions-overview.mdBuilding and using extensions
Auto Updater./references/how-to/auto-updater.mdImplementing updates

Distribution

ConceptEntry FileDescription
Distribution./references/distribution/overview.mdBuilding and distributing apps

Key Patterns

File Operations

// Read/write text files
let content = await Neutralino.filesystem.readFile('./data.txt');
await Neutralino.filesystem.writeFile('./output.txt', 'Hello World');

// Binary file operations
let buffer = await Neutralino.filesystem.readBinaryFile('./image.png');
let rawBin = new ArrayBuffer(1);
let view = new Uint8Array(rawBin);
view[0] = 64;
await Neutralino.filesystem.writeBinaryFile('./data.bin', rawBin);

// File stats and existence check
try {
  let stats = await Neutralino.filesystem.getStats('./file.txt');
  console.log(`Size: ${stats.size}, IsFile: ${stats.isFile}`);
} catch(err) {
  if (err.code === 'NE_FS_NOPATHE') {
    console.log('File does not exist');
  }
}

Process Management

// Execute command and get output
let result = await Neutralino.os.execCommand('python --version');
console.log(result.stdOut);

// Spawn background process with event monitoring
let proc = await Neutralino.os.spawnProcess('ping google.com');

Neutralino.events.on('spawnedProcess', (evt) => {
  if (proc.id === evt.detail.id) {
    switch(evt.detail.action) {
      case 'stdOut':
        console.log(evt.detail.data);
        break;
      case 'stdErr':
        console.error(evt.detail.data);
        break;
      case 'exit':
        console.log(`Exit code: ${evt.detail.data}`);
        break;
    }
  }
});

// Send input to spawned process
await Neutralino.os.updateSpawnedProcess(proc.id, 'stdIn', 'input data');
await Neutralino.os.updateSpawnedProcess(proc.id, 'stdInEnd');

System Tray Integration

// Set up tray with menu
let tray = {
  icon: '/resources/icons/tray.png',
  menuItems: [
    {id: "show", text: "Show Window"},
    {text: "-"}, // Separator
    {id: "quit", text: "Quit"}
  ]
};

await Neutralino.os.setTray(tray);

// Handle tray menu clicks
Neutralino.events.on('trayMenuItemClicked', (evt) => {
  switch(evt.detail.id) {
    case 'show':
      // Show window logic
      break;
    case 'quit':
      Neutralino.app.exit();
      break;
  }
});

Clipboard Operations

// Text clipboard
await Neutralino.clipboard.writeText('Hello World');
let text = await Neutralino.clipboard.readText();

// HTML clipboard
await Neutralino.clipboard.writeHTML('<p style="color:red;">Formatted</p>');
let html = await Neutralino.clipboard.readHTML();

// Check clipboard format
let format = await Neutralino.clipboard.getFormat();

System Information

// CPU information
let cpu = await Neutralino.computer.getCPUInfo();
console.log(`CPU: ${cpu.model}, Cores: ${cpu.physicalCores}`);

// Display information
let displays = await Neutralino.computer.getDisplays();
displays.forEach(display => {
  console.log(`Display ${display.id}: ${display.resolution.width}x${display.resolution.height}`);
});

// Architecture and OS
let arch = await Neutralino.computer.getArch();
let username = await Neutralino.os.getEnv(NL_OS === 'Windows' ? 'USERNAME' : 'USER');

Notifications

// Basic notification
await Neutralino.os.showNotification('Title', 'Message content');

// Notification with icon type
await Neutralino.os.showNotification('Error', 'Something went wrong', 'ERROR');
// Icon types: INFO, WARNING, ERROR, QUESTION

Common Mistakes

  • Missing await on async calls — All native APIs return promises
  • Not checking file existence — Use getStats() to verify files exist before operations
  • Forgetting process cleanup — Always handle spawned process exit events
  • Invalid tray icon paths — Use /resources/ prefix for bundled assets
  • Missing error handling — Wrap native API calls in try-catch blocks

Resources

Repository: https://github.com/neutralinojs/neutralinojs Documentation: https://neutralino.js.org Client Library (NPM): https://www.npmjs.com/package/@neutralinojs/lib CLI (NPM): https://www.npmjs.com/package/@neutralinojs/neu Discussions: https://github.com/neutralinojs/neutralinojs/discussions

适合场景

01

用户想查找某类 Agent Skill 时

02

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

03

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

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

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

能力 4

展示第三方安全扫描或审计结果

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

平台分布

Codex

37.46%
按下载量换算36

Claude

30.52%
按下载量换算29

Cursor

19.49%
按下载量换算19

Gemini CLI

9.67%
按下载量换算9

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

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

来源信息

继续浏览同类 Skills