Skip to content

withneural/neuralagent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

66 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

NeuralAgent

NeuralAgent is your AI personal assistant that actually gets things done. It lives on your desktop, types, clicks, navigates the browser, fills out forms, sends emails, and performs tasks automatically using modern large language models all powered by a fast, extensible, and open architecture. NeuralAgent uses your computer both in the foreground and the background.

Real productivity. Not just conversation.


Star NeuralAgent

⭐️ If NeuralAgent inspires or helps you, give it a star!


In this demo, NeuralAgent was given the following prompt:

"Find 5 2025 AI trends, write about them on Notepad and save it to my desktop!"

It took care of the rest!

Demo


🌐 Website & Community


πŸš€ Features

  • βœ… Desktop automation with pyautogui
  • βœ… Background automation (Windows Only For Now) via WSL (browser-only).
  • βœ… Supports Anthropic, OpenAI, Azure OpenAI, AWS Bedrock, Gemini and Ollama.
  • βœ… Modular agents: Planner, Classifier, Suggestor, Title, and more
  • βœ… Multimodal (text + vision)
  • βœ… FastAPI backend + Electron + React frontend

πŸ–₯️ Project Structure

neuralagent/
β”œβ”€β”€ backend/              # FastAPI + Postgres backend
β”œβ”€β”€ desktop/              # ElectronJS desktop app
β”‚   └── neuralagent-app/  # React frontend inside Electron
β”‚   └── aiagent/          # Python code (pyautogui)
└── README.md

πŸ”§ Prerequisites

Before running NeuralAgent, make sure the following dependencies are installed on your machine:

Tool Purpose Recommended Version
🐍 Python Required for backend and local AI agent daemon >= 3.9
🐘 PostgreSQL Relational database used by the backend >= 13
🟦 Node.js + npm Needed to run the Electron + React frontend Node >= 18, npm >= 9

πŸ“₯ Installation Guides


⚠️ OS Notes

  • NeuralAgent works on Windows, macOS, and Linux.
  • However, background automation (browser control via WSL) is Windows-only for now.

βš™οΈ Setup Instructions

πŸ§ͺ Open two terminal windows - one for backend and one for desktop.


🐍 Backend Setup

  1. Create and activate a virtual environment (optional but recommended):
cd backend
python -m venv venv
# Activate:
source venv/bin/activate  # macOS/Linux
venv\Scripts\activate     # Windows
  1. Install requirements:
pip install -r requirements.txt
  1. Create a local Postgres database. (You have to install Postgres on your computer)

  2. Copy .env.example to .env and fill in:

DB_HOST=
DB_PORT=
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=

# Not Needed, Just keep empty
DB_CONNECTION_STRING=

JWT_ISS=NeuralAgentBackend
# Generate a Random String for the JWT_SECRET
JWT_SECRET=

# Keep Empty, for now!
REDIS_CONNECTION=

# Optional: For Bedrock
AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
BEDROCK_REGION=us-west-2

# Optional: For Azure OpenAI
AZURE_OPENAI_ENDPOINT=
AZURE_OPENAI_API_KEY=
OPENAI_API_VERSION=2024-12-01-preview

# Optional: OpenAI/Anthropic
OPENAI_API_KEY=
ANTHROPIC_API_KEY=

# Optional: For Gemini
GOOGLE_API_KEY=

# Needed if using Ollama, customize if needed
OLLAMA_URL=http://127.0.0.1:11434

# Model config per agent
CLASSIFIER_AGENT_MODEL_TYPE=openai|azure_openai|anthropic|bedrock|ollama|gemini # Select one
CLASSIFIER_AGENT_MODEL_ID=gpt-4.1

TITLE_AGENT_MODEL_TYPE=openai|azure_openai|anthropic|bedrock|ollama|gemini # Select one
TITLE_AGENT_MODEL_ID=gpt-4.1-nano

SUGGESTOR_AGENT_MODEL_TYPE=openai|azure_openai|anthropic|bedrock|ollama|gemini # Select one
SUGGESTOR_AGENT_MODEL_ID=gpt-4.1-mini

PLANNER_AGENT_MODEL_TYPE=openai|azure_openai|anthropic|bedrock|ollama|gemini # Select one
PLANNER_AGENT_MODEL_ID=gpt-4.1

COMPUTER_USE_AGENT_MODEL_TYPE=openai|azure_openai|anthropic|bedrock|ollama|gemini # Select one
COMPUTER_USE_AGENT_MODEL_ID=us.anthropic.claude-sonnet-4-20250514-v1:0

SUMMARIZER_AGENT_MODEL_TYPE=openai|azure_openai|anthropic|bedrock|ollama|gemini # Select One
SUMMARIZER_AGENT_MODEL_ID=gpt-4.1-mini

# Internal use only by Neural for optional screenshot logging during training (off by default).
# This is not used by the open-source app or contributors.
ENABLE_SCREENSHOT_LOGGING_FOR_TRAINING=false
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

# For Tracing, Keep false if you don't need langsmith tracing.
LANGCHAIN_TRACING_V2=false
LANGCHAIN_ENDPOINT=
LANGCHAIN_API_KEY=
LANGCHAIN_PROJECT=

# Optional for Google Login
GOOGLE_LOGIN_CLIENT_ID=
GOOGLE_LOGIN_CLIENT_SECRET=
GOOGLE_LOGIN_DESKTOP_REDIRECT_URI=http://127.0.0.1:36478
  1. Run database migrations:
alembic upgrade head
  1. Start the backend server:
uvicorn main:app --reload --host 0.0.0.0 --port 8000

πŸ–₯️ Frontend (Desktop + Electron) Setup

  1. Install dependencies in the Electron root:
cd desktop
npm install
  1. Navigate to the React app:
cd neuralagent-app
npm install
  1. Copy .env.example to .env and fill in:
REACT_APP_PROTOCOL=http
REACT_APP_WEBSOCKET_PROTOCOL=ws
REACT_APP_DNS=127.0.0.1:8000
REACT_APP_API_KEY=
  1. Go back to the desktop root:
cd ..
  1. Set up the local AI agent daemon (Python service):
cd aiagent
python -m venv venv
source venv/bin/activate  # Or use `venv\Scripts\activate` on Windows
pip install -r requirements.txt
deactivate
  1. Start the Electron desktop app:
cd ..
npm start

πŸ€– Agents & Model Providers

You can configure different model providers (OpenAI, Azure OpenAI, Anthropic, Bedrock, Ollama, Gemini) per agent in .env.
Agent types include:

  • PLANNER_AGENT
  • CLASSIFIER_AGENT
  • TITLE_AGENT
  • SUGGESTOR_AGENT
  • COMPUTER_USE_AGENT
  • SUMMARIZER_AGENT

πŸ“£ Contributing

We welcome pull requests and community contributions!


πŸ›‘οΈ License

MIT License.
Use at your own risk. This tool moves your mouse and types on your behalf, test responsibly!


πŸ’¬ Questions?

Feel free to open an issue or start a discussion.