Skip to content

dimpal-yadav/agentOS

Β 
Β 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

10 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

AgentOS

Typing SVG

Open Source Love svg1 PRs Welcome Visitors

License: MIT

Hi thereπŸ‘‹, Welcome to the World of AI Agents

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!

Table of Contents🧾


OverviewπŸ“Œ

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! πŸš€

Disclaimer:

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!

Features🌟

  • 🎀 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.

Technology UsedπŸš€

Back To Top

Getting StartedπŸ’₯

How to Make a Pull Request

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>/agentOS

3. Navigate to the new project directory:

cd agentOS

4. Set upstream command:

git remote add upstream https://github.com/theagentic/agentOS

5. Create a new branch:

git checkout -b YourBranchName

or

git branch YourBranchName
git switch YourBranchName

6. Sync your fork or local repository with the origin repository:

  • In your forked repository click on Fetch upstream.
  • Click Fetch and merge.

Alternatively, Git CLI way to Sync forked repository with origin repository:

git fetch upstream
git merge upstream/main

Github Docs for Syncing

1. Install Requirements

# Install main requirements
pip install -r requirements.txt

# For Electron UI (optional)
pip install -r requirements-electron.txt

2. Configure Environment

# Copy the example environment file
cp .env.example .env

# Edit the .env file with your preferred settings
# These are system-level settings only

3. Configure Agents

Each 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 credentials

7. Make your changes to the source code.

8. Stage your changes and commit:

⚠️ Make sure not to commit sensitive configuration files like .env

⚠️ Make sure not to run the commands git add . or git add *. Instead, stage your changes for each file/folder

git add file/folder
git commit -m "<your_commit_message>"

9. Push your local commits to the remote repository:

git push origin YourBranchName

10. 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.py

Congratulations! You've made your first contribution! πŸ™ŒπŸΌ

Back To Top

Agent Configurationβš™οΈ

Natural Language Agent

  • 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.md for detailed setup instructions

Todoist Agent

  • Functionality: Task management, reminders, and weather information
  • Requirements: Todoist API token
  • Configuration: agents/datetime/.env

Spotify Agent

  • Functionality: Control Spotify playback, search and play tracks/playlists
  • Requirements: Spotify API credentials (Client ID and Secret)
  • Configuration: agents/spotiauto/.env

Twitter Bot

  • Functionality: Post tweets, create threads, monitor timelines
  • Requirements: Twitter API credentials
  • Configuration: agents/twitter_bot/.env

Autoblog Agent

  • Functionality: Generate blog posts automatically from repositories
  • Requirements: None
  • Configuration: agents/autoblog/.env

File Management

  • Functionality: Navigate and manipulate the file system
  • Requirements: None
  • Configuration: Configure allowed directories in the main .env file

Directory StructureπŸ“

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

DevelopmentπŸ”§

Creating a New Agent

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

Running Tests

# Run tests for a specific agent
python -m pytest test_agent.py -v

# Run natural language agent tests
python test_nlp_agent.py

Contributing GuidelinesπŸ“‘

We 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.

Ways to Contribute

  • πŸ› 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

Getting Started with Contributing

  1. Check out our Issues page for tasks labeled good first issue
  2. Read our Contributing Guidelines for detailed instructions
  3. Join our community discussions and ask questions

Code Of ConductπŸ“‘

This project and everyone participating in it are governed by our [Code of Conduct](https://github.com/theagentic/agentOS/blob/main/CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers.

Show some ❀️  by giving to this repository.

Project Admin⚑


Team theagentic


Ranadeep Laskar

PlansπŸš€

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.

Contributing is fun🧑

Acknowledgements

Thank you to all the amazing contributors who have made this project possible! πŸ’



License

This project is licensed under the MIT License.

License: MIT

Back To Top

About

An open source playground for agents on prem that connects to agents built using the agentOS framework.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 79.3%
  • JavaScript 15.8%
  • CSS 3.4%
  • HTML 1.5%