KittAgent

KittAgent is an advanced AI agent platform built with Elixir and Phoenix LiveView, designed to bring physical robots to life using Large Language Models (LLMs).

It currently specializes in controlling mBot2 robots, enabling them to engage in natural language conversations while autonomously deciding on physical actions like moving and turning based on context.

🚀 Key Features

1. Real-time Interaction Dashboard

2. Advanced Agent Management (“Kitts”)

3. LLM-Driven Intelligence & Control

4. Comprehensive Activity Monitoring (“Activities”)

5. Dual-Layer Memory Architecture

6. Centralized Configuration (“Settings”)

🤖 Physical Action Architecture & Client Design

KittAgent employs a distributed client architecture designed to overcome the resource constraints of microcontroller-based robots like mBot2.

Dual-Queue System

To handle different types of agent outputs efficiently, the system maintains two separate, independent queues:

  1. Talk Queue (Talks.Queue): Stores audio response data (TTS-generated WAV files).
  2. System Action Queue (SystemActions.Queue): Stores physical command data (MicroPython code).

Client Roles

đź›  Tech Stack

đź—„ Database Schema Overview

📦 Installation & Setup

Prerequisites

Quick Start

  1. Clone & Setup:

    git clone <repository_url>
    cd kitt_agent
    docker compose run --rm app mix setup
  2. Initial Configuration:

    1. Start the server: docker compose up
    2. Visit http://localhost:4000/kitt-web/settings
    3. Configure your API Key and API Base URL (OpenRouter default: https://openrouter.ai/api/v1/chat/completions).
    4. Select your preferred Main and Summary models.
  3. Create your first Kitt: Navigate to the KITTs page and click New Kitt.

📝 License

This project is licensed under the MIT License.