Skip to main content

Xerxo OS CLI - Your AI-powered business operations assistant. Chat with agents, run workflows, manage tasks, and automate your business from the terminal.

Project description

Xerxo CLI

Your AI-powered business operations assistant. Any OS. Any Platform. The Xerxo way.

PyPI version License: MIT

What is Xerxo?

Xerxo is an open-source CLI for AI-powered business operations. It connects to the Xerxo platform or runs as a self-hosted gateway, giving you:

  • ๐Ÿค– AI Agents - Chat with intelligent agents that can use tools
  • ๐Ÿ”„ Workflows - Automate multi-step business processes
  • โšก Skills - Pre-built automations from the marketplace
  • ๐Ÿ“ฑ Channels - WhatsApp, Telegram, Discord, Slack, Email
  • ๐Ÿ–ฅ๏ธ Terminal UI - Beautiful full-screen interface
  • ๐ŸŒ Browser Automation - Control browsers with AI
  • ๐Ÿ”’ Self-Hosted - Run your own gateway, own your data

Quick Start

# Install
pip install xerxo

# Setup (interactive wizard)
xerxo setup

# Start chatting
xerxo agent chat

# Or launch the full Terminal UI
xerxo tui

Installation

Option 1: pip (Recommended)

# macOS / Linux
pip3 install xerxo

# Windows
pip install xerxo
# or
py -m pip install xerxo

Option 2: Homebrew (macOS/Linux)

brew tap xerxo/tap
brew install xerxo

Option 3: One-Line Installer

curl -fsSL https://xerxo.ai/install.sh | bash

Option 4: From Source

git clone https://github.com/xerxo/xerxo-cli
cd xerxo-cli
pip install -e .

Troubleshooting pip

"pip: command not found"

# macOS - Use pip3 or install via Homebrew
pip3 install xerxo
# or
brew install python && pip3 install xerxo

# Linux (Ubuntu/Debian)
sudo apt install python3-pip
pip3 install xerxo

# Linux (Fedora)
sudo dnf install python3-pip
pip3 install xerxo

Optional Features

# Browser automation (Playwright)
pip install xerxo[browser]
playwright install chromium

# Docker sandbox
pip install xerxo[docker]

# All optional features
pip install xerxo[all]

Commands

xerxo                          # Show help
โ”œโ”€โ”€ setup                      # Interactive setup wizard
โ”œโ”€โ”€ auth                       # Authentication
โ”‚   โ”œโ”€โ”€ login                  # Login with credentials or API key
โ”‚   โ”œโ”€โ”€ logout                 # Clear credentials
โ”‚   โ””โ”€โ”€ status                 # Show auth status
โ”‚
โ”œโ”€โ”€ agent                      # Agent interactions
โ”‚   โ”œโ”€โ”€ chat                   # Interactive chat session
โ”‚   โ”œโ”€โ”€ ask "<question>"       # One-shot question
โ”‚   โ”œโ”€โ”€ list                   # List agents
โ”‚   โ”œโ”€โ”€ tools                  # Show available tools
โ”‚   โ””โ”€โ”€ config                 # View/edit agent config
โ”‚
โ”œโ”€โ”€ workflow                   # Workflow management
โ”‚   โ”œโ”€โ”€ list                   # List workflows
โ”‚   โ”œโ”€โ”€ run <id>               # Execute workflow
โ”‚   โ”œโ”€โ”€ status <run_id>        # Check run status
โ”‚   โ””โ”€โ”€ logs <run_id>          # View logs
โ”‚
โ”œโ”€โ”€ skill                      # Skills management
โ”‚   โ”œโ”€โ”€ list                   # List installed skills
โ”‚   โ”œโ”€โ”€ run <id>               # Execute skill
โ”‚   โ”œโ”€โ”€ marketplace            # Browse marketplace
โ”‚   โ”‚   โ”œโ”€โ”€ browse             # List skills
โ”‚   โ”‚   โ”œโ”€โ”€ install <id>       # Install skill
โ”‚   โ”‚   โ””โ”€โ”€ search <query>     # Search skills
โ”‚   โ””โ”€โ”€ publish <id>           # Publish to marketplace
โ”‚
โ”œโ”€โ”€ task                       # Task management
โ”‚   โ”œโ”€โ”€ list                   # List tasks
โ”‚   โ”œโ”€โ”€ add "<title>"          # Create task
โ”‚   โ”œโ”€โ”€ complete <id>          # Complete task
โ”‚   โ””โ”€โ”€ delete <id>            # Delete task
โ”‚
โ”œโ”€โ”€ channel                    # Channel management
โ”‚   โ”œโ”€โ”€ list                   # List channels
โ”‚   โ”œโ”€โ”€ status                 # Health status
โ”‚   โ”œโ”€โ”€ connect <type>         # Connect channel
โ”‚   โ””โ”€โ”€ login                  # WhatsApp QR login
โ”‚
โ”œโ”€โ”€ browser                    # Browser automation
โ”‚   โ”œโ”€โ”€ start                  # Start browser
โ”‚   โ”œโ”€โ”€ navigate <url>         # Navigate to URL
โ”‚   โ”œโ”€โ”€ screenshot             # Take screenshot
โ”‚   โ”œโ”€โ”€ click <selector>       # Click element
โ”‚   โ””โ”€โ”€ type <text>            # Type text
โ”‚
โ”œโ”€โ”€ gateway                    # Self-hosted gateway
โ”‚   โ”œโ”€โ”€ start                  # Start gateway server
โ”‚   โ”œโ”€โ”€ stop                   # Stop gateway
โ”‚   โ”œโ”€โ”€ status                 # Gateway status
โ”‚   โ””โ”€โ”€ logs                   # View logs
โ”‚
โ”œโ”€โ”€ tui                        # Full terminal UI
โ”œโ”€โ”€ config                     # CLI configuration
โ”‚   โ”œโ”€โ”€ set <key> <value>      # Set config
โ”‚   โ”œโ”€โ”€ get <key>              # Get config
โ”‚   โ””โ”€โ”€ list                   # Show all config
โ”‚
โ””โ”€โ”€ version                    # Show version

