Installation

Complete installation guide for Soothe.


System Requirements

Prerequisites

  • Python: 3.11 or higher
  • Operating System: macOS, Linux, Windows (WSL2)
  • API Keys: OpenAI API key (required) or other LLM provider keys

Verify Python Version

python --version
# Should show Python 3.11.x or higher

Installation Methods

Install the complete Soothe stack for everyday use:

pip install -U soothe soothe-cli soothe-daemon

This includes:

  • soothe: Core runtime with data tools (CSV/Excel/PDF/DOCX), research, browser-use, and PostgreSQL drivers
  • soothe-cli: Interactive TUI and command-line interface
  • soothe-daemon: Background daemon (WebSocket)

Option 2: Minimal Installation

Install the core framework and CLI only:

pip install -U soothe soothe-cli

The base soothe package includes all built-in tool dependencies (tabular data, document parsing, web research, browser subagent, PostgreSQL).

Option 3: Using uv (Fast Alternative)

If you use uv:

uv pip install soothe soothe-cli soothe-daemon

Option 4: From Source

For development or latest changes:

# Clone repository
git clone https://github.com/mirasoth/soothe.git
cd soothe

# Install with development dependencies
pip install -e '.[dev]' soothe-cli soothe-daemon

# Or use the provided script
make install-dev

Package Overview

Soothe is organized as a monorepo with multiple packages:

Package PyPI Name Purpose Required?
soothe soothe Core agent runtime, protocols, backends, tools Yes
soothe-cli soothe-cli soothe command (TUI, one-shot prompts) Recommended
soothe-daemon soothe-daemon soothed command (background daemon) Optional
soothe-sdk soothe-sdk Shared protocol types, decorators Auto-installed
soothe-plugins soothe-plugins Community plugins Optional

Built-in Capabilities

The soothe package includes research (Tavily, Arxiv, Wizsearch), data tools (CSV/Excel/Parquet, PDF/DOCX), browser-use, PostgreSQL drivers, and OpenAI-compatible provider support out of the box.

GitHub integration uses the gh CLI (builtin skill) or the GitHub MCP server (mcp_builtins: [github] with Node.js/npx) — not a Python extra.

Langfuse tracing is optional: pip install langfuse or install soothe from source with dev dependencies (pip install -e '.[dev]').


API Key Setup

OpenAI (Required)

# Set in shell
export OPENAI_API_KEY=sk-your-key-here

# Add to ~/.bashrc or ~/.zshrc for persistence
echo 'export OPENAI_API_KEY=sk-your-key-here' >> ~/.bashrc

Other Providers (Optional)

# Anthropic Claude
export ANTHROPIC_API_KEY=sk-ant-your-key-here

# Google Gemini
export GOOGLE_API_KEY=your-google-api-key

# OpenAI-Compatible Providers (e.g., Qwen, OpenRouter, local vLLM)
export OPENAI_API_KEY=your-openai-compatible-key
export OPENAI_BASE_URL=https://your-provider-endpoint/v1  # Optional

# Web search (Tavily)
export TAVILY_API_KEY=tvly-your-key

Configuration Setup

Auto-Created Directory Structure

Starting the daemon (soothed start) automatically creates the ~/.soothe/ directory tree on first run. No manual initialization is needed.

This creates:

~/.soothe/                    # SOOTHE_HOME (default location)
├── config/
│   ├── config.yml            # Default agent configuration
│   └── daemon.yml            # Default daemon configuration
├── runs/                     # Thread execution data
└── logs/                     # Daemon and thread logs

Verify Installation

# Check version
soothe --version

# Verify configuration exists
ls ~/.soothe/config/config.yml

# Test with simple query
soothe -p "Hello, are you working?"

Verify Installation

Quick Health Check

# Run diagnostic tests
soothed doctor

This checks:

  • ✅ Configuration validity
  • ✅ API key accessibility
  • ✅ Required packages
  • ✅ Protocol backends
  • ✅ Daemon connectivity (if running)

Manual Verification

# 1. Verify packages are installed
python -c "import soothe; print(f'Soothe {soothe.__version__}')"
python -c "import soothe_cli; print('CLI installed')"
python -c "import soothe_daemon; print('Daemon installed')"

# 2. Test basic functionality
soothe -p "What is 2 + 2?"

# 3. Start daemon (optional)
soothed start
soothed doctor

Platform-Specific Notes

macOS

No special requirements. Works out of the box.

Linux

Install system dependencies for optional features:

# Ubuntu/Debian
sudo apt-get install -y python3-dev build-essential

# Fedora
sudo dnf install -y python3-devel gcc

Windows

Use Windows Subsystem for Linux 2 (WSL2):

# Install WSL2
wsl --install

# Then follow Linux instructions inside WSL2

Troubleshooting

Installation Issues

Problem: pip install fails with compilation errors

Solution: Install build dependencies:

# macOS
xcode-select --install

# Ubuntu/Debian
sudo apt-get install -y python3-dev build-essential

# Then retry installation
pip install -U soothe soothe-cli soothe-daemon

Problem: ModuleNotFoundError: No module named 'soothe'

Solution: Ensure you’re using the correct Python environment:

# Check which Python
which python
which pip

# Use python -m pip for clarity
python -m pip install -U soothe soothe-cli soothe-daemon

Problem: Version conflicts with existing packages

Solution: Use a virtual environment:

python -m venv soothe-env
source soothe-env/bin/activate  # On Windows: soothe-env\Scripts\activate
pip install -U soothe soothe-cli soothe-daemon

Configuration Issues

Problem: Config file not found

Solution: The daemon auto-creates a default configuration on first start. Simply launch soothed and it will bootstrap ~/.soothe/config/config.yml automatically:

soothed  # Auto-creates config on first run

Problem: OPENAI_API_KEY not set

Solution: Set the environment variable:

export OPENAI_API_KEY=sk-your-key-here
# Or add to config.yml:
# providers:
#   - name: openai
#     api_key: "sk-your-key-here"

Runtime Issues

Problem: soothe: command not found

Solution: Ensure soothe-cli is installed and pip bin directory is in PATH:

pip install -U soothe-cli
echo $PATH  # Should include ~/.local/bin or similar

Problem: Permission errors on ~/.soothe

Solution: Fix permissions:

chmod -R u+rw ~/.soothe

Next Steps

After successful installation:

  1. Quick-Start Guide - Run your first autonomous session
  2. Configuration Guide - Customize for your needs
  3. Basic Concepts - Understand Soothe’s architecture

Upgrading

Update to Latest Version

pip install -U soothe soothe-cli soothe-daemon

Check Version

soothe --version

Migration Notes

Check the CHANGELOG for breaking changes between versions.


Uninstalling

# Remove all packages
pip uninstall soothe soothe-cli soothe-daemon soothe-sdk

# Remove configuration (optional)
rm -rf ~/.soothe