Chexsa is an open-source AI assistant that is being built to see what is happening on your computer and take actions for you.
Instead of only answering questions, Chexsa can work through a task step by step.
You tell Chexsa what you want.
Chexsa figures out what to do next and gets to work.
Right now, Chexsa can use your browser.
You can ask it things like:
Open Gemini and ask what the capital of the USA is.
Open YouTube and search for a Java tutorial.
Go to this website and fill out the form.
Chexsa looks at the page, decides what to do, performs the action, and looks again.
You
↓
Chexsa
↓
See what is there
↓
Decide what to do
↓
Do it
↓
Repeat
No separate script needs to be written for every website.
Chexsa is also learning how to use normal Windows apps.
The goal is to support requests like:
Open Word and write a paragraph about AI.
Open my document and add a new section.
Chexsa can already read many Windows buttons, menus, text boxes, and windows. Desktop actions are still being developed.
| Feature | Status |
|---|---|
| Terminal chat | ✅ |
| Open websites | ✅ |
| Click and type | ✅ |
| Search websites | ✅ |
| Work with browser tabs | ✅ |
| Scroll pages | ✅ |
| Upload files | ✅ |
| Read webpage content | ✅ |
| "Hey Chexsa" voice commands | ✅ |
| Read Windows apps | 🚧 |
| Control Windows apps | 🚧 |
| Browser + desktop together | 🔜 |
| Check its own work | 🔜 |
| Learn repeated tasks | 🔜 |
Chexsa is still an early project, so some things will break while it grows.
Most AI assistants work like this:
You ask something
↓
AI answers
Chexsa is trying to work like this:
You ask for something
↓
Chexsa understands the goal
↓
Chexsa uses your computer
↓
Task complete
The bigger goal is a personal AI that can work across websites, apps, and files instead of being limited to a chat box.
A future goal is for Chexsa to learn from tasks it has already completed.
Instead of figuring out the same workflow from scratch every time, it could save what worked and reuse it later.
First time
Think through the task
↓
Task succeeds
↓
Save what worked
↓
Next time
Reuse it
This could make repeated tasks faster and more reliable.
Chexsa currently works best on Windows.
git clone https://github.com/MashrafeeAryan/Chexsa.git
cd Chexsapip install -e .Create a .env file.
For an OpenAI-compatible provider:
LLM_PROVIDER=openai_compatible
LLM_MODEL=your-model
LLM_API_KEY=your-api-key
LLM_BASE_URL=your-api-urlOr use Gemini:
LLM_PROVIDER=gemini
LLM_MODEL=your-model
GEMINI_API_KEY=your-api-keyNever upload your API keys to GitHub.
Open PowerShell:
& "C:\Program Files\Google\Chrome\Application\chrome.exe" `
--remote-debugging-port=9222 `
--user-data-dir="$env:TEMP\chexsa-chrome"Keep that Chrome window open.
Then run:
chexsaYou should see:
Chexsa
Type 'exit' or 'quit' to close Chexsa.
You >
Chexsa can listen for "Hey Chexsa" and send the rest of the sentence to the same browser agent.
Install the optional voice tools:
pip install -e ".[voice]"Start voice mode:
chexsa-voiceOr start Chrome and voice mode together:
.\scripts\start_voice.ps1Then say:
Hey Chexsa, search JavaScript tutorials on YouTube.
You can also say only "Hey Chexsa" and Chexsa will listen once more for your command.
Voice mode must be running to hear the wake phrase. Speech is currently transcribed with Google Speech Recognition through the SpeechRecognition package.
Run the fast unit tests:
python -m unittest discover -s tests -p "test_*.py" -vRun the manual browser test while the special Chrome window is open:
python tests/browser_integration.pyGitHub Actions automatically runs the fast tests on Python 3.11 and 3.12 for pushes and pull requests. Version tags such as v0.1.0 also build release packages automatically.
Browser control ✅
↓
Windows app control 🚧
↓
Browser + desktop together
↓
Check whether actions worked
↓
Recover when something fails
↓
Learn reusable tasks
↓
Personal memory
Chexsa is experimental.
It can interact with real websites and is being developed to control more of your computer. Avoid using it for anything where a wrong action could cause serious problems.
Chexsa is open source and still growing.
Bug reports, ideas, experiments, and pull requests are welcome.