systeminformation
Dependency-free Node.js library exposing 50+ functions for deep hardware, OS, and system telemetry
Repository Health
Technical Analysis
systeminformation is a lightweight, dependency-free Node.js library that surfaces detailed hardware and operating system data through more than fifty async functions covering CPU, memory, disks, network interfaces, graphics, battery, Docker containers, USB, Bluetooth, audio, printers, and more. It runs across Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, SunOS, and Android, shelling out to native OS utilities under the hood and normalizing their output into consistent JavaScript objects.
With over 600 million cumulative downloads and top-10 ranking among backend npm packages, it has become the default choice for server-side monitoring dashboards, diagnostics tools, and DevOps agents that need OS-level visibility without writing platform-specific glue code themselves.
What You Get
- 50+ async functions grouped by domain: system, CPU, memory, filesystem, network, graphics, battery, processes, users, Docker, USB, audio, and Bluetooth
- Cross-platform support for Linux, macOS, Windows, FreeBSD, OpenBSD, NetBSD, SunOS, and basic Android
- Zero npm dependencies — parses native OS command output and system files directly
- A bundled CLI (
npx systeminformation) for quick ad-hoc system snapshots without writing code - TypeScript type definitions shipped with the package for editor autocomplete and compile-time safety
Common Use Cases
- Building server monitoring dashboards that report live CPU, memory, and disk metrics
- Feeding hardware fingerprints (UUID, serials) into licensing or device-registration systems
- Collecting Docker container and image stats for internal observability tooling
- Diagnosing customer support issues by capturing full OS/hardware snapshots from an Electron or CLI app
Under The Hood
Architecture: The library is organized as one module per hardware/OS domain (cpu.js, memory.js, network.js, graphics.js, docker.js, usb.js, audio.js, bluetooth.js, etc.), all re-exported through a thin index.js facade that also handles Windows-specific bootstrapping (codepage and PowerShell detection) at load time. Each domain module dispatches on process.platform internally, shelling out to native utilities (e.g. wmic/PowerShell on Windows, /proc and dmidecode on Linux, system_profiler/sysctl on macOS) and parsing their text output into normalized JS objects, so callers get one consistent shape regardless of OS.
Tech Stack: Pure CommonJS JavaScript with zero runtime npm dependencies — the entire ~20,000-line codebase relies only on Node’s built-in child_process, os, and fs modules plus hand-written parsers for command output. TypeScript type definitions (index.d.ts) are hand-maintained and shipped alongside the JS source rather than generated, and a cli.js entry point exposes the library as an npx-runnable binary.
Code Quality: Tests live under test/ (test.js, testAll.js, plus a Deno-specific runner), exercising each domain function against the live host OS rather than mocked fixtures — appropriate for a library whose correctness is inherently platform-dependent, though it means CI coverage is bounded by the runner’s OS/hardware. Modules follow a consistent internal style (platform branches, promise-wrapped exports, optional callback support for backward compatibility), and biome.json/tslint.json indicate linting is enforced in CI.
API Design: The public surface favors flat, promise-returning functions grouped by domain (si.cpu(), si.mem(), si.diskLayout()) with no configuration objects required to get started — require('systeminformation') plus a single await call returns usable data. Version 5 intentionally introduced breaking changes to make field names and shapes consistent across functions, trading short-term migration pain for longer-term API coherence; comprehensive docs at systeminformation.io and inline JSDoc back every function.
Used by 10 apps in this directory
Activepieces
Automation · AI Assistants
Open-source AI automation platform that converts 280+ workflow integrations into MCP servers for LLMs, with no-code builders and TypeScript extensibility.
ai-toolkit
AI Development · AI Design Tools
An all-in-one open-source training suite for finetuning diffusion models—FLUX, SDXL, Wan video, and audio—on consumer GPU hardware via CLI or web UI.
Amical
Note Taking · AI Assistants
Local-first AI dictation that understands your active app — private, offline, and built for speed.
browserless
Developer Tools · Automation
Run headless Chrome, Firefox, and WebKit as a managed Docker service — drop-in Puppeteer and Playwright support with no infrastructure overhead.
Codebuff
AI Code Assistants
An open-source AI coding assistant that coordinates specialized agents to edit your codebase from natural language — including Freebuff, a free, ad-supported version powered entirely by open-source models like DeepSeek and Kimi.
Continue
Developer Tools · AI Development · AI Code Assistants
Open-source coding agent for VS Code, JetBrains, and CLI with support for 30+ LLM providers.
Firecrawl
AI Development · Developer Tools
Turn any website into clean, LLM-ready data with a single API call — no proxy headaches, no scraping complexity.
homepage
Monitoring · Productivity
A fast, fully static, and secure self-hosted startpage with Docker service discovery and integrations for over 160 services.
Operational
Analytics · Automation · Monitoring
Open-source event tracker with real-time push notifications and action buttons for tech founders.