AIOS is the AI Agent Operating System, which embeds large language model (LLM) into the operating system and facilitates the development and deployment of LLM-based AI Agents. AIOS is designed to address problems (e.g., scheduling, context switch, memory management, storage management, tool management, Agent SDK management, etc.) during the development and deployment of LLM-based agents, towards a better AIOS-Agent ecosystem for agent developers and agent users. AIOS includes the AIOS Kernel (this AIOS repository) and the AIOS SDK (the Cerebrum repository). AIOS supports both Web UI and Terminal UI.
🏠 Architecture of AIOS
Overview
The AIOS system is comprised of two key components: the AIOS kernel and the AIOS SDK.
The AIOS kernel acts as an abstraction layer over the operating system kernel, managing various resources that agents require, such as LLM, memory, storage and tool.
The AIOS SDK is designed for agent users and developers, enabling them to build and run agent applications by interacting with the AIOS kernel.
AIOS kernel is the current repository and AIOS SDK can be found at here
Modules and Connections
Below shows how agents utilize AIOS SDK to interact with AIOS kernel and how AIOS kernel receives agent queries and leverage the chain of syscalls that are scheduled and dispatched to run in different modules.
[2025-03-12] 🔥 A major refactor of the codebase packed with powerful new features have been integrated into the main repo. Please check out the AIOS v0.2.2 release.
[2025-01-27] 🔥 Deepseek-r1 (1.5b, 7b, 8b, 14b, 32b, 70b, 671b) has already been supported in AIOS, both open-sourced versions and deepseek apis (deepseek-chat and deepseek-reasoner) are available.
[2024-11-30] 🔥 AIOS v0.2: Disentangled AIOS Kernel (this AIOS repository) and AIOS SDK (The Cerebrum repository), Remote Kernel for agent users.
[2024-09-01] 🔥 AIOS supports multiple agent creation frameworks (e.g., ReAct, Reflexion, OpenAGI, AutoGen, Open Interpreter, MetaGPT). Agents created by these frameworks can onboard AIOS. Onboarding guidelines can be found at the Doc.
[2024-07-10] 📖 AIOS documentation is up, which can be found at Website.
[2024-06-20] 🔥 Function calling for open-sourced LLMs (native huggingface, vLLM, ollama) is supported.
[2024-05-20] 🚀 More agents with ChatGPT-based tool calling are added (i.e., MathAgent, RecAgent, TravelAgent, AcademicAgent and CreationAgent), their profiles and workflows can be found in OpenAGI.
[2024-05-13] 🛠️ Local models (diffusion models) as tools from HuggingFace are integrated.
[2024-05-01] 🛠️ The agent creation in AIOS is refactored, which can be found in our OpenAGI package.
[2024-04-02] 🤝 AIOS Discord Community is up. Welcome to join the community for discussions, brainstorming, development, or just random chats! For how to contribute to AIOS, please see CONTRIBUTE.
Here are some key notations that are required to know before introducing the different modes of AIOS.
AHM (Agent Hub Machine): Central server that hosts the agent marketplace/repository where users can publish, download, and share agents. Acts as the distribution center for all agent-related resources.
AUM (Agent UI Machine): Client machine that provides user interface for interacting with agents. Can be any device from mobile phones to desktops that supports agent visualization and control.
ADM (Agent Development Machine): Development environment where agent developers write, debug and test their agents. Requires proper development tools and libraries.
ARM (Agent Running Machine): Execution environment where agents actually run and perform tasks. Needs adequate computational resources for agent operations.
The following parts introduce different modes of deploying AIOS. Currently, AIOS already supports Mode 1 and Mode 2, other modes with new features are still ongoing.
Mode 1 (Local Kernel Mode)
Features:
For agent users: They can download agents from agent hub from Machine B and run agents on Machine A.
For agent developers: They can develop and test agents in Machine A and can upload agents to agent hub on Machine B.
Mode 2 (Remote Kernel Mode)
Features:
Remote use of agents: Agent users / developers can use agents on Machine B, which is different from the development and running machine (Machine A).
Benefit users who would like to use agents on resource-restricted machine (e.g., mobile device or edge device)
Mode 2.5 (Remote Kernel Dev Mode)
Features:
Remote development of agents: Agent developers can develop their agents on Machine B while running and testing their agents in Machine A. Benefit developers who would like to develop agents on resource-restricted machine (e.g., mobile device or edge device)
Critical technique:
Packaging and agent transmission on different machines for distributed agent development and testing
Mode 3 (Personal Remote Kernel Mode)
Ongoing Features:
Each user/developer can have their personal AIOS with long-term persistent data as long as they have registered account in the AIOS ecosystem
Their personal data can be synced to different machines with the same account
Critical techniques:
User account registration and verification mechanism
Persistent personal data storage for each user’s AIOS
Synchronization for different AIOS instances on different devices within the same account
Data privacy mechanism
Mode 4 (Personal Remote Virtual Kernel Mode)
Ongoing Features:
Different user/developer’s personal AIOS kernels can co-exist in the same physical machine through virtualization
Critical techniques:
Virtualization of different AIOS kernel instances in the same machine
Scheduling and resource allocation mechanism for different virtual machines located in the same machine
✈️ Getting Started
Please see our ongoing documentation for more information.
Note: The machine where the AIOS kernel (AIOS) is installed must also have the AIOS SDK (Cerebrum) installed. Installing AIOS kernel will install the AIOS SDK automatically by default. If you are using the Local Kernel mode, i.e., you are running AIOS and agents on the same machine, then simply install both AIOS and Cerebrum on that machine. If you are using Remote Kernel mode, i.e., running AIOS on Machine 1 and running agents on Machine 2 and the agents remotely interact with the kernel, then you need to install both AIOS kernel and AIOS SDK on Machine 1, and install the AIOS SDK alone on Machine 2. Please follow the guidelines at Cerebrum regarding how to install the SDK.
Quickstart
Before launching AIOS, it is required to set up configurations. AIOS provides two ways of setting up configurations, one is to set up by directly modifying the configuration file, another is to set up interactively.
Set up configuration file directly (Recommended)
You need API keys for services like OpenAI, Anthropic, Groq and HuggingFace. The simplest way to configure them is to edit the aios/config/config.yaml.
[!TIP]
It is important to mention that, we strongly recommend using the aios/config/config.yaml file to set up your API keys. This method is straightforward and helps avoid potential sychronization issues with environment variables.
A simple example to set up your API keys in aios/config/config.yaml is shown below:
You can configure which LLM models to use in the same aios/config/config.yaml file. Here’s an example configuration:
llms:
models:
# Ollama Models
- name: "qwen2.5:7b"
backend: "ollama"
hostname: "http://localhost:11434" # Make sure to run ollama server
# vLLM Models
- name: "meta-llama/Llama-3.1-8B-Instruct"
backend: "vllm"
hostname: "http://localhost:8091/v1" # Make sure to run vllm server
[!NOTE]
vLLM currently only supports Linux and GPU-enabled environments. If you don’t have a compatible environment, please choose other backend options.
To enable the tool calling feature of vllm, refer to https://docs.vllm.ai/en/latest/features/tool_calling.html
Using HuggingFace Models:
You can configure HuggingFace models with specific GPU memory allocation:
Alternatively, you can set up aios configurations interactively by using the following command.
aios env list: Show current environment variables, or show available API keys if no variables are set
aios env set: Show current environment variables, or show available API keys if no variables are set
aios refresh: Refresh AIOS configuration.
Reloads the configuration from aios/config/config.yaml.
Reinitializes all components without restarting the server.
The server must be running.
When no environment variables are set, the following API keys will be shown:
DEEPSEEK_API_KEY: Deepseek API key for accessing Deepseek services
OPENAI_API_KEY: OpenAI API key for accessing OpenAI services
GEMINI_API_KEY: Google Gemini API key for accessing Google’s Gemini services
GROQ_API_KEY: Groq API key for accessing Groq services
HF_AUTH_TOKEN: HuggingFace authentication token for accessing models
HF_HOME: Optional path to store HuggingFace models
NOVITA_API_KEY: Novita AI API key for accessing Novita AI services
Launch AIOS
After you setup your keys or environment parameters, then you can follow the instructions below to start.
Run:
bash runtime/launch_kernel.sh
Or if you need to explicity set the Python version by running python3.10, python3.11, python3, etc. run the command below:
python3.x -m uvicorn runtime.kernel:app --host 0.0.0.0 --port 8000 # replace the port with your own port
You also need to set up the host and port in the configuration of Cerebrum (AIOS SDK) to make sure it is consistent with the configurations of AIOS.
You can also force the kernel to run in the background with:
And you can run it even after the shell closes by typing nohup before the entire command.
Interact with AIOS terminal
To interact with the AIOS terminal (LLM-based semantic file system), you can run the following command to start the AIOS terminal.
python scripts/run_terminal.py
Then you can start interacting with the AIOS terminal by typing natural language commands.
If you successfully start the AIOS terminal, it will be shown as below:
Detailed instructions of how to use the AIOS terminal can be found at here
[!WARNING]
The rollback feature of the AIOS terminal requires the connection to the redis server. Make sure you have the redis server running if you would like to use the rollback feature.
@article{xu2025mem,
title={A-Mem: Agentic Memory for LLM Agents},
author={Xu, Wujiang and Liang, Zujie and Mei, Kai and Gao, Hang and Tan, Juntao and Zhang, Yongfeng},
journal={arXiv:2502.12110},
year={2025}
}
@inproceedings{rama2025cerebrum,
title={Cerebrum (AIOS SDK): A Platform for Agent Development, Deployment, Distribution, and Discovery},
author={Balaji Rama and Kai Mei and Yongfeng Zhang},
booktitle={2025 Annual Conference of the Nations of the Americas Chapter of the Association for Computational Linguistics},
year={2025}
}
@inproceedings{shi2025from,
title={From Commands to Prompts: {LLM}-based Semantic File System for AIOS},
author={Zeru Shi and Kai Mei and Mingyu Jin and Yongye Su and Chaoji Zuo and Wenyue Hua and Wujiang Xu and Yujie Ren and Zirui Liu and Mengnan Du and Dong Deng and Yongfeng Zhang},
booktitle={The Thirteenth International Conference on Learning Representations},
year={2025},
url={https://openreview.net/forum?id=2G021ZqUEZ}
}
@article{mei2024aios,
title={AIOS: LLM Agent Operating System},
author={Mei, Kai and Zhu, Xi and Xu, Wujiang and Hua, Wenyue and Jin, Mingyu and Li, Zelong and Xu, Shuyuan and Ye, Ruosong and Ge, Yingqiang and Zhang, Yongfeng}
journal={arXiv:2403.16971},
year={2024}
}
@article{ge2023llm,
title={LLM as OS, Agents as Apps: Envisioning AIOS, Agents and the AIOS-Agent Ecosystem},
author={Ge, Yingqiang and Ren, Yujie and Hua, Wenyue and Xu, Shuyuan and Tan, Juntao and Zhang, Yongfeng},
journal={arXiv:2312.03815},
year={2023}
}
🚀 Contributions
For how to contribute, see CONTRIBUTE. If you would like to contribute to the codebase, issues or pull requests are always welcome!
🌍 AIOS Contributors
🤝 Discord Channel
If you would like to join the community, ask questions, chat with fellows, learn about or propose new features, and participate in future developments, join our Discord Community!
AIOS: AI Agent Operating System
AIOS is the AI Agent Operating System, which embeds large language model (LLM) into the operating system and facilitates the development and deployment of LLM-based AI Agents. AIOS is designed to address problems (e.g., scheduling, context switch, memory management, storage management, tool management, Agent SDK management, etc.) during the development and deployment of LLM-based agents, towards a better AIOS-Agent ecosystem for agent developers and agent users. AIOS includes the AIOS Kernel (this AIOS repository) and the AIOS SDK (the Cerebrum repository). AIOS supports both Web UI and Terminal UI.
🏠 Architecture of AIOS
Overview
The AIOS system is comprised of two key components: the AIOS kernel and the AIOS SDK. The AIOS kernel acts as an abstraction layer over the operating system kernel, managing various resources that agents require, such as LLM, memory, storage and tool. The AIOS SDK is designed for agent users and developers, enabling them to build and run agent applications by interacting with the AIOS kernel. AIOS kernel is the current repository and AIOS SDK can be found at here
Modules and Connections
Below shows how agents utilize AIOS SDK to interact with AIOS kernel and how AIOS kernel receives agent queries and leverage the chain of syscalls that are scheduled and dispatched to run in different modules.
📰 News
Different deployment modes of AIOS
Here are some key notations that are required to know before introducing the different modes of AIOS.
The following parts introduce different modes of deploying AIOS. Currently, AIOS already supports Mode 1 and Mode 2, other modes with new features are still ongoing.
Mode 1 (Local Kernel Mode)
Mode 2 (Remote Kernel Mode)
Mode 2.5 (Remote Kernel Dev Mode)
Mode 3 (Personal Remote Kernel Mode)
Ongoing Features:
Critical techniques:
Mode 4 (Personal Remote Virtual Kernel Mode)
✈️ Getting Started
Please see our ongoing documentation for more information.
Installation
Requirements
Python
Installation from source
Step 1: Install AIOS Kernel
Git clone AIOS kernel
Create venv environment
or create conda environment
For GPU environments:
For CPU-only environments:
Alternatively, if you prefer using pip:
For GPU environments:
For CPU-only environments:
Step 2: Install AIOS SDK (Cerebrum)
Note: The machine where the AIOS kernel (AIOS) is installed must also have the AIOS SDK (Cerebrum) installed. Installing AIOS kernel will install the AIOS SDK automatically by default. If you are using the Local Kernel mode, i.e., you are running AIOS and agents on the same machine, then simply install both AIOS and Cerebrum on that machine. If you are using Remote Kernel mode, i.e., running AIOS on Machine 1 and running agents on Machine 2 and the agents remotely interact with the kernel, then you need to install both AIOS kernel and AIOS SDK on Machine 1, and install the AIOS SDK alone on Machine 2. Please follow the guidelines at Cerebrum regarding how to install the SDK.
Quickstart
Before launching AIOS, it is required to set up configurations. AIOS provides two ways of setting up configurations, one is to set up by directly modifying the configuration file, another is to set up interactively.
Set up configuration file directly (Recommended)
You need API keys for services like OpenAI, Anthropic, Groq and HuggingFace. The simplest way to configure them is to edit the
aios/config/config.yaml
.A simple example to set up your API keys in
aios/config/config.yaml
is shown below:To obtain these API keys:
Configure LLM Models
You can configure which LLM models to use in the same
aios/config/config.yaml
file. Here’s an example configuration:Using Ollama Models:
Using vLLM Models:
Using HuggingFace Models: You can configure HuggingFace models with specific GPU memory allocation:
Set up interactively
Alternatively, you can set up aios configurations interactively by using the following command.
aios env list
: Show current environment variables, or show available API keys if no variables are setaios env set
: Show current environment variables, or show available API keys if no variables are setaios refresh
: Refresh AIOS configuration. Reloads the configuration from aios/config/config.yaml. Reinitializes all components without restarting the server. The server must be running.When no environment variables are set, the following API keys will be shown:
DEEPSEEK_API_KEY
: Deepseek API key for accessing Deepseek servicesOPENAI_API_KEY
: OpenAI API key for accessing OpenAI servicesGEMINI_API_KEY
: Google Gemini API key for accessing Google’s Gemini servicesGROQ_API_KEY
: Groq API key for accessing Groq servicesHF_AUTH_TOKEN
: HuggingFace authentication token for accessing modelsHF_HOME
: Optional path to store HuggingFace modelsNOVITA_API_KEY
: Novita AI API key for accessing Novita AI servicesLaunch AIOS
After you setup your keys or environment parameters, then you can follow the instructions below to start.
Run:
Or if you need to explicity set the Python version by running
python3.10
,python3.11
,python3
, etc. run the command below:You also need to set up the host and port in the configuration of Cerebrum (AIOS SDK) to make sure it is consistent with the configurations of AIOS.
You can also force the kernel to run in the background with:
And you can run it even after the shell closes by typing
nohup
before the entire command.Interact with AIOS terminal
To interact with the AIOS terminal (LLM-based semantic file system), you can run the following command to start the AIOS terminal.
Then you can start interacting with the AIOS terminal by typing natural language commands.
If you successfully start the AIOS terminal, it will be shown as below:
Detailed instructions of how to use the AIOS terminal can be found at here
Supported Agent Frameworks
Supported LLM Cores
Reference
🚀 Contributions
For how to contribute, see CONTRIBUTE. If you would like to contribute to the codebase, issues or pull requests are always welcome!
🌍 AIOS Contributors
🤝 Discord Channel
If you would like to join the community, ask questions, chat with fellows, learn about or propose new features, and participate in future developments, join our Discord Community!