Project-A is a Research Project that I'm Trying to make a agent to do the tasks without any automation or Intervention.
Note: This project is currently under active development and is not finalized. You should expect bugs, unstable behavior, and breaking changes. Use with caution in any critical environments.
- Full Autonomous Agent: Trying to make Project-A do task it self without any automation,
- Compter Control: The agent can Use use the compter-machine using keyboard and mouse by It self,
- More automonous Features: Future releases.
Before setting up the project, ensure you have the following installed:
- Python 3.14
- Poetry, pip for package management
- Access to OpenAI and Deepgram API Key
- Clone the repository:
git clone https://github.com/iliakarimi/project-a.git
cd project-a && cd project-a- Install dependencies:
bash install.shor if you want install Project-A manually:
python3.14 -m venv .venv
source .venv/bin/activate
pip install -r "requirements.txt"also you need scrot and gnome-screenshot on linux with(If not installed):
# debian & ubuntu:
sudo apt-get install scrot tk-dev python3-tk gnome-screenshot
# fedora:
sudo dnf install scrot gnome-screenshot
# arch linux:
sudo pacman -S scrot gnome-screenshotModern Linux distributions (such as Ubuntu 22.04 and later) use Wayland as their default window display server. For security reasons, Wayland restricts Python applications from capturing screenshots of the entire screen. This can cause pyautogui to throw an error or save a completely black image.
To resolve this issue, you need to switch your display server back to Xorg (X11):
- Log out of your current Linux user session to return to the Login Screen.
- Click on your username.
- Before entering your password, click on the gear icon (usually located in the bottom-right corner of the screen).
- Select Ubuntu on Xorg, GNOME on Xorg, or any option that contains Xorg or X11.
- Enter your password and log in.
Once logged in via Xorg, your pyautogui screenshot code will work flawlessly without any issues.
If Xorg/X11 is not available on your system, you can install it using your distribution's package manager:
# Ubuntu / Debian / Mint:
sudo apt update
sudo apt install xorg
# Fedora:
sudo dnf groupinstall "X Window System"
# Arch:
sudo pacman -S xorg-server xorg-xinitIf you are using the KDE Plasma desktop environment:
- Log out of your current session.
- On the login screen (SDDM), look for the Desktop Session dropdown menu (usually located in the bottom-left corner or near the password field).
- Change the session from Plasma (Wayland) to Plasma (X11).
- Enter your password and log in.
Note: If the X11 option is missing in your KDE session list, you need to install the KDE X11 workspace package:
# Kubuntu / Neon / Debian KDE:
sudo apt update
sudo apt install plasma-workspace-x11
# Fedora KDE Spin:
sudo dnf install plasma-workspace-x11
# Arch:
sudo pacman -S xorg-serverAfter installation, you will need to restart your system or log out to see the Xorg option on the login screen.
Open the .env file and populate it with your API credentials:
OPENAI_API_KEY=ENTER-YOUR-OPENAI-API-KEY
DEEPGRAM_API=ENTER-YOUR-DEEPGRAM-API-KEYThen run configure.py to enter your information:
source .venv/bin/activate
python configure.pyTo launch the agent in interactive CLI mode, run:
python chat.py- Add base Computer-Control
- Integration with web search and file tools
- Add Advanced Long-Term and Short-Term memory
- Add Fine-tuned local open-source LLMs
Contributions are welcome to help improve this agent. Please follow these steps to contribute:
- Fork the repository.
- Create a new branch (
git checkout -b feature/your-feature-name). - Commit your changes (
git commit -m 'Add some feature'). - Push to the branch (
git push origin feature/your-feature-name). - Open a Pull Request.
Please ensure your code passes all linters and tests before submitting a PR.
Distributed under the Apache-2.0 License. See LICENSE for more information.
Ilia Karimi - iliakarimi.dev@gmail.com
