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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7e08b1cbe5eb9d5e0592e8dfd560a28107fdd3a9af121a3909dcb17f7c1eb71
|
|
| MD5 |
f2e8fa88aed42f79adc1564d7b26de00
|
|
| BLAKE2b-256 |
64d945e4537ae8a40418197119cd3c733a706a7f9e8b3fdcfd9bf37ae6560305
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
367294f85040dae16f7b04a55dc7dc66ae413436e0215f559b69a2b1c7feca83
|
|
| MD5 |
c1cb1ea499714a339e7deee5dce2590c
|
|
| BLAKE2b-256 |
3d885d3354d998b1e60062597cb2bfc14ed4f2f5336dbe441aeb204a592970d3
|