# AmritaCore

<center><img src="./docs/public/Amrita.png" alt="Logo" width="200" height="200">
<p>
    <a href="https://img.shields.io/pypi/v/amrita-core">
      <img src="https://img.shields.io/pypi/v/amrita-core?color=blue&style=flat-square" alt="PyPI Version">
    </a>
    <a href="https://www.python.org/">
      <img src="https://img.shields.io/badge/python-3.10+-blue?logo=python&style=flat-square" alt="Python Version">
    </a>
    <a href="LICENSE">
      <img src="https://img.shields.io/github/license/AmritaBot/AmritaCore?style=flat-square" alt="License">
    </a>
    <img src="https://img.shields.io/badge/AmritaCore-Soma-blue?style=flat-square" alt="AmritaCore">
    <a href="https://discord.gg/byAD3sbjjj">
      <img src="https://img.shields.io/badge/Discord-Proj.Amrita-blue?logo=discord&style=flat-square" alt="Discord">
    </a>
    <a href="https://qm.qq.com/q/9J23pPZN3a">
      <img src="https://img.shields.io/badge/QQ-1006893368-blue?style=flat-square" alt="QQ Group">
    </a>
  </p>

</center>

AmritaCore is a **lightweight agent framework with infrastructure-level positioning**, serving as the foundational building block for intelligent agent development. **AmritaCore is designed to be interactive-first**, enabling real-time, responsive agent applications through its native async streaming architecture. Think of it as providing the essential "operating system" capabilities for AI agents – offering core primitives and abstractions that enable robust, production-ready agent applications without the overhead of heavyweight frameworks.

## 🚀 What is AmritaCore?

AmritaCore is **not a replacement for existing frameworks** like LangChain or LlamaIndex. Instead, it is a **lightweight, infrastructure-focused agent framework** designed to provide the essential building blocks for AI agent development. Built with modern Python technologies, it delivers fundamental components needed for AI-powered applications with features like event-driven architecture, tool integration, and multi-modal support – all while maintaining minimal dependencies and maximum performance.

## 🎯 Mission and Value Proposition

The mission of AmritaCore is to provide a lightweight yet powerful foundation for agent development that prioritizes simplicity, performance, and flexibility. Our core value propositions include:

- **Stream-based Design**: All message outputs are designed as asynchronous streams for real-time responses
- **Security**: Built-in cookie security detection to ensure session safety
- **Vendor Agnostic**: Data types and conversation management are independent of specific providers, offering high portability
- **Extensibility**: Integrated MCP client in extension mechanisms for enhanced system scalability

## 🔑 Key Features

1. **Every is a Stream**: All message outputs are asynchronous stream-based designs supporting real-time responses
2. **Cookie Security Detection**: Built-in cookie security detection functionality to protect session security
3. **Provider Independent Mechanism**: Data types and conversation management are independent of specific vendors, with high portability
4. **MCP Client Support**: Extension mechanisms integrate MCP clients, enhancing system expansion capabilities
5. **Event-Driven Architecture**: Comprehensive event system for flexible and reactive agent behavior
6. **Tool Integration Framework**: Robust system for integrating external tools and services
7. **Advanced Memory Management**: Sophisticated context handling with automatic summarization and token optimization
8. **Built-in Anthropic support**: AmritaCore provides a native adapter for Anthropic's AI models
9. **High-Performance**: Lightweight and efficient, with high performance.

## 📖 Documentation

Please view [Docs](https://core.amritabot.com) for more information.

## 🛠️ Quick Start

To quickly start using AmritaCore, check out the examples in the [demo](./demo/) directory. The basic example demonstrates how to initialize the core, configure settings, and run a simple chat session with the AI assistant.

## 🤝 Contributing

We welcome contributions! Please see our contribution guidelines for more information.

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.

### Notes

All versions of AmritaCore are released under the MIT License (Although the past versions are released under the AGPLv3 License, when this readme is created, we will release all versions under the MIT License).

## Other files

- [CONTRIBUTING.md](./CONTRIBUTING.md) - Contribution guidelines
- [CODE_OF_CONDUCT.md](./CODE_OF_CONDUCT.md) - Code of conduct
- [ZH-CN.md](./readmes/ZH_CN.md)
- [EN-US.md](./readmes/EN_US.md)

## Unstable Features

- `Python 3.14+ Supporting`: we are not sure if it will work well on Python 3.14+(No GIL Version).
