FLUTTER ECOSYSTEM

Regncreative/PulseDiagnostics

只读的 Windows 诊断:以通俗语言解释事件日志,剖析蓝屏。离线使用且开源。

PulseDiagnostics 项目封面
Stars
809
Forks
41
最近推送(UTC)
2026年10月28日
项目状态
未归档
Sinan Öz GitHub avatar
GITHUB User

Sinan Öz ↗

AI-Assisted Development | Full-Stack Development | Web Applications | Software Architecture | UI/UX Engineering | API Development | Database

Regn SoftwareTurkey官方网站 ↗
语言DartC++PowerShellCMakePythonInno SetupC

技术话题

所在榜单

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Pulse Diagnostics logo

Pulse Diagnostics

See what Windows is really doing.
A read-only Windows diagnostics app that turns the Event Log into plain language.
Fully offline. No telemetry, no account — nothing leaves your PC.

Latest release CI Windows 10 and 11 MIT License No telemetry

Regncreative/PulseDiagnostics on GitHub Trending (Dart) | Trendshift Regncreative/PulseDiagnostics on the Trendshift weekly list for Dart
Regncreative/Pulse on Upstar
Featured on GitHub Trending (Dart), Trendshift and Upstar

Download for Windows · Microsoft Store · Website

Pulse Timeline: Windows events in plain language


Contents


Why Pulse

Windows already records almost everything that happens: crashes, failed services, driver problems, unexpected restarts. It just writes it down as Event IDs and XML.

Event Viewer shows Pulse says
Application Error · Event ID 1000 Explorer unexpectedly closed. Windows restarted Explorer.
Kernel-Power · Event ID 41, BugcheckCode 159 Windows restarted after a blue screen. Stop code: DRIVER_POWER_STATE_FAILURE.
Kernel-Power · Event ID 41, all values 0 PC lost power or stopped suddenly — check the power supply, temperatures and overclocking.
Service Control Manager · Event ID 7031 A Windows service crashed and Windows scheduled a recovery action.

Pulse observes, explains and visualizes. It never changes Windows: no injection, no hooks, no patches, no cleaner or optimizer features.

Pulse, Event Viewer and Reliability Monitor

Windows ships two tools for this. Pulse does not replace them; it sits between them.

Event Viewer Reliability Monitor Pulse
Language Event IDs and XML Short problem titles Plain sentences first; technical detail and raw XML on demand
Coverage Every log Crashes, failed updates, installs Curated Event Log events, live
Live view Manual refresh Daily history Live timeline and System Health
Hardware and processes — — CPU, memory, GPU, disk and network, per process
Related events Separate rows Grouped by day Correlated incidents
Built for Administrators A quick crash history Curious users and IT support

What's new in 1.6

  • Crashes page. Blue screens, app crashes and hangs, unexpected restarts, graphics driver resets, service crashes and hardware errors of the last 7, 30 or 90 days on one page, grouped by cause, with a bar for each day.
  • Why it crashed, in plain words. Each group says what happened, how often, which file an app crashed in and whether it belongs to the app, Windows, a driver or another program, the versions it happened on, and what to try next.
  • Named crashes in the Timeline. "Discord Crashed" instead of "Application Crashed", with the error and the file.
  • Crash history report and a crash history tool for the local Assistant.
  • 1.6.1: the app is now called Pulse Diagnostics. PulseService starts on Windows Server without the Wireless LAN Service feature, and on PCs with two GPUs System Health shows the dedicated one.

Full notes: v1.6.1 · v1.6.0 · CHANGELOG

What's new in 1.5

  • Every GPU. PCs with an integrated and a dedicated GPU see both in System Health, each with its load and memory. GPU load is now worked out the way Task Manager does it.
  • Hide events you expect. "Hide events like this" takes an event type out of the Timeline and its counts. A counter shows how many are hidden, Settings brings them back, and reports and exports still contain every event.
  • One Pulse at a time. Starting Pulse again brings the running window forward, even from the tray.

Full notes: v1.5.0 · CHANGELOG

What's new in 1.4

1.4.3: no more crash on exit, Markdown and Enter-to-send in the Assistant, a custom date range in the Timeline, and a clean uninstall.

1.4.2: the Disk panel totals every drive and shows the system disk's details again.

1.4.1

  • Health for every disk: temperature and SMART for each disk, and for NVMe drives wear, spare capacity, power-on time, unsafe shutdowns and media errors.
  • What woke the PC: the device or scheduled task behind a wake from sleep.
  • Secure Boot events explained, including the SBAT update failure.
  • A deeper Assistant: command lines, CPU time, private bytes and Windows services; port and API key settings. It still talks only to a local AI on this PC.

1.4.0

  • Blue screens and sudden restarts, explained. Kernel-Power 41 and bug check 1001 are read from their event data: the stop code name, what usually causes it and what to check next. Pulse also tells a forced power-off, a power loss and WHEA hardware errors apart, and groups a blue screen with its restart.
  • Open an .evtx from another PC. Export the event log on the PC you are helping and read it in Pulse the same way — even while PulseService is offline.
  • Reports you can share. Exports mask user and computer names, profile paths, account SIDs, IP and MAC addresses and serial numbers by default.
  • Update notice for the GitHub edition (manual or weekly, off by default).

