A privacy-preserving AI assistant that automates tasks like ticket booking, form filling, and web scraping directly in your local browser using LLMs, Browser-Use and Electron.
The AI Browser Agent is a locally run desktop application designed to help users automate complex web-based tasks through natural language commands. Unlike cloud-based assistants, it executes all actions directly on the user's device, ensuring that sensitive information such as passwords, personal data, and browsing activity never leave the local environment.
By integrating large language models (LLMs) with browser automation frameworks like Browser-use, the agent can understand user intents, analyze the content of multiple open browser tabs, and perform multi-step tasks autonomously. The use of Microsoftβs Semantic Kernel adds an extra layer of controlled, secure execution for each automation steps.
- Chat interface for conversational task instructions
- End-to-end local execution; no data sent to cloud servers
- Automated task execution across browser tabs
- Browser content analysis using Playwright
- Workflow planning using large language models (LLMs)
- Semantic Kernel integration for structured and secure task execution
- Built with React, Electron, Express, Firebase, Python and Node
This visual demonstrates how an AI agent processes a user's request to book a flight from London to New York on August 30, 2025.
The task flows through a Plan β Act β Observe loop:
-
Plan: The agent understands the user's intent and extracts relevant parameters such as:
- Departure location: London
- Destination: New York
- Travel date: August 30, 2025
-
Act: The agent inputs these parameters into the booking system and initiates a search for available flights.
-
Observe: The system monitors the results and selects or displays a suitable flight.
A mock flight result is shown to illustrate the systemβs response and how the loop completes successfully.
This use case highlights the AI agentβs ability to make autonomous decisions in real-world travel scenarios, showcasing end-to-end automation and intelligent reasoning.
This image illustrates an AI assistant executing a command to add tomatoes to a Tesco grocery cart.
Following the Observe β Plan β Act cycle:
- Observe: The assistant analyzes the interface and detects relevant product listings.
- Plan: It understands the intent to add tomatoes and identifies the correct action.
- Act: The agent clicks the βAdd to cartβ button associated with the correct item.
The visual demonstrates how the AI assistant interacts autonomously with mobile web interfaces, simulating human-like task execution by:
- Observing available items
- Planning next steps
- Acting based on context
This use case showcases the AIβs capability in e-commerce automation, making routine tasks like grocery shopping seamless and intelligent.
| Component | Technology |
|---|---|
| UI | React, Electron, Tailwind CSS |
| Backend | Python, Express (Node.js), Firebase Admin SDK |
| Browser Automation | Browser-Use (playwright) |
| Planning | OpenAI GPT / Claude Anthorpic |
ai-browser-agent/
β
βββ backend-node
βΒ Β βββ agentExecutor.js
βΒ Β βββ intentParser.js
βΒ Β βββ llmActionPlanner.js
βΒ Β βββ llmAnswerAgent.js
βΒ Β βββ mcp.js
βΒ Β βββ package-lock.json
βΒ Β βββ package.json
βΒ Β βββ parser.js
βΒ Β βββ routes
βΒ Β βΒ Β βββ commandRoutes.js
βΒ Β βββ server.js
βΒ Β βββ siteHandlers
βΒ Β βββ amazon.js
βΒ Β βββ tesco.js
β
βββ backend-python/ # Python backend for AI/LLM workflows
β βββ .cursor/rules/ # Cursor IDE rules & configurations
β β βββ general.mdc
β β
β βββ bin/ # Shell scripts for setup, linting, and tests
β β βββ lint.sh
β β βββ setup.sh
β β βββ test.sh
β β
β βββ llm/ # Core LLM-related modules
β β βββ init.py
β β βββ llm_automation.py # Automation workflows using LLMs
β β βββ llm_chat.py # Chat/interaction logic with LLMs
β β
β βββ schemas/ # (Future) Data validation schemas (e.g., Pydantic)
β β
β βββ utils/ # Utility/helper functions
β β βββ init.py
β β βββ check_api_key.py # API key validation for external services
β β
β βββ .gitignore # Ignore files from version control
β βββ .python-version # Python version specification
β βββ pyproject.toml # Python dependencies & build configuration
β βββ README.md # Python backend documentation
β βββ server.py # Main backend server entry point
β
βββ docs
βΒ Β βββ llm-integration-decision.pdf
βΒ Β βββ project-workflow.png
βΒ Β βββ use-case-flight-booking.jpg
βΒ Β βββ use-case-grocery-ordering.jpg
βββ examples
βΒ Β βββ working-example-0.png
βΒ Β βββ working-example-1.png
βΒ Β βββ working-example-2.png
βΒ Β βββ working-example-3.png
βΒ Β βββ working-example-4.png
βββ frontend
βΒ Β βββ cypress
βΒ Β βΒ Β βββ component
βΒ Β βΒ Β βΒ Β βββ BackButton.cy.jsx
βΒ Β βΒ Β βΒ Β βββ Footer.cy.jsx
βΒ Β βΒ Β βββ e2e
βΒ Β βΒ Β βΒ Β βββ auth_login.cy.js
βΒ Β βΒ Β βΒ Β βββ auth_signup.cy.js
βΒ Β βΒ Β βΒ Β βββ chatpage.cy.js
βΒ Β βΒ Β βΒ Β βββ home.cy.js
βΒ Β βΒ Β βΒ Β βββ loginpage.cy.js
βΒ Β βΒ Β βΒ Β βββ signuppage.cy.js
βΒ Β βΒ Β βββ fixtures
βΒ Β βΒ Β βΒ Β βββ example.json
βΒ Β βΒ Β βββ support
βΒ Β βΒ Β βββ commands.js
βΒ Β βΒ Β βββ component-index.html
βΒ Β βΒ Β βββ component.js
βΒ Β βΒ Β βββ e2e.js
βΒ Β βββ cypress.config.js
βΒ Β βββ electron
βΒ Β βΒ Β βββ assets
βΒ Β βΒ Β βΒ Β βββ icon-rounded.png
βΒ Β βΒ Β βΒ Β βββ icon-transparent.png
βΒ Β βΒ Β βΒ Β βββ icon.png
βΒ Β βΒ Β βββ main.mjs
βΒ Β βΒ Β βββ preload.js
βΒ Β βΒ Β βββ splash.html
βΒ Β βββ eslint.config.js
βΒ Β βββ index.html
βΒ Β βββ package-lock.json
βΒ Β βββ package.json
βΒ Β βββ public
βΒ Β βΒ Β βββ favicon-32x32.png
βΒ Β βββ src
βΒ Β βΒ Β βββ App.jsx
βΒ Β βΒ Β βββ assets
βΒ Β βΒ Β βΒ Β βββ feature-1.png
βΒ Β βΒ Β βΒ Β βββ feature-2.png
βΒ Β βΒ Β βΒ Β βββ feature-3.png
βΒ Β βΒ Β βΒ Β βββ feature-4.png
βΒ Β βΒ Β βΒ Β βββ icon-rounded.png
βΒ Β βΒ Β βββ components
βΒ Β βΒ Β βΒ Β βββ Animation
βΒ Β βΒ Β βΒ Β βΒ Β βββ LightningCanvas.jsx
βΒ Β βΒ Β βΒ Β βββ Auth
βΒ Β βΒ Β βΒ Β βΒ Β βββ AuthContainer.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ LoginForm.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ LogoBlock.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SignupForm.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SocialLogin.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ SocialSignup.jsx
βΒ Β βΒ Β βΒ Β βββ BackButton.jsx
βΒ Β βΒ Β βΒ Β βββ Chat
βΒ Β βΒ Β βΒ Β βΒ Β βββ MessageBubble.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ MessageInput.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ MessageList.jsx
βΒ Β βΒ Β βΒ Β βΒ Β βββ Sidebar.jsx
βΒ Β βΒ Β βΒ Β βββ Footer.jsx
βΒ Β βΒ Β βΒ Β βββ Home
βΒ Β βΒ Β βΒ Β βββ DemoPreview.jsx
βΒ Β βΒ Β βΒ Β βββ FeatureCards.jsx
βΒ Β βΒ Β βΒ Β βββ HeroSection.jsx
βΒ Β βΒ Β βΒ Β βββ HeroSectionCustomerReview.jsx
βΒ Β βΒ Β βΒ Β βββ IntegrationGrid.jsx
βΒ Β βΒ Β βΒ Β βββ Navbar.jsx
βΒ Β βΒ Β βββ contexts
βΒ Β βΒ Β βΒ Β βββ AuthContext.jsx
βΒ Β βΒ Β βΒ Β βββ ChatContext.jsx
βΒ Β βΒ Β βββ firebase
βΒ Β βΒ Β βΒ Β βββ config.js
βΒ Β βΒ Β βββ hooks
βΒ Β βΒ Β βΒ Β βββ useFirebaseAuth.js
βΒ Β βΒ Β βββ index.css
βΒ Β βΒ Β βββ main.jsx
βΒ Β βΒ Β βββ pages
βΒ Β βΒ Β βΒ Β βββ Chat.jsx
βΒ Β βΒ Β βΒ Β βββ Home.jsx
βΒ Β βΒ Β βΒ Β βββ Login.jsx
βΒ Β βΒ Β βΒ Β βββ Signup.jsx
βΒ Β βΒ Β βββ store
βΒ Β βΒ Β βββ useUserStore.js
βΒ Β βββ tailwind.config.js
βΒ Β βββ vite.config.js
βΒ Β βββ vitest.setup.js
βββ LICENSE
βββ minutes_of_meeting
βΒ Β βββ minutes_of_meeting.xlsx
βββ python_agent
βΒ Β βββ __pycache__
βΒ Β βΒ Β βββ python_agent.cpython-312.pyc
βΒ Β βΒ Β βββ python_agent.cpython-313.pyc
βΒ Β βββ python_agent.py
βΒ Β βββ requirements.txt
βββ README.md
βββ SCRUM_LINKS.md
βββ sprints
βββ sprints.md
Clone the Repository
git clone https://github.com/yourname/ai-browser-agent.git
cd ai-browser-agentNavigate to the Frontend Directory
cd frontendInstall Dependencies
npm install
Install Dependencies
npm install electron
- NOTE:
Configure firebase/config
Steps to run Frontend : AI Browser Agent
npm run electron-dev
npm run electron
Steps to run Backend : AI Browser Agent
node server.js
- Tarun Kumar
- Ayush Poojari
- Deepak Shelke
- Sudhanshu Ghuge
- Preet Raut
- Soham Deo



