Skip to main content

Read-only system diagnostics dashboard with AI-powered explanations

Project description

Device Doctor - Phase-1 Read-Only Diagnostic Agent

A local, read-only diagnostic agent that analyzes system health and provides clear explanations and safe recommendations.

Features

  • Read-Only Operations: Never modifies system state
  • Safe Diagnostics: Only executes allowlisted commands
  • Clear Explanations: AI-powered explanations in plain English
  • Safe Recommendations: Manual actions only, no automated fixes
  • Comprehensive Reporting: Health scores, issues, and telemetry

Installation

  1. Install dependencies:
pip install -r requirements.txt

Usage

Command Line Interface

Run the diagnostic agent:

python doctor/main.py

Web Dashboard

Start the API server:

python api_server.py

Then open your browser to:

http://localhost:8000

The dashboard provides a visual interface with:

  • Real-time health score visualization
  • CPU, Memory, and Disk usage charts
  • Symptom detection display
  • AI-powered issue explanations and recommendations

Architecture

device-doctor/
├── doctor/
│   ├── main.py                 # Entry point
│   ├── core/                   # Core functionality
│   │   ├── os_detect.py        # OS detection
│   │   ├── command_runner.py   # Safe command execution
│   │   └── telemetry.py        # System metrics collection
│   ├── diagnostics/            # Diagnostic engine
│   │   ├── symptoms.py         # Symptom abstraction
│   │   ├── rules.py            # Diagnostic rules
│   │   └── analyzer.py         # Analysis orchestration
│   ├── ai/                     # AI explanation layer
│   │   ├── prompt.py           # Prompt builder
│   │   ├── schema.py           # Response schema
│   │   └── explainer.py        # AI explainer
│   ├── report/                 # Report generation
│   │   ├── formatter.py        # Report formatting
│   │   └── health_score.py     # Health score calculation
│   └── security/               # Security controls
│       └── allowlist.py        # Command allowlist

Security Model

  • All commands must be in the allowlist
  • No user input modifies commands
  • All executions are logged
  • Output is sanitized
  • Read-only operations only

Constraints

  • No destructive commands
  • No write operations to OS
  • No sudo, rm, kill, registry edits, or driver changes
  • No background services
  • No auto-fixes
  • AI explains only, never acts

Phase-1 Status

This is Phase-1 of Device Doctor. It provides:

  • System telemetry collection
  • Symptom detection
  • Rule-based diagnostics
  • AI-powered explanations
  • Human-readable reports

Phase-2 will add auto-fix capabilities (not implemented in Phase-1).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

device_doctor-1.0.0.tar.gz (52.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

device_doctor-1.0.0-py3-none-any.whl (39.0 kB view details)

Uploaded Python 3

File details

Details for the file device_doctor-1.0.0.tar.gz.

File metadata

  • Download URL: device_doctor-1.0.0.tar.gz
  • Upload date:
  • Size: 52.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for device_doctor-1.0.0.tar.gz
Algorithm Hash digest
SHA256 caf5747a11df8f1f8142ed077384f44e08739c301f948408c397f9baba98cc40
MD5 f5875a5f6705d4873dff1172500b273b
BLAKE2b-256 ce1f9703e73483b3c5d18c534fb6a946781f266d86b4fc51bec3b06f4f5cf458

See more details on using hashes here.

File details

Details for the file device_doctor-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: device_doctor-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 39.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for device_doctor-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 10188f23f64159a2add39225630592751419b41983f47ea04efa7c51da13b5d2
MD5 4df2fa7cf2cc82b4459b7209cc8c24df
BLAKE2b-256 454fa71322006f37b1f728e3a35e4c5e076425cdff43e4ffc20ecd363112231e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page