{"id":23906399,"url":"https://github.com/Thytu/Agentarium","last_synced_at":"2025-09-10T13:32:01.139Z","repository":{"id":269435736,"uuid":"906376688","full_name":"Thytu/Agentarium","owner":"Thytu","description":"open-source framework for creating and managing simulations populated with AI-powered agents. It provides an intuitive platform for designing complex, interactive environments where agents can act, learn, and evolve.","archived":false,"fork":false,"pushed_at":"2025-01-30T16:55:12.000Z","size":96,"stargazers_count":925,"open_issues_count":1,"forks_count":74,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-09-04T03:46:40.538Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Thytu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-20T19:04:40.000Z","updated_at":"2025-08-28T07:10:29.000Z","dependencies_parsed_at":"2024-12-23T15:25:11.948Z","dependency_job_id":"858c5a39-3675-4b44-9c6d-cf12930e5f11","html_url":"https://github.com/Thytu/Agentarium","commit_stats":null,"previous_names":["thytu/agentarium"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Thytu/Agentarium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thytu%2FAgentarium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thytu%2FAgentarium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thytu%2FAgentarium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thytu%2FAgentarium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Thytu","download_url":"https://codeload.github.com/Thytu/Agentarium/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Thytu%2FAgentarium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274470374,"owners_count":25291604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-05T02:01:06.192Z","updated_at":"2025-09-10T13:32:00.831Z","avatar_url":"https://github.com/Thytu.png","language":"Python","funding_links":[],"categories":["Python","智能体 Agents","Agents and Tools (Build Your Own)","\u003ca name=\"Python\"\u003e\u003c/a\u003ePython"],"sub_categories":[],"readme":"# 🌿 Agentarium\n\n\u003cdiv align=\"center\"\u003e\n\n[![License: Apache 2.0](https://img.shields.io/badge/license-Apache%202.0-yellow.svg)](https://opensource.org/licenses/Apache-2.0)\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)\n[![PyPI version](https://badge.fury.io/py/agentarium.svg)](https://badge.fury.io/py/agentarium)\n\nA powerful Python framework for managing and orchestrating AI agents with ease. Agentarium provides a flexible and intuitive way to create, manage, and coordinate interactions between multiple AI agents in various environments.\n\n[Installation](#installation) •\n[Quick Start](#quick-start) •\n[Features](#features) •\n[Examples](#examples) •\n[Documentation](#documentation) •\n[Contributing](#contributing)\n\n\u003c/div\u003e\n\n## 🚀 Installation\n\n```bash\npip install agentarium\n```\n\n## 🎯 Quick Start\n\n```python\nfrom agentarium import Agent\n\n# Create agents\nagent1 = Agent(name=\"agent1\")\nagent2 = Agent(name=\"agent2\")\n\n# Direct communication between agents\nalice.talk_to(bob, \"Hello Bob! I heard you're working on some interesting ML projects.\")\n\n# Agent autonomously decides its next action based on context\nbob.act()\n```\n\n## ✨ Features\n\n- **🤖 Advanced Agent Management**: Create and orchestrate multiple AI agents with different roles and capabilities\n- **🔄 Autonomous Decision Making**: Agents can make decisions and take actions based on their context\n- **💾 Checkpoint System**: Save and restore agent states and interactions for reproducibility\n- **🎭 Customizable Actions**: Define custom actions beyond the default talk/think capabilities\n- **🧠 Memory \u0026 Context**: Agents maintain memory of past interactions for contextual responses\n- **⚡ AI Integration**: Seamless integration with various AI providers through aisuite\n- **⚡ Performance Optimized**: Built for efficiency and scalability\n- **🛠️ Extensible Architecture**: Easy to extend and customize for your specific needs\n\n## 📚 Examples\n\n### Basic Chat Example\nCreate a simple chat interaction between agents:\n\n```python\nfrom agentarium import Agent\n\n# Create agents with specific characteristics\nalice = Agent.create_agent(name=\"Alice\", occupation=\"Software Engineer\")\nbob = Agent.create_agent(name=\"Bob\", occupation=\"Data Scientist\")\n\n# Direct communication\nalice.talk_to(bob, \"Hello Bob! I heard you're working on some interesting projects.\")\n\n# Let Bob autonomously decide how to respond\nbob.act()\n```\n\n### Adding Custom Actions\nAdd new capabilities to your agents:\n\n```python\nfrom agentarium import Agent, Action\n\n# Define a simple greeting action\ndef greet(name: str, **kwargs) -\u003e str:\n    return f\"Hello, {name}!\"\n\n# Create an agent and add the greeting action\nagent = Agent.create_agent(name=\"Alice\")\nagent.add_action(\n    Action(\n        name=\"GREET\",\n        description=\"Greet someone by name\",\n        parameters=[\"name\"],\n        function=greet\n    )\n)\n\n# Use the custom action\nagent.execute_action(\"GREET\", \"Bob\")\n```\n\n### Using Checkpoints\nSave and restore agent states:\n\n```python\nfrom agentarium import Agent\nfrom agentarium.CheckpointManager import CheckpointManager\n\n# Initialize checkpoint manager\ncheckpoint = CheckpointManager(\"demo\")\n\n# Create and interact with agents\nalice = Agent.create_agent(name=\"Alice\")\nbob = Agent.create_agent(name=\"Bob\")\n\nalice.talk_to(bob, \"What a beautiful day!\")\ncheckpoint.update(step=\"interaction_1\")\n\n# Save the current state\ncheckpoint.save()\n```\n\nMore examples can be found in the [examples/](examples/) directory.\n\n## 📖 Documentation\n\n### Agent Creation\nCreate agents with custom characteristics:\n\n```python\nagent = Agent.create_agent(\n    name=\"Alice\",\n    age=28,\n    occupation=\"Software Engineer\",\n    location=\"San Francisco\",\n    bio=\"A passionate developer who loves AI\"\n)\n```\n\n### LLM Configuration\nConfigure your LLM provider and credentials using a YAML file:\n\n```yaml\nllm:\n  provider: \"openai\"  # The LLM provider to use (any provider supported by aisuite)\n  model: \"gpt-4\"      # The specific model to use from the provider\n\naisuite:              # (optional) Credentials for aisuite\n  openai:            # Provider-specific configuration\n    api_key: \"sk-...\"  # Your API key\n```\n\n### Key Components\n\n- **Agent**: Core class for creating AI agents with personalities and autonomous behavior\n- **CheckpointManager**: Handles saving and loading of agent states and interactions\n- **Action**: Base class for defining custom agent actions\n- **AgentInteractionManager**: Manages and tracks all agent interactions\n\n## 🤝 Contributing\n\nContributions are welcome! Here's how you can help:\n\n1. Fork the repository\n2. Create a new branch (`git checkout -b feature/amazing-feature`)\n3. Make your changes\n4. Commit your changes (`git commit -m 'feat: add amazing feature'`)\n5. Push to the branch (`git push origin feature/amazing-feature`)\n6. Open a Pull Request\n\n## 📄 License\n\nThis project is licensed under the Apache 2.0 License - see the [LICENSE](LICENSE) file for details.\n\n## 🙏 Acknowledgments\n\nThanks to all contributors who have helped shape Agentarium 🫶\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThytu%2FAgentarium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FThytu%2FAgentarium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FThytu%2FAgentarium/lists"}