Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Fix Bot

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
  • cloudflare
  • google-generativeai
  • gputil
  • langchain
  • langchain-community
  • langchain-huggingface
  • langgraph
  • langsmith
  • librespeed
  • ovh
  • ping3
  • prompt-toolkit
  • psutil
  • python
  • pywin32
  • rag
  • rapidfuzz
  • rich
  • scoop
  • send2trash
  • sentence-transformers
  • sqlite
  • winget
  • wmi
Share this project:

Updates

Submission history