Skip to main content

One CLI for containerized AI coding agents

Project description

VibePod

Docs PyPI CI Docs Build License

VibePod is a unified CLI (vp) for running AI coding agents in isolated Docker containers — no required configuration, no setup. Just vp run <agent>. Includes built-in local metrics collection, HTTP traffic tracking, and an analytics dashboard to monitor and compare agents side-by-side.

Features

  • Zero config — no setup required; vp run <agent> just works. Optional YAML for custom configuration
  • 🐳 Isolated agents — each agent runs in its own Docker container
  • 🔀 Unified interface — one CLI for Claude, Gemini, Codex, Devstral, Copilot, Auggie & more
  • 📊 Local analytics dashboard — track usage and HTTP traffic per agent, plus token metrics
  • ⚖️ Agent comparison — benchmark multiple agents against each other in the dashboard
  • 🔒 Privacy-first — all metrics collected and stored locally, never sent to the cloud
  • 📦 Simple installpip install vibepod

Installation

VibePod is available on PyPI:

pip install vibepod

Quick Start

vp run <agent>
# examples:
vp run claude
vp run codex

VibePod CLI preview

Current Status

This repository contains an initial v1 implementation with:

  • vp run <agent>
  • vp stop <agent|--all>
  • vp list
  • vp config init
  • vp config show
  • vp config path
  • vp version

Analytics & Dashboard

VibePod collects metrics locally while your agents run and serves them through a built-in dashboard.

VibePod Analytics Dashboard

Command Description
vp logs start Start or resume dashboard for collected metrics
vp logs stop Stop the dashboard container
vp logs status Show dashboard container status

The dashboard shows per-agent HTTP traffic, usage over time, and Claude token metrics. It also lets you compare agents side-by-side. All data stays on your machine.

Image Namespace

All agent images are published under the vibepod namespace on Docker Hub. Source Dockerfiles are in VibePod/vibepod-agents.

Current defaults:

  • claude -> vibepod/claude:latest
  • gemini -> vibepod/gemini:latest
  • opencode -> vibepod/opencode:latest
  • devstral -> vibepod/devstral:latest
  • auggie -> vibepod/auggie:latest
  • copilot -> vibepod/copilot:latest
  • codex -> vibepod/codex:latest
  • datasette -> vibepod/datasette:latest
  • proxy -> vibepod/proxy:latest (repo)

Overriding Images

You can override any single image directly:

VP_IMAGE_CLAUDE=vibepod/claude:latest vp run claude
VP_IMAGE_GEMINI=vibepod/gemini:latest vp run gemini
VP_IMAGE_OPENCODE=vibepod/opencode:latest vp run opencode
VP_IMAGE_DEVSTRAL=vibepod/devstral:latest vp run devstral
VP_IMAGE_AUGGIE=vibepod/auggie:latest vp run auggie
VP_IMAGE_COPILOT=vibepod/copilot:latest vp run copilot
VP_IMAGE_CODEX=vibepod/codex:latest vp run codex
VP_DATASETTE_IMAGE=vibepod/datasette:latest vp logs start

License

MIT License - see LICENSE for details.

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

vibepod-0.9.0.tar.gz (489.8 kB view details)

Uploaded Source

Built Distribution

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

vibepod-0.9.0-py3-none-any.whl (28.1 kB view details)

Uploaded Python 3

File details

Details for the file vibepod-0.9.0.tar.gz.

File metadata

  • Download URL: vibepod-0.9.0.tar.gz
  • Upload date:
  • Size: 489.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for vibepod-0.9.0.tar.gz
Algorithm Hash digest
SHA256 31c008133e1522705ebfc4f63bfe0989d897bbac8f5768a50fdca6811ea2fc4c
MD5 4b0b8e968092c6cd494029c3c4ec6027
BLAKE2b-256 6282dd6bbde40d72b6dad2effc5e1cc7917ff4666a2e65ebe09af9618b3a80a9

See more details on using hashes here.

File details

Details for the file vibepod-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: vibepod-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 28.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for vibepod-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f8c8be73a444a51f3e40491c15edbb8806a04f73c1d96d6c14c61976d332fe1b
MD5 7713d330f3fe435a3cbd437aefae95f9
BLAKE2b-256 624d4b4fdafd0bb34a0fdbda6478f5469e4f6c25569f2d4adae462c35d837411

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