Gepetto - A command line operator for QA/DevOps

Introducing Gepetto: a minimalistic CLI-based AI Operator that automates browser-based tasks using natural language instructions. Perfect for QA automation, liveness checks, and data collection from systems without APIs. Built with OpenGPA, supporting multiple LLM backends and MCP integration.

Gepetto - A command line operator for QA/DevOps

In a world increasingly dominated by complex systems and web-based interfaces, many operations teams still struggle with automating tasks that lack proper APIs. This is why I'm thrilled to announce the release of Gepetto, a minimalistic CLI-based Operator: an AI Agent that uses its own browser (and other tools) to perform tasks for you.

The Vision Behind Gepetto

The core idea behind Gepetto is similar to what drove the development of OpenGPA: the next generation of AI Agents isn't just about "intelligence" but about their ability to interact with systems and tools. While OpenGPA focused on creating a framework for agentic orchestration, Gepetto applies this principle to a specific use case: operating systems autonomously through their legacy interfaces.

Gepetto excels at automating tasks that require interacting with systems that lack APIs. This includes browser-based interaction, data collection from unstructured log files, processing emails, and more. By leveraging the power of large language models and browser automation, Gepetto can understand natural language task descriptions and execute them step by step.

Key Capabilities

Execute Tasks in Natural Language

One of Gepetto's core strengths is its ability to understand tasks described in plain language. No need to write complex scripts or learn specialized syntax - simply describe what you want to accomplish, and Gepetto will handle the rest.

# Task Name
description: "Website login/logout test."
tags: [smoketest, qa]
tools: [web, test]
author: "Laurent"
created: "2025-03-15"

Test:
  Visit ${HOSTNAME}.
  Navigate to the login page.
  Login with username ${USERNAME} and password ${PASSWORD}.
  Verify user is logged in and on the main dashboard.
  Click the logout button.
  Verify you are back to the login page.

Comprehensive Reporting

After completing a task, Gepetto provides detailed reports of its execution, including the status of each step, details about what was done, and any issues encountered. These reports can be output in JUnit XML format, making them compatible with CI/CD pipelines and testing frameworks.

MCP Integration

Building on the recent delivery of OpenGPA's MCP integration, Gepetto also supports the Model Context Protocol, allowing it to connect to third-party action providers. This opens up possibilities for integrating with various enterprise tools and services beyond just browser automation.

Use Cases

The primary use cases I had in mind were around QA and DevOps, which is one of the last area where I haven't used much AI yet. I think Gepetto will be particularly valuable for DevOps teams, QA departments, and system administrators who need to automate interactions with systems that lack proper APIs.

QA Automation

Gepetto executes "manual" QA processes described in natural language, adapting to interface changes through its AI-driven understanding. The login/logout example shown earlier demonstrates how easily you can verify critical user journeys without specialized testing frameworks.

Liveness Checks

Beyond simple ping tests, Gepetto simulates actual user behavior to ensure systems are functioning correctly. It navigates through user flows, interacts with forms, and verifies proper system responses - providing deeper insights than traditional monitoring tools.

Data Collection & Processing

Gepetto connects to web-only dashboards, extracts data, and transforms it into machine-readable formats. It can also process unstructured log files, monitor system logs for anomalies, and generate comprehensive reports by collecting information from multiple sources.

Getting Started

Getting started with Gepetto is straightforward. Installation is as simple as:

curl -s https://dist.gepetto.sh/releases/install.sh | bash

After installation, you'll need to set up your OpenAI API key in ~/.gepetto/application.properties. Then you can create your first project:

mkdir my-project
cd my-project
gepetto init

This will create a basic project structure with some example tasks. You can run your first task with:

gepetto run gepetto/tasks/hello.gpt

The Road Ahead

While Gepetto is already usable in its current form, there are several areas where I plan to enhance it further:

  1. Improved configuration management: Making it even easier to configure without requiring rebuilds
  2. Single executable packaging: Creating a self-contained executable for simpler deployment
  3. Expanded non-MCP tooling: Adding more built-in capabilities for server-side DevOps automation
  4. Enhanced reporting: More detailed and customizable reporting options
  5. Community-driven extensions: Supporting community contributions for specialized use cases

Join the Community

If Gepetto sounds like something that could help your workflow, I encourage you to try it out and share your experiences. You can:

Conclusion

Gepetto represents a step forward in making AI-powered automation accessible for everyday operational tasks. By combining the power of large language models with browser automation and a simple CLI interface, it bridges the gap between complex systems and the need for reliable automation.

Whether you're looking to automate QA processes, monitor system health, extract data from web interfaces, or streamline reporting workflows, Gepetto offers a flexible, powerful solution that adapts to your needs.

I'm excited to see how the community adopts and extends Gepetto for their own use cases. Feel free to reach out with questions, suggestions, or success stories!