Absortio

Email → Summary → Bookmark → Email

GitHub - jingkaihe/opsmate: AI SRE Assistant

Extracto

AI SRE Assistant. Contribute to jingkaihe/opsmate development by creating an account on GitHub.

Resumen

Resumen Principal

Opsmate se posiciona como un compañero SRE (Site Reliability Engineering) impulsado por IA diseñado para aliviar a los ingenieros de producción de las tareas rutinarias y la complejidad inherente a los entornos de infraestructura modernos. Funciona como un miembro del equipo SRE disponible 24/7, operando con un enfoque de "humano en el bucle" para la gestión de operaciones de producción. La herramienta se distingue por su interfaz de lenguaje natural, que permite a los usuarios ejecutar comandos y solucionar problemas sin necesidad de recordar sintaxis técnica compleja. Esto se complementa con un razonamiento avanzado basado en IA que facilita el diagnóstico y la resolución de problemas de producción. Opsmate es notable por su flexibilidad, al admitir múltiples modelos de lenguaje grandes (LLMs) como OpenAI, Anthropic y xAI, y ser compatible con diversas entornos de ejecución como entornos locales, Docker, Kubernetes y VMs remotas, lo que asegura su adaptabilidad en diversos ecosistemas tecnológicos.

Elementos Clave

  • Interfaz de Lenguaje Natural y Razonamiento Avanzado: Opsmate permite a los usuarios interactuar con la infraestructura mediante un lenguaje natural, eliminando la necesidad de comandos complejos. Su capacidad de razonamiento avanzado impulsado por IA le permite no solo ejecutar tareas, sino también diagnosticar, analizar y resolver problemas de producción, como identificar la GPU de una VM o la distribución de Kubernetes de manera inteligente, proporcionando tanto el comando ejecutado como el resultado detallado.
  • Soporte Multi-LLM y Multi-Runtime: La plataforma ofrece una notable versatilidad al integrar soporte "out-of-the-box" para diversos modelos de lenguaje grandes (LLMs) como OpenAI, Anthropic y xAI, y la posibilidad de extenderse a otros. Además, su compatibilidad con múltiples entornos de ejecución, incluyendo configuraciones locales, contenedores Docker, clústeres de Kubernetes y máquinas virtuales remotas, garantiza su adaptabilidad a casi cualquier configuración de infraestructura.
  • **Herramient

Contenido

Opsmate

PyPI version Container Image Link to documentation License

Opsmate is an AI SRE teammate to free you from the toils of production engineering.

Modern infrastructure and production environments are complex. Opsmate is a 24/7 available SRE teammate that helps you manage production operations with a human-in-the-loop approach.

Table of Contents

Features

  • 🤖 Natural Language Interface: Run commands using natural language without remembering complex syntax
  • 🔍 Advanced Reasoning: Troubleshoot and solve production issues with AI-powered reasoning
  • 🔄 Multiple LLM Support: Out of box works for OpenAI, Anthropic, xAI. Easy to extend to other LLMs.
  • 🛠️ Multiple Runtimes: Supports various execution environments such as Local, Docker, Kubernetes and remote VMs.
  • 🔭 Modern Observability Tooling: Built-in support for Prometheus allows you to create time series dashboards with natural language, and more to come.
  • 🧠 Knowledge Management: Ingest and use domain-specific knowledge
  • 📈 Web UI & API: Access Opsmate through a web interface or API
  • 🔌 Plugin System: Extend Opsmate with custom plugins

Installation

Choose your preferred installation method:

The recommended way of installing opsmate is using uv:

# Using uvx
uv tool install -U opsmate

Other than that, you can also install opsmate using pip, pipx or docker.

# Using pip
pip install -U opsmate

# Using pipx
pipx install opsmate
# or
pipx upgrade opsmate

# Using Docker
docker pull ghcr.io/jingkaihe/opsmate:latest
alias opsmate="docker run -it --rm --env OPENAI_API_KEY=$OPENAI_API_KEY -v $HOME/.opsmate:/root/.opsmate ghcr.io/jingkaihe/opsmate:latest"

# From source
git clone git@github.com:jingkaihe/opsmate.git
cd opsmate
uv build
pipx install ./dist/opsmate-*.whl

Configuration

Opsmate is powered by large language models. It currently supports:

Set up your API key in an environment variable:

export OPENAI_API_KEY="sk-proj..."
# or
export ANTHROPIC_API_KEY="sk-ant-api03-..."
# or
export XAI_API_KEY="xai-..."

Quick Start

Run commands with natural language

$ opsmate run "what's the gpu of the vm"
# Output: Command and result showing GPU information

Solve complex production issues

$ opsmate solve "what's the k8s distro of the current context"
# Output: Thought process and analysis determining K8s distribution

Interactive chat mode

Web UI and API

$ opsmate serve
# Web interface: http://localhost:8080
# API documentation: http://localhost:8080/api/docs

Advanced Usage

Opsmate can be deployed in production environments using the opsmate-operator in a Kubernetes cluster, providing:

  • Task scheduling via CRDs
  • Dedicated HTTPS endpoints and web UI for tasks
  • Multi-tenancy support
  • Automatic resource management with TTL
  • API server for environment management

Check our production documentation for details.

Use Cases

Opsmate supports various use cases:

  • Production issue troubleshooting and resolution
  • Root cause analysis
  • Performance analysis and improvement
  • Observability and monitoring setup
  • Capacity planning
  • On-call engineer assistance
  • Infrastructure as Code management
  • Routine task automation (CI/CD, backups, updates)
  • Knowledge management
  • Workflow orchestration

Integrations

For a comprehensive list of integrations, please refer to the integrations and cookbooks sections.

Documentation

For comprehensive documentation, visit here.

Contributing

Contributions are welcome! See our development guide for details.

License

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

Fuente: GitHub