{"slug": "unified-cli-for-running-ai-coding-agents-in-isolated-docker-or-podman-containers", "title": "Unified CLI for running AI coding agents in isolated Docker or Podman containers", "summary": "VibePod released a unified CLI tool that runs AI coding agents in isolated Docker or Podman containers with zero configuration, supporting agents like Claude, Gemini, and Codex. The tool includes local metrics collection, an analytics dashboard, and privacy-first design, available via pip install.", "body_md": "VibePod is a unified CLI (`vp`\n\n) for running AI coding agents in isolated\nDocker or Podman containers — no required configuration, no setup. Just\n`vp run <agent>`\n\n. Includes built-in local metrics collection, HTTP traffic\ntracking, and an analytics dashboard to monitor and compare agents side-by-side.\n\n- ⚡\n**Zero config**— no setup required;`vp run <agent>`\n\njust works. Optional YAML for custom configuration - 🐳\n**Isolated agents**— each agent runs in its own Docker or Podman container - 🔀\n**Unified interface**— one CLI for Claude, Gemini, Codex, Devstral/Vibe, Copilot, Auggie, Pi, Agy & more - 🧩\n**Skills**— install reusable prompt recipes per-project or per-user with`vp skills add`\n\n- 📊\n**Local analytics dashboard**— track usage and HTTP traffic per agent, plus token metrics - ⚖️\n**Agent comparison**— benchmark multiple agents against each other in the dashboard - 🔒\n**Privacy-first**— all metrics collected and stored locally, never sent to the cloud - 📦\n**Simple install**—`pip install vibepod`\n\nVibePod is available on [PyPI](https://pypi.org/project/vibepod/):\n\n```\npip install vibepod\nvp run <agent>\n# examples:\nvp run claude\nvp run codex\nvp run vibe   # alias of devstral\n```\n\nExtra arguments after the agent are forwarded to the agent process. Use `--`\n\nbefore agent flags so VibePod does not parse them as its own options:\n\n```\nvp run <agent> -- <agent-args>\n```\n\nUse `--ikwid`\n\nto append each agent's auto-approval / permission-skip flag when supported.\n\n| Agent | `--ikwid` appended args |\n|---|---|\n`claude` |\n`--dangerously-skip-permissions` |\n`gemini` |\n`--approval-mode=yolo` |\n`devstral` (`vibe` ) |\n`--auto-approve` |\n`copilot` |\n`--yolo` |\n`codex` |\n`--dangerously-bypass-approvals-and-sandbox` |\n`pi` |\n`--approve` |\n`agy` |\n`--dangerously-skip-permissions` |\n`opencode` |\nNot supported |\n`auggie` |\nNot supported |\n\nThis repository contains an initial v1 implementation with:\n\n`vp run <agent>`\n\n`vp stop <agent|--all>`\n\n`vp list`\n\n`vp config init`\n\n`vp config show`\n\n`vp config path`\n\n`vp version`\n\nVibePod collects metrics locally while your agents run and serves them through a built-in dashboard.\n\n| Command | Description |\n|---|---|\n`vp logs start` |\nStart or resume dashboard for collected metrics |\n`vp logs stop` |\nStop the dashboard container |\n`vp logs status` |\nShow dashboard container status |\n\nThe 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.\n\nAll agent images are published under the [ vibepod namespace on Docker Hub](https://hub.docker.com/u/vibepod). Source Dockerfiles are in\n\n[VibePod/vibepod-agents](https://github.com/VibePod/vibepod-agents/tree/main/docker).\n\nCurrent defaults:\n\n`claude`\n\n->`vibepod/claude:latest`\n\n`gemini`\n\n->`vibepod/gemini:latest`\n\n`opencode`\n\n->`vibepod/opencode:latest`\n\n`devstral`\n\n(alias:`vibe`\n\n) ->`vibepod/devstral:latest`\n\n`auggie`\n\n->`vibepod/auggie:latest`\n\n`copilot`\n\n->`vibepod/copilot:latest`\n\n`codex`\n\n->`vibepod/codex:latest`\n\n`pi`\n\n->`vibepod/pi:latest`\n\n`agy`\n\n->`vibepod/agy:latest`\n\n`datasette`\n\n->`vibepod/datasette:latest`\n\n`proxy`\n\n->`vibepod/proxy:latest`\n\n([repo](https://github.com/VibePod/vibepod-proxy))\n\nYou can override any single image directly:\n\n```\nVP_IMAGE_CLAUDE=vibepod/claude:latest vp run claude\nVP_IMAGE_GEMINI=vibepod/gemini:latest vp run gemini\nVP_IMAGE_OPENCODE=vibepod/opencode:latest vp run opencode\nVP_IMAGE_DEVSTRAL=vibepod/devstral:latest vp run devstral\nVP_IMAGE_DEVSTRAL=vibepod/devstral:latest vp run vibe   # same agent/image as devstral\nVP_IMAGE_AUGGIE=vibepod/auggie:latest vp run auggie\nVP_IMAGE_COPILOT=vibepod/copilot:latest vp run copilot\nVP_IMAGE_CODEX=vibepod/codex:latest vp run codex\nVP_IMAGE_PI=vibepod/pi:latest vp run pi\nVP_IMAGE_AGY=vibepod/agy:latest vp run agy\nVP_DATASETTE_IMAGE=vibepod/datasette:latest vp logs start\nVP_SKILLS_ENGINE_IMAGE=vibepod/skills-engine:latest vp skills list\n```\n\nMIT License - see [LICENSE](/VibePod/vibepod-cli/blob/main/LICENSE) for details.", "url": "https://wpnews.pro/news/unified-cli-for-running-ai-coding-agents-in-isolated-docker-or-podman-containers", "canonical_source": "https://github.com/VibePod/vibepod-cli", "published_at": "2026-07-13 15:31:17+00:00", "updated_at": "2026-07-13 15:35:23.274145+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["VibePod", "Docker", "Podman", "Claude", "Gemini", "Codex", "PyPI", "Docker Hub"], "alternates": {"html": "https://wpnews.pro/news/unified-cli-for-running-ai-coding-agents-in-isolated-docker-or-podman-containers", "markdown": "https://wpnews.pro/news/unified-cli-for-running-ai-coding-agents-in-isolated-docker-or-podman-containers.md", "text": "https://wpnews.pro/news/unified-cli-for-running-ai-coding-agents-in-isolated-docker-or-podman-containers.txt", "jsonld": "https://wpnews.pro/news/unified-cli-for-running-ai-coding-agents-in-isolated-docker-or-podman-containers.jsonld"}}