Inspiration
Everyday PC problems are simple to say and hard to fix: slow Wi‑Fi, broken installs, “where is that file?”, “push this to GitHub.” Most tools either give static FAQ answers or dump raw terminal output. We wanted a local AI support engineer that understands plain English, reads the real machine state, and can act—with permission—instead of only chatting.
That idea became FixBot: a Windows CLI agent that diagnoses and repairs using live OS data, not memorized scripts.
What it does
FixBot turns natural language into supervised actions across:
- Network — Wi‑Fi status, passwords, DNS/adapter repairs, speed tests
- Install / Update / Uninstall — winget-driven package lifecycle with retries
- Files — search (including typos), delete with shortcut cleanup
- Local RAG — explain and answer questions over folders already on disk
- GitPilot — guided + autonomous git (commit, push, recover from upstream errors)
Each serious action follows: inspect → plan → permission gate → execute → verify → analyze errors → retry or escalate.
How we built it
- Python CLI with Rich for live agent streams and progress
- Gemini for reasoning and plans; Groq for fast intent / classification
- LangGraph + LangChain for multi-agent domain graphs (network, install, RAG, git)
- Windows APIs / CLI — winget, netsh, git, psutil, WMI
- RAG stack — loaders, chunking, embeddings, FAISS for local documents/code
- GitPilot — allowlisted
git_ops+ tool registry so the LLM never gets free shell
Architecture rule we stuck to: the model plans; tools execute; the verifier decides success.
What we learned
- “Autonomous” only feels real when failure is part of the loop (e.g. push fails → no upstream → set upstream → push again).
- Permission gates matter more than clever prompts for user trust.
- Offline / rule-based fallbacks beat waiting forever on an LLM for network repair.
- OAuth “localhost callback” auth is fragile; PAT / SSH / a guided auth helper is kinder to users.
- Good UX is a live stream of steps, not walls of git tips.
Challenges
- LLM hangs & timeouts on network planning → offline telemetry ladders.
- False verification (e.g. DNS check fails while internet works) → softer health checks.
- Install/uninstall edge cases (user-scope apps, admin elevation, “already installed”).
- LibreSpeed public servers far from India → CDN fallback for speed tests.
- Git auth UX — browser redirected to dead
127.0.0.1ports → auth helper + sanitized remotes (never show embedded tokens). - Keeping many domains (network, install, RAG, git) isolated so one graph doesn’t break another.
What’s next
Deeper Git conflict coaching, safer high-risk actions, richer speed-test UI, and tighter shared memory between FixBot and GitPilot—so the same repo context follows you from chat to coach menu.