Skip to content

About

๐Ÿ–ฅ๏ธ A sleek, modern Windows service manager built with Tauri, React & Rust โ€” start, stop, monitor and inspect Windows background services from a beautiful real-time dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

6 Commits

Folders and files

Repository files navigation

ServicePilot

ServicePilot

A sleek, modern Windows service manager built with Tauri, React & Rust.

Stop digging through services.msc. Manage all your Windows background services and custom tasks from one clean, real-time dashboard.

Windows Tauri React Rust TypeScript

GitHub License GitHub stars GitHub downloads GitHub release GitHub last commit

English | ็ฎ€ไฝ“ไธญๆ–‡


โœจ Features

  • ๐Ÿ“Š Full System Service Overview โ€” List every installed Windows service with real-time status, PID, and start type. No more scrolling through the bloated services.msc.
  • ๐Ÿ” Instant Search & Filter โ€” Find any service by name in milliseconds. Filter by running/stopped/all status.
  • โ–ถ๏ธ One-Click Start / Stop / Restart โ€” Manage any service directly from the dashboard, with UAC elevation handled automatically.
  • ๐Ÿ”Ž Service Detail Inspector โ€” Click any service to see its full configuration: binary path, account, dependencies, service type, error control level, and more.
  • ๐Ÿ›ก๏ธ Custom Task Management โ€” Register your own scripts and background programs as managed services via Servy integration. Create new services or link existing ones โ€” all in one place.
  • ๐Ÿš€ Servy Integration โ€” One-click Servy installation. Turn any Python script, Node.js app, or batch file into a robust Windows service with native crash recovery and boot-time auto-start.
  • ๐ŸŒ Bilingual UI โ€” Full English / ็ฎ€ไฝ“ไธญๆ–‡ interface with instant language switching. Your preference is remembered.
  • โšก Real-Time Polling โ€” Status changes are pushed to the UI automatically every 3 seconds via Tauri's event system. No manual refresh needed.
  • ๐Ÿ’พ Lightweight โ€” Single ~11MB executable. No Electron bloat. No runtime dependencies (SQLite is statically linked).

๐Ÿ“ธ Screenshots

๐Ÿ“ท Screenshots coming soon โ€” run pnpm tauri dev to see it live!


๐Ÿš€ Quick Start

Option A: Download the Installer

Grab the latest NSIS installer from the Releases page:

File Description
ServicePilot_x.x.x_x64-setup.exe NSIS installer (recommended, per-user install)

Double-click to install โ€” no admin needed for installation. The app itself requests admin on launch (required for service management).

Option B: Build from Source

Prerequisites: Node.js 20+, pnpm, Rust (stable), Windows 10/11.

git clone https://github.com/Joclto/service-pilot.git
cd service-pilot
pnpm install
pnpm tauri dev      # ๐Ÿงช Launch in dev mode (hot reload)
pnpm tauri build    # ๐Ÿ“ฆ Produce installer in src-tauri/target/release/bundle/nsis/

๐Ÿ› ๏ธ Tech Stack

Layer Technology Why
Desktop Framework Tauri 2 Tiny binary, native performance, no Chromium bloat
Frontend React 19 + TypeScript 5.8 Type-safe, fast, huge ecosystem
Bundler Vite 7 Lightning-fast HMR
Styling TailwindCSS 4 Utility-first, tiny output
State Zustand 5 Minimal, no boilerplate
Tables TanStack Table 8 Headless, powerful filtering
Backend Rust (edition 2021) Memory-safe, zero-cost abstractions
Windows API windows 0.58 + windows-service 0.7 Direct SCM access, service lifecycle
Persistence rusqlite (SQLite, bundled) Zero-config, statically linked
Service Wrapper Servy Turn scripts into native Windows services

๐Ÿ“ Project Structure

