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

  1. LLM hangs & timeouts on network planning → offline telemetry ladders.
  2. False verification (e.g. DNS check fails while internet works) → softer health checks.
  3. Install/uninstall edge cases (user-scope apps, admin elevation, “already installed”).
  4. LibreSpeed public servers far from India → CDN fallback for speed tests.
  5. Git auth UX — browser redirected to dead 127.0.0.1 ports → auth helper + sanitized remotes (never show embedded tokens).
  6. 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.

Built With

  • chocolatey
  • faiss
  • gemini
  • google-generativeai
  • gputil
  • groq
  • langchain
  • langchain-community
  • langchain-huggingface
  • langchain-text-splitters
  • langgraph
  • langgraph-checkpoint-sqlite
  • langsmith
  • librespeed
  • ping3
  • prompt-toolkit
  • psutil
  • questionary
  • rag
  • rapidfuzz
  • rich
  • sentence-transformers
  • speedtest-cli
  • sqlite
  • winget
Share this project:

Updates