Full notes: v1.4.3 · v1.4.2 · v1.4.1 · v1.4.0 · CHANGELOG


Features

Timeline

  • Live Windows Event Log feed in plain language, newest first, with a one-sentence summary of the last hour and a 24-hour activity strip
  • Explained · Technical · Raw XML views for every event
  • Correlated incidents (app crash and its error report, blue screen and restart, service crash and recovery)
  • Search and filters by severity, source, category, provider, Event ID, process and time; saved searches, bookmarks and pins
  • Open exported .evtx files; export the view as JSON or CSV

Crashes

  • Blue screens, app crashes and hangs, unexpected restarts, graphics driver resets, service crashes and hardware errors of the last 7, 30 or 90 days, grouped by cause
  • What happened and what to try, how often, the versions it happened on, and the file an app crashed in with who made it
  • Opens each Windows event in the Timeline's Explained · Technical · Raw XML views

System Health

  • Health score, CPU (frequency-aware, matches Task Manager), memory, GPU, disk and network, with 60-second history
  • Per-process CPU, memory and network
  • Optional background alerts for sustained high CPU or memory, from the system tray

Inventory

  • System: motherboard, BIOS, CPU, memory modules, storage, network adapters, battery
  • Devices: USB, PCI, displays, audio, Bluetooth, printers
  • Software: installed programs, drivers and Windows services

Reports and diagnostics

  • Health, Timeline, crash history, Diagnostics and inventory reports as JSON, CSV, HTML or PDF, saved locally
  • Service and IPC diagnostics with a support bundle you can attach to an issue

Assistant (optional)

  • Ask about this PC in plain language using a model you run yourself in Ollama or LM Studio
  • Localhost only, read-only tools; it cannot run commands or change settings

App

  • Dark-first Midnight design, Ctrl+K command search, custom title bar, DPI aware
  • Settings for appearance, background mode, System Health, Timeline, diagnostics, performance, privacy and updates; all stored locally

Crashes System Health

Assistant Inventory

Reports Diagnostics

Screenshots use sample data, rendered from the app itself (apps/pulse_app/test/screenshots).


Install

Requirements: Windows 10 or 11, 64-bit (x64). The Microsoft Store edition needs Windows 10 version 2004 or later. Installing the background service needs administrator approval (one UAC prompt).

GitHub release
  1. Download PulseDiagnostics-Setup-<version>-windows-x64.exe from the latest release.
  2. Run it and accept the UAC prompt. Setup installs the VC++ runtime if needed, registers PulseService and starts it.
  3. Open Pulse Diagnostics from the Start menu.

The release also has a payload ZIP. It still needs PulseService and is not a portable edition (see portable vs service).

Microsoft Store

Pulse Diagnostics on the Microsoft Store — the service is packaged with the app and updates come through the Store.

Verify your download

Each release lists SHA-256 checksums in SHA256SUMS.txt:

Get-FileHash .\PulseDiagnostics-Setup-1.6.1-windows-x64.exe -Algorithm SHA256

Releases are not code-signed yet (see Code signing policy), so SmartScreen or some antivirus tools may warn about a new file. More help: installation guide · troubleshooting · upgrade notes


Privacy and security

  • Read-only. Pulse reads Windows data through official APIs and never changes the system.
  • Nothing leaves your PC. No telemetry, analytics, crash reporting, account or cloud.
  • Network use is opt-in: the Assistant talks only to localhost; the update check (GitHub edition) contacts GitHub only when you click Check or turn on weekly checks.
  • Low privilege. PulseService runs as LocalService, not SYSTEM, and talks to the app over a local named pipe that is not reachable from the network.
  • Shareable exports. Personal details are masked in reports and exports by default.

Details: security guide · SECURITY.md (reporting vulnerabilities) · privacy policy


How it works

┌──────────────────────────────────────────────────────────────┐
│                           Windows                            │
│ Event Log · PDH · DXGI · IP Helper · ETW (network) · SetupAPI│
└──────────────────────────────┬───────────────────────────────┘
                               │ read-only APIs
┌──────────────────────────────▼───────────────────────────────┐
│               PulseService (C++20, LocalService)             │
│     Collectors · crash explainer · humanizer · health ·      │
│     inventory · IPC server                                   │
└──────────────────────────────┬───────────────────────────────┘
                               │ local named pipe (framed binary protocol)
┌──────────────────────────────▼───────────────────────────────┐
│                     Pulse app (Flutter)                      │
│   Timeline · System Health · Inventory · Reports · Assistant │
└──────────────────────────────────────────────────────────────┘
  • PulseService collects and explains events. Event Log entries are read with EvtQuery / EvtSubscribe; per-process network uses a Pulse-owned ETW session (ADR-009).
  • Pulse app renders the UI. Exported .evtx files are read by PulseService.exe --read-evtx, run as the signed-in user (ADR-014).
  • Kernel-level activity in the Timeline is planned through ETW, never a driver (ADR-015, proposed).