service-pilot/
โ”œโ”€โ”€ src/                          # Frontend (React + TypeScript)
โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”œโ”€โ”€ ui/                   # shadcn/ui base components
โ”‚   โ”‚   โ”œโ”€โ”€ service-table.tsx     # Unified service/task table
โ”‚   โ”‚   โ”œโ”€โ”€ task-form.tsx         # Create/link service dialog
โ”‚   โ”‚   โ””โ”€โ”€ service-detail-dialog.tsx
โ”‚   โ”œโ”€โ”€ lib/
โ”‚   โ”‚   โ”œโ”€โ”€ i18n.ts               # Bilingual translations
โ”‚   โ”‚   โ”œโ”€โ”€ tauri.ts              # IPC wrappers
โ”‚   โ”‚   โ””โ”€โ”€ types.ts              # Shared types
โ”‚   โ””โ”€โ”€ stores/services.ts        # Zustand global state
โ”œโ”€โ”€ src-tauri/                    # Backend (Rust)
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ lib.rs                # App entry, setup, command registration
โ”‚   โ”‚   โ”œโ”€โ”€ scm.rs                # Windows SCM API (enumerate, start/stop, registry)
โ”‚   โ”‚   โ”œโ”€โ”€ servy.rs              # Servy CLI wrapper
โ”‚   โ”‚   โ”œโ”€โ”€ task.rs               # SQLite CRUD
โ”‚   โ”‚   โ”œโ”€โ”€ poller.rs             # Real-time status polling + emit
โ”‚   โ”‚   โ”œโ”€โ”€ commands.rs           # #[tauri::command] handlers
โ”‚   โ”‚   โ””โ”€โ”€ models.rs             # Shared data models
โ”‚   โ”œโ”€โ”€ manifest.xml              # UAC requireAdministrator
โ”‚   โ””โ”€โ”€ tauri.conf.json
โ””โ”€โ”€ package.json

๐Ÿ”ง How It Works

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚         ServicePilot GUI (React)      โ”‚
โ”‚   โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚   โ”‚ System Svcs โ”‚ โ”‚ Custom Tasks   โ”‚  โ”‚
โ”‚   โ”‚ TanStack่กจ  โ”‚ โ”‚ Create/Link    โ”‚  โ”‚
โ”‚   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
           โ”‚  invoke()       โ”‚  invoke()
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚           Rust Backend (Tauri)         โ”‚
โ”‚                                        โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚
โ”‚  โ”‚ scm.rs   โ”‚  โ”‚servy  โ”‚  โ”‚ poller  โ”‚ โ”‚
โ”‚  โ”‚ Enum Svc โ”‚  โ”‚Create โ”‚  โ”‚ 3s poll โ”‚ โ”‚
โ”‚  โ”‚ Start/Stopโ”‚ โ”‚Unlink โ”‚  โ”‚ emit()  โ”‚ โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜  โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜ โ”‚
โ”‚       โ”‚            โ”‚           โ”‚       โ”‚
โ”‚       โ–ผ            โ–ผ           โ–ผ       โ”‚
โ”‚  Windows SCM    Servy CLI   Event Push โ”‚
โ”‚  (services)    (wrapper)    to Frontendโ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

โš™๏ธ Development

Run in dev mode

pnpm tauri dev

Note: The app embeds a requireAdministrator manifest for service management. Run your terminal as Administrator for tauri dev, or temporarily change manifest.xml to asInvoker for UI-only development.

Build the installer

pnpm tauri build --bundles nsis

Output: src-tauri/target/release/bundle/nsis/ServicePilot_x.x.x_x64-setup.exe


๐Ÿค Contributing

Contributions are welcome! Whether it's a bug report, feature suggestion, or pull request โ€” feel free to open an issue or submit a PR.

  1. Fork the repo
  2. Create your branch (git checkout -b feature/amazing-feature)
  3. Commit your changes
  4. Open a Pull Request

๐Ÿ“Œ Roadmap

  • System service enumeration & management
  • Service detail inspector
  • Servy integration (create new services)
  • Link existing services
  • Bilingual UI (EN / ไธญๆ–‡)
  • System tray with notifications
  • Boot-time auto-start for the app
  • Log viewer per managed service
  • Batch operations (multi-select start/stop)
  • Dark/light theme toggle

๐Ÿ“„ License

This project is licensed under the MIT License โ€” see the LICENSE file for details.


Made with โค๏ธ using Tauri + React + Rust

โญ If you find this useful, give it a star!

About

๐Ÿ–ฅ๏ธ A sleek, modern Windows service manager built with Tauri, React & Rust โ€” start, stop, monitor and inspect Windows background services from a beautiful real-time dashboard.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages