Hello Developers!!π¨βπ»
AgentOS is a modular voice assistant platform with pluggable specialized agents and natural language understanding. Join us in shaping the future of AI automation!
- Overviewπ
- Featuresπ
- Technology Usedπ
- Getting Startedπ₯
- Agent ConfigurationβοΈ
- Directory Structureπ
- Developmentπ§
- Contributing Guidelinesπ
- Code Of Conductπ
- Project Adminβ‘
- Contributing is fun π§‘
- Acknowledgements π
AgentOS is a modular voice assistant platform designed for extensibility and automation. With pluggable specialized agents and natural language understanding, it serves as a comprehensive AI assistant framework. Whether you're managing tasks, controlling music, automating social media, or handling files, AgentOS provides the foundation for intelligent automation. We welcome all contributions to make this an amazing platform for developers and users alike! π
Some of our agents and voice commands processing are yet to be implemented. We're actively working on these features and would love your help!
- π€ Voice & Text Interface: Conversational AI with both voice and text input capabilities for natural interaction.
- π§© Modular Agent Architecture: Extensible plugin system allowing developers to create custom agents for specific tasks.
- π§ Natural Language Understanding: Intelligent translation of user requests into actionable commands across different agents.
- π Task Management: Todoist integration for comprehensive task management, reminders, and productivity tracking.
- π File Management: Advanced file system navigation and manipulation capabilities for efficient file handling.
- π΅ Music Control: Spotify integration for seamless music control, search, and playlist management.
- π¦ Social Media Automation: Twitter bot functionality for automated posting, thread creation, and timeline monitoring.
- βοΈ Content Creation: Automated blog post generation from repositories and other content sources.
- π Desktop Integration: Electron-based UI providing a native desktop experience.
- β‘ Real-time Processing: Fast and responsive agent communication with efficient message routing.
- π§ Developer-Friendly: Template-based agent creation system for rapid development and deployment.
1. Start by forking the AgentOS repository. Click on the symbol at the top right corner.
2. Clone your forked repository:
git clone https://github.com/<your-github-username>/agentOS3. Navigate to the new project directory:
cd agentOS4. Set upstream command:
git remote add upstream https://github.com/theagentic/agentOS5. Create a new branch:
git checkout -b YourBranchNameor
git branch YourBranchName
git switch YourBranchName6. Sync your fork or local repository with the origin repository:
- In your forked repository click on
Fetch upstream. - Click
Fetch and merge.
git fetch upstreamgit merge upstream/mainGithub Docs for Syncing
# Install main requirements
pip install -r requirements.txt
# For Electron UI (optional)
pip install -r requirements-electron.txt# Copy the example environment file
cp .env.example .env
# Edit the .env file with your preferred settings
# These are system-level settings onlyEach agent has its own configuration and environment variables:
# For each agent you want to use:
cd agents/[agent_name]/
cp .env.example .env
# Edit the .env file with your API credentials7. Make your changes to the source code.
8. Stage your changes and commit:
.env
git add . or git add *. Instead, stage your changes for each file/folder
git add file/foldergit commit -m "<your_commit_message>"9. Push your local commits to the remote repository:
git push origin YourBranchName10. Create a Pull Request!
11. Run the Application
# Run the standard version
python main.py
# Or run with Electron UI (if configured)
python electron_main.pyCongratulations! You've made your first contribution! ππΌ
- Functionality: Translates natural language into commands for other agents
- Requirements: Either Ollama locally installed or Gemini API key
- Configuration:
agents/natural_language/.env - See
NATURAL_LANGUAGE_SETUP.mdfor detailed setup instructions
- Functionality: Task management, reminders, and weather information
- Requirements: Todoist API token
- Configuration:
agents/datetime/.env
- Functionality: Control Spotify playback, search and play tracks/playlists
- Requirements: Spotify API credentials (Client ID and Secret)
- Configuration:
agents/spotiauto/.env
- Functionality: Post tweets, create threads, monitor timelines
- Requirements: Twitter API credentials
- Configuration:
agents/twitter_bot/.env
- Functionality: Generate blog posts automatically from repositories
- Requirements: None
- Configuration:
agents/autoblog/.env
- Functionality: Navigate and manipulate the file system
- Requirements: None
- Configuration: Configure allowed directories in the main
.envfile
AgentOS/
βββ agents/ # Agent modules
β βββ autoblog/ # Blog automation agent
β βββ datetime/ # Date/time and Todoist agent
β βββ filemanage/ # File management agent
β βββ natural_language/ # Natural language processing agent
β βββ spotiauto/ # Spotify automation agent
β βββ twitter_bot/ # Twitter bot agent
β βββ agent_template/ # Template for creating new agents
βββ api/ # API endpoints for external services
βββ core/ # Core system components
β βββ agent_base.py # Base agent class
β βββ agent_router.py # Routes commands to agents
β βββ tts_engine.py # Text-to-speech engine
β βββ voice_processor.py # Voice input processor
βββ electron/ # Electron app integration
βββ scripts/ # Utility scripts
βββ ui/ # User interface components
βββ utils/ # Shared utility functions
βββ .env # Environment variables
βββ config.py # Configuration system
βββ main.py # Application entry point
βββ requirements.txt # Project dependencies
βββ setup.py # Installation script
You can use the agent template to create a new agent:
# Copy the template
cp -r agents/agent_template agents/your_agent_name
# Edit the files to implement your agent's functionality# Run tests for a specific agent
python -m pytest test_agent.py -v
# Run natural language agent tests
python test_nlp_agent.pyWe welcome contributions from developers of all skill levels! Whether you're fixing bugs, adding new features, creating new agents, or improving documentation, your contributions help make AgentOS better for everyone.
- π Bug Fixes: Help us identify and fix issues
- β¨ New Features: Add new functionality to existing agents
- π€ New Agents: Create entirely new agents for different use cases
- π Documentation: Improve our docs and help others understand the project
- π§ͺ Testing: Write tests to ensure code quality and reliability
- π¨ UI/UX: Enhance the user interface and experience
- Check out our Issues page for tasks labeled
good first issue - Read our Contributing Guidelines for detailed instructions
- Join our community discussions and ask questions
Show some β€οΈΒ by giving 
In the future, we hope to create an agentic framework so anyone can build agents for AgentOS and use them freely or, if they want, even contribute to the main project. Please feel free to reach out if you have ideas to share about this project - we'd love to discuss and get constructive criticism to make this better over time.
Thank you to all the amazing contributors who have made this project possible! π
This project is licensed under the MIT License.



