docs/installation

Installation

Install the Artemis agent on your robot host and configure it to connect to your fleet.


System Requirements

ComponentMinimumRecommended
OSUbuntu 20.04Ubuntu 22.04 LTS
Python3.93.11+
RAM512 MB2 GB+
Disk500 MB2 GB+
ROS 2GalacticHumble or Jazzy
Network1 Mbps10 Mbps+

Install via pip

The Artemis agent is distributed as a Python package. Install it with pip:

bash
pip install kairo-agent

To install a specific version:

bash
pip install kairo-agent==1.4.2

Verify the install:

bash
kairo --version
# kairo-agent 1.4.2
We recommend installing inside a virtual environment or a ROS 2 workspace to avoid dependency conflicts with system Python packages.

Install via Docker

A pre-built Docker image is available for containerized deployments:

bash
docker pull ghcr.io/kairo-dev/kairo-agent:latest

# Run with host networking for ROS 2 DDS discovery
docker run --network host \
  -e KAIRO_API_KEY=kai_live_xxxxxxxxxxxx \
  ghcr.io/kairo-dev/kairo-agent:latest

ROS 2 Workspace Setup

If you want the Artemis agent to launch as a standard ROS 2 node inside your workspace, install the ROS 2 package wrapper:

bash
# Source your ROS 2 environment first
source /opt/ros/humble/setup.bash

# Install the ROS 2 meta-package
sudo apt install ros-humble-kairo-agent

# Or build from source
cd ~/ros2_ws/src
git clone https://github.com/kairo-dev/kairo-ros2
cd ~/ros2_ws && colcon build --packages-select kairo_agent

Configuration File

The Artemis agent reads from ~/.kairo/config.yaml on startup. Run kairo config init to generate a default config:

yaml
# ~/.kairo/config.yaml
api_key: kai_live_xxxxxxxxxxxx
api_endpoint: https://api.kairo.dev/v1

agent:
  log_level: info         # debug | info | warn | error
  heartbeat_interval: 30  # seconds
  auto_restart: true

ros2:
  domain_id: 0
  namespace: ""
  qos:
    reliability: reliable
    durability: transient_local
Never commit ~/.kairo/config.yaml to version control — it contains your API key. Use environment variables in CI/CD: KAIRO_API_KEY.

Environment Variables

All config values can be overridden with environment variables:

VariableDescription
KAIRO_API_KEYYour API key. Overrides the config file value.
KAIRO_ENDPOINTAPI base URL. Useful for self-hosted deployments.
KAIRO_LOG_LEVELLog verbosity: debug, info, warn, or error.
KAIRO_ROS_DOMAINROS 2 domain ID (0–232).
KAIRO_NAMESPACEROS 2 namespace prefix for all Artemis topics.