Terminal UI

Launch the full-screen terminal interface:

xerxo tui

Features:

  • ๐Ÿ’ฌ Chat panel with streaming responses
  • ๐Ÿ”ง Tool execution visibility
  • ๐Ÿ“‹ Session sidebar
  • โŒจ๏ธ Vim-style keyboard navigation
  • ๐ŸŽจ Beautiful Rich formatting

Self-Hosted Gateway

Run your own gateway server:

# Start gateway
xerxo gateway start --port 8080

# Connect WhatsApp
xerxo channel login --channel whatsapp

# Check status
xerxo gateway status

Configuration

Config is stored at ~/.xerxo/config.yaml:

api_url: https://api.xerxo.ai     # Or your self-hosted URL
api_key: xrx_...                   # API key
default_agent: main                # Default agent
output_format: rich                # rich | json | plain
gateway:
  port: 8080
  bind: localhost

Environment Variables

XERXO_API_URL=https://api.xerxo.ai
XERXO_API_KEY=xrx_...
XERXO_CONFIG_DIR=~/.xerxo

What's Open Source vs Proprietary?

Open Source (This Repo - MIT License):

  • CLI client and all commands
  • Terminal UI (TUI)
  • Local gateway server
  • Sandbox execution
  • Browser automation
  • Tool handlers

Proprietary (Xerxo Cloud):

  • Hosted platform (web UI)
  • Enterprise features (teams, RBAC, audit)
  • Premium skills & workflows
  • Support & SLAs

Contributing

We welcome contributions! See CONTRIBUTING.md.

# Clone
git clone https://github.com/xerxo/xerxo-cli
cd xerxo-cli

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest

# Format code
black xerxo/
ruff check xerxo/

License

MIT License - see LICENSE for details.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

xerxo-1.0.2.tar.gz (43.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

xerxo-1.0.2-py3-none-any.whl (41.8 kB view details)

Uploaded Python 3

File details

Details for the file xerxo-1.0.2.tar.gz.

File metadata

  • Download URL: xerxo-1.0.2.tar.gz
  • Upload date:
  • Size: 43.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for xerxo-1.0.2.tar.gz
Algorithm Hash digest
SHA256 5158dc981a939a421482a2d73aba50cca80523f6a0e5bf688026d7c1698a7793
MD5 6c79b91aab9f4b0ad06cf4b4bb340fdd
BLAKE2b-256 ac761d7b63f92ebccfb61fb6b0a67a9d99457e3c80405c0b21c2932dbda4164a

See more details on using hashes here.

File details

Details for the file xerxo-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: xerxo-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 41.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for xerxo-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 49f73f024b0ac979d921e934a0b1cad279ae5402d70e2dc461fa327bd70a201c
MD5 8a9a2f57d6ac3cd5875d81c0aaee3e1e
BLAKE2b-256 43d1bf150b3dadd90693652212ca087e5e2bc414efca3ee4b326374414cb471e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page