Architecture and decisions: docs/architecture


Build from source

Prerequisites: Visual Studio 2022+ Build Tools with C++ (CMake and Ninja), Flutter (stable), and Inno Setup 6 for the installer.

# Service in console mode (no installation needed)
.\tools\scripts\run_service_console.ps1

# App, in a second terminal
.\tools\scripts\run_app.ps1

# Tests
ctest --test-dir build/service
cd apps\pulse_app; flutter analyze; flutter test

# Release installer and ZIP into dist\
.\tools\scripts\package_beta.ps1

Releases are built by .github/workflows/release.yml; a vX.Y.Z tag creates a draft release with checksums. Details: BUILD.md · DEVELOPMENT.md

Repository layout

Path Contents
apps/pulse_app/ Flutter desktop app and its tests (test/)
service/pulse_service/ Native Windows service and its tests (test/)
shared/ Wire protocol (C++ and Dart) and shared constants
tools/ Installer, packaging and dev scripts, IPC ping tools, branding generators
docs/ Architecture, ADRs, guides and release notes

Roadmap

  • [x] Event Log → human-readable Timeline, live monitoring
  • [x] System Health, Inventory, Reports, Diagnostics
  • [x] Local Assistant (Ollama / LM Studio), Microsoft Store edition — 1.1
  • [x] Midnight redesign — 1.2
  • [x] Stability release, ~100 MB smaller — 1.3
  • [x] Crash explainer, .evtx import, masked exports, update notice — 1.4
  • [x] Every GPU, hide expected events, one Pulse at a time — 1.5
  • [x] Crashes page: crash history grouped by cause — 1.6
  • [ ] Code-signed releases (SignPath Foundation, in review)
  • [ ] Process lifecycle in the Timeline via ETW (ADR-015)
  • [ ] Minidump analysis for blue screens
  • [ ] Portable edition (postponed; see 40)
  • [ ] Plugin system, session recording and timeline replay

Every feature should answer one question: "What is Windows doing right now?"


In the press


Documentation

Document Purpose
AGENTS.md Product principles and development rules
docs/architecture Architecture package and ADRs
docs/guides Installation, troubleshooting, upgrade notes, security
docs/releases Release notes
CHANGELOG.md Version history
BUILD.md · DEVELOPMENT.md Building and local workflow
CONTRIBUTING.md · SECURITY.md Contributing and vulnerability reports

How Pulse is built

Pulse is built by one developer with the help of AI coding assistants. AGENTS.md is the instruction file those assistants follow; it is also the product's rulebook (read-only, local-first, official Windows APIs only).

  • I decide what Pulse does, how it looks and what ships.
  • Every change goes through tests and CI; every release is installed and tested on real machines before it is published.
  • The full source is here, under the MIT license, so anyone can review exactly what Pulse runs.

Bug reports and code review are very welcome — open an issue.


Code signing policy

Windows releases of Pulse Diagnostics are being moved to signing through the SignPath Foundation's free program for open-source projects (approved; the release certificate is being set up):

Free code signing provided by SignPath.io, certificate by SignPath Foundation.

  • Committers and reviewers: Regncreative (maintainer)
  • Approvers: Regncreative
  • Only release builds produced by this repository's GitHub Actions workflow are signed. Every signing request is approved manually.
  • The Microsoft Store edition is signed by Microsoft.

Privacy: This program will not transfer any information to other networked systems unless specifically requested by the user or the person installing or operating it. The optional Assistant only talks to an AI runtime on localhost; the optional update check contacts GitHub only when you ask it to. See the privacy policy.


Contributing

Issues and pull requests are welcome. Please read AGENTS.md and CONTRIBUTING.md first:

  1. Keep changes observation-only — no cleaner, optimizer or antivirus features.
  2. Run ctest and flutter analyze / flutter test before opening a pull request.
  3. Architectural changes need an ADR under docs/architecture/decisions/.

Thanks

These people reported problems that led to real fixes in Pulse. Thank you.

What they found Fixed in
https://github.com/FadeMind.png?size=80
FadeMind
Pulse crashed when it closed; their crash dumps pinpointed the cause (#32). SMART and temperature data never reached System Health (#20). Total capacity counted only one disk (#29). Resizable BAR showed "Not supported" on a GPU that supports it (#31). 1.4.1 – 1.4.3
https://github.com/clb92.png?size=80
clb92
The Assistant did not find LM Studio although its server was running (#21). 1.4.1
https://github.com/arut16.png?size=80
arut16
PulseService did not start on Windows Server (#50). 1.6.1
https://github.com/calladion.png?size=80
calladion
System Health showed the integrated GPU on PCs with two GPUs (#54). 1.6.1

Found a bug? Open an issue.

License

MIT © Regncreative