Skip to main content

The Watcher - An agentic system troubleshooting tool powered by Claude

Project description

Uatu

Your AI partner for system operations—from guided troubleshooting to autonomous problem-solving.

autu-demo

Core capabilities:

  • Chat with your system: Ask questions and get AI-powered analysis
  • One-shot investigations: Instant diagnosis for specific issues
  • Autonomous monitoring: Learn baselines and detect anomalies
  • Intelligent analysis: Connect CPU spikes, memory leaks, and process behavior
  • Cost-efficient: Prompt caching and smart rate limiting

Tested on Platforms:

  • macOS
  • Linux

Installation

Using pipx (recommended)

# Install with pipx for isolated environment
pipx install uatu

# Configure API key
echo "ANTHROPIC_API_KEY=your_key" > .env

Using pip

# Install globally or in a virtual environment
pip install uatu

# Configure API key
echo "ANTHROPIC_API_KEY=your_key" > .env

From source with uv

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Clone and install
git clone https://github.com/fractalops/uatu.git
cd uatu
uv sync

# Configure API key
echo "ANTHROPIC_API_KEY=your_key" > .env

Quick Start

Interactive Chat Mode (Default)

Start a conversational troubleshooting session:

# Default (read-only, requires approval for bash commands)
uv run uatu

# Allow bash commands with approval prompts
UATU_READ_ONLY=false uv run uatu

Ask questions naturally and get AI-powered analysis:

  • "What's causing high CPU usage?"
  • "Why is my server running slowly?"
  • "Investigate recent memory issues"
  • "Check for network bottlenecks"

Security: By default, bash commands require user approval. Set UATU_READ_ONLY=false in .env to enable bash (with approval prompts).

One-Shot Investigation

Investigate a specific symptom immediately:

uv run uatu investigate "server running slowly"
uv run uatu investigate "high CPU usage"
uv run uatu investigate "memory leak suspected"

The agent will:

  • Gather relevant system information using bash commands
  • Analyze patterns and correlate signals
  • Provide root cause analysis
  • Suggest actionable remediation steps

Best for: Quick diagnostics, automation, scripting

Continuous Monitoring

Watch your system and detect anomalies autonomously:

# Fast testing (1 minute baseline)
uv run uatu watch --baseline 1

# Production monitoring (5 minute baseline, default)
uv run uatu watch

# With AI investigation of detected anomalies
uv run uatu watch --investigate

Configuration

Create .env with options:

# Required
ANTHROPIC_API_KEY=your_key

# Optional
UATU_MODEL=claude-sonnet-4-5-20250929  # Claude model to use
UATU_READ_ONLY=true                     # Agent can only read, not modify system
UATU_REQUIRE_APPROVAL=true              # Require approval for risky actions

Development

# Run tests (20 unit tests)
uv run pytest

# Lint
uv run ruff check .

# Format
uv run ruff format .

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

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

uatu-0.1.1.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

uatu-0.1.1-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file uatu-0.1.1.tar.gz.

File metadata

  • Download URL: uatu-0.1.1.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uatu-0.1.1.tar.gz
Algorithm Hash digest
SHA256 46f63de80ab5279c6ee7edbbd955b2dd7d5eacfa1bf2e6dd36c51eb4acbdfed7
MD5 2925232eb5952add857ca3464db04e8c
BLAKE2b-256 5f8a7028483b81a45dd2668da6c3496ce954e8a33bc7f2af4326f03400702c32

See more details on using hashes here.

Provenance

The following attestation bundles were made for uatu-0.1.1.tar.gz:

Publisher: publish.yml on fractalops/uatu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file uatu-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: uatu-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 55.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for uatu-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f2e69c7262106e3050df06ccb663aaf5cce91b178f61444739095a83d36d691f
MD5 83108ed7975c3076596000e95dfc90d6
BLAKE2b-256 28827dc8773d3b3e84214947848be8f5997406efb6f32a8cad7854d5b40bd48b

See more details on using hashes here.

Provenance

The following attestation bundles were made for uatu-0.1.1-py3-none-any.whl:

Publisher: publish.yml on fractalops/uatu

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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