Skip to main content

VibePod icon

VibePod

Docs PyPI conda-forge CI Docs Build License

VibePod is a unified CLI (vp) for running AI coding agents in isolated Docker or Podman 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 or Podman container
  • 🔀 Unified interface — one CLI for Claude, Gemini, Codex, Devstral/Vibe, Copilot, Auggie, Pi, Agy, Tau, Jcode, Freebuff, Qwen, dsh & more
  • 🧩 Skills — install reusable prompt recipes per-project or per-user with vp skills add
  • 🧱 Project overlays — commit a FROM-less Dockerfile fragment in .vibepod/overlay/ and VibePod auto-builds a cached, content-addressed image layer on top of the agent's base image — one clearly named image per project and agent (docs)
  • 📊 Local analytics dashboard — track usage and HTTP traffic per agent, plus token metrics
  • 🐑 Herdr awarevp run inside a herdr pane reports agent state automatically
  • ⚖️ 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 install — via pip, Homebrew, or conda-forge

Installation

VibePod is available on PyPI:

pip install vibepod

with Homebrew:

brew install vibepod/vibepod/vibepod

and on conda-forge for conda, mamba, and pixi users:

conda install -c conda-forge vibepod
mamba install -c conda-forge vibepod
pixi global install vibepod

Quick Start

vp run <agent>
# examples:
vp run claude
vp run codex
vp run vibe   # alias of devstral

Extra arguments after the agent are forwarded to the agent process. Use -- before agent flags so VibePod does not parse them as its own options:

vp run <agent> -- <agent-args>

IKWID Mode (--ikwid)

Use --ikwid to append each agent's auto-approval / permission-skip flag when supported.

Agent --ikwid appended args
claude --dangerously-skip-permissions
gemini --approval-mode=yolo
devstral (vibe) --auto-approve
copilot --yolo
codex --dangerously-bypass-approvals-and-sandbox
pi --approve
agy --dangerously-skip-permissions
opencode Not supported
auggie Not supported
tau Not supported
jcode Not supported
freebuff Not supported
qwen --approval-mode=yolo
dsh Not supported

VibePod CLI preview

Tool Thumbnails

Claude Code Google Gemini OpenAI Codex GitHub Copilot OpenCode Mistral Vibe Augment Auggie Pi Agent Antigravity CLI Tau Jcode Freebuff Qwen Code

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 (alias: vibe) -> vibepod/devstral:latest
  • auggie -> vibepod/auggie:latest
  • copilot -> vibepod/copilot:latest
  • codex -> vibepod/codex:latest
  • pi -> vibepod/pi:latest
  • agy -> vibepod/agy:latest
  • tau -> vibepod/tau:latest
  • jcode -> vibepod/jcode:latest
  • freebuff -> vibepod/freebuff:latest
  • qwen -> vibepod/qwen:latest
  • dsh -> vibepod/dsh: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_DEVSTRAL=vibepod/devstral:latest vp run vibe   # same agent/image as 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_IMAGE_PI=vibepod/pi:latest vp run pi
VP_IMAGE_AGY=vibepod/agy:latest vp run agy
VP_IMAGE_TAU=vibepod/tau:latest vp run tau
VP_IMAGE_JCODE=vibepod/jcode:latest vp run jcode
VP_IMAGE_FREEBUFF=vibepod/freebuff:latest vp run freebuff
VP_IMAGE_QWEN=vibepod/qwen:latest vp run qwen
VP_IMAGE_DSH=vibepod/dsh:latest vp run dsh
VP_DATASETTE_IMAGE=vibepod/datasette:latest vp logs start
VP_SKILLS_ENGINE_IMAGE=vibepod/skills-engine:latest vp skills list

License

MIT License - see LICENSE for 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.21.0.tar.gz (1.4 MB view details)

Uploaded Source

Built Distribution

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

vibepod-0.21.0-py3-none-any.whl (110.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vibepod-0.21.0.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.12.3

File hashes

Hashes for vibepod-0.21.0.tar.gz
Algorithm Hash digest
SHA256 228c68f0797fc1665ffc65d2811de2d65e45e8a2b46911b0e291fec511600935
MD5 2492b34074d63b1852ec71ce3ac84d21
BLAKE2b-256 c3677c0189913018c7bb61e159ae22899ae0eb7628e870cb9d7fe93f888c13dd

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for vibepod-0.21.0-py3-none-any.whl
Algorithm Hash digest
SHA256 44a73aec4f5b2560e18fbb3b597071ff360fa93c761295fddd1338d20758c3ff
MD5 65df8032f8ab1a20832a640ea2abd1f2
BLAKE2b-256 47a5e76fdb1057a608a6674c0b551fd249ce9fe0021c824d694396d11aaf540a

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.21.0 This release

2 files

0.20.1

2 files

0.20.0

2 files

0.19.0

2 files

0.18.0

2 files

0.17.0

2 files

0.16.0

2 files

0.15.2

2 files

0.15.1

2 files

0.15.0

2 files

0.14.0

2 files

0.13.0

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.1

2 files

0.9.0

2 files

0.8.2

2 files

0.8.1

2 files

0.8.0

2 files

0.7.0

2 files

0.6.0

2 files

0.5.1

2 files

0.5.0

2 files

0.4.0

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page