Skip to main content

AI-powered hardware upgrade assistant for Windows

Project description

specs-ai

AI-powered hardware upgrade assistant for Windows. Reads your machine's hardware via WMI and psutil, then asks a Gemini-powered LLM for specific, actionable upgrade recommendations — knowing exactly what you have.

Collected specs: CPU (model, cores, clock, socket), RAM (capacity, type, speed, slots), GPU (model, VRAM, Integrated/Dedicated), Motherboard, Storage (all drives, NVMe/SATA/HDD), WiFi adapter, Battery health (laptops), System uptime, OS metadata.

The CPU socket lets the LLM know whether the CPU is soldered (BGA — cannot upgrade) or swappable (LGA/AM4/etc.). GPU type tells it whether the graphics are integrated (part of the CPU die) or a discrete card.

Currently Windows-only.


Install

pip install specs-ai

Or with uv:

uv pip install specs-ai

API key setup

Get a free Gemini API key at https://aistudio.google.com/apikey, then pick one of:

Option A — shell environment variable:

$env:SPECS_AI_API_KEY = "your-key-here"

Option B — .env file (in the project root or any parent directory):

SPECS_AI_API_KEY=your-key-here

A template is provided at .env.example — copy it to .env and fill in your key.


Usage

specs-ai [--explain] [--specs-only] [--dashboard] [--model MODEL]
Flag Description
(none) Collect specs and show a compact summary table of upgrade options
--explain Full detailed recommendations — specific part models, impact-per-dollar
--specs-only Print hardware specs only; skip the LLM call entirely
--dashboard Launch the interactive hacker-esque TUI dashboard
--model MODEL Gemini model to use (default: gemini-2.5-flash)

Quick start:

# Summary table (default)
specs-ai

# Detailed recommendations
specs-ai --explain

# Interactive TUI dashboard
specs-ai --dashboard

# Just the hardware specs, no LLM
specs-ai --specs-only

Or equivalently via the module entry point:

python -m specs_ai
python -m specs_ai --explain
python -m specs_ai --dashboard

TUI Dashboard

Launch with specs-ai --dashboard for a full-screen, hacker-themed hardware monitoring dashboard built with Textual and Rich.

Features:

  • Big blocky ANSI Shadow "SPECS-AI" title in neon green
  • Matrix-style digital rain animation on left/right gutters
  • Live CPU sparkline, RAM usage bar, and disk usage bars
  • Color-coded uptime (green < 5d, amber 5-15d, red > 15d)
  • AI upgrade recommendations panel (queries Gemini in background)
  • Scrolling event log with timestamped activity
  • Keybindings: [Q] Quit, [R] Re-scan, [E] Toggle explain, [S] Export, [?] Help

For development and testing (requires uv):

uv run pytest tests/ -v

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

specs_ai-0.1.0.tar.gz (100.4 kB view details)

Uploaded Source

Built Distribution

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

specs_ai-0.1.0-py3-none-any.whl (47.0 kB view details)

Uploaded Python 3

File details

Details for the file specs_ai-0.1.0.tar.gz.

File metadata

  • Download URL: specs_ai-0.1.0.tar.gz
  • Upload date:
  • Size: 100.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for specs_ai-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b7e08b1cbe5eb9d5e0592e8dfd560a28107fdd3a9af121a3909dcb17f7c1eb71
MD5 f2e8fa88aed42f79adc1564d7b26de00
BLAKE2b-256 64d945e4537ae8a40418197119cd3c733a706a7f9e8b3fdcfd9bf37ae6560305

See more details on using hashes here.

File details

Details for the file specs_ai-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: specs_ai-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 47.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for specs_ai-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 367294f85040dae16f7b04a55dc7dc66ae413436e0215f559b69a2b1c7feca83
MD5 c1cb1ea499714a339e7deee5dce2590c
BLAKE2b-256 3d885d3354d998b1e60062597cb2bfc14ed4f2f5336dbe441aeb204a592970d3

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