One registry for every endpoint
Every agent has its own way of configuring a custom endpoint, and switching
an agent to OpenRouter or a local Ollama used to mean editing that agent's config
by hand. vp provider add asks for the protocol (OpenAI Chat
Completions, OpenAI Responses, or Anthropic Messages), the base URL, the
authentication and the models, and discovers the model list from the endpoint
when it offers one:
vp provider add
vp provider list
vp provider models my-provider
vp provider refresh my-provider
Definitions are global across credential profiles and live under
~/.vibepod/providers/. A key can be referenced from an environment
variable, or stored with owner-only permissions after you confirm it. Local servers
can use no authentication at all. Discovery shows where it sends requests, verifies
TLS, refuses redirects, and asks before sending a key over plain HTTP.
Routing an agent for one launch
--provider routes a single launch through the provider. VibePod
writes a private, temporary configuration for the agent and never touches the
agent's own saved provider settings:
vp run pi --provider openrouter
vp run pi --profile work --provider local --provider hosted
vp run codex --provider responses-endpoint
vp run claude --provider anthropic-endpoint
vp task create qwen "fix the failing test" --provider local
Seven agents are supported: claude, pi,
codex, qwen, tau, jcode and
opencode. Pi, Tau, Jcode and OpenCode accept several providers at
once and list their models in the agent's own model picker. Claude, Codex and Qwen
use one provider and its saved default model. An explicit --model
passed to the agent wins over that default. Each agent speaks only some of the
protocols. Codex, for example, needs the Responses API. The
routing table lists the
details.
Share a provider, or start from a template
vp provider export writes a definition without any credential:
protocol, URL, authentication mode, models and model settings (context window,
output limit, reasoning levels). vp provider import reads one back
from a local path or an https:// URL. A team can commit its internal
gateway once, and a vendor can publish one file per endpoint.
To skip the wizard entirely, the new VibePod/vibepod-providers repository collects credential-free templates for hosted APIs such as OpenRouter, DeepSeek, Groq and Mistral. Their model lists and settings are synced from models.dev. It also has templates for local servers: Ollama, LM Studio, llama.cpp, vLLM and Lemonade. Import one by its raw URL:
vp provider import https://raw.githubusercontent.com/VibePod/vibepod-providers/main/providers/cloud/openrouter.toml
vp provider import https://raw.githubusercontent.com/VibePod/vibepod-providers/main/providers/local/ollama.toml
Hosted templates reference the vendor's usual API key variable, such as
OPENROUTER_API_KEY, so export it before launching. Local templates
ship without models; run vp provider refresh NAME once the server is
up. Missing templates and fixes are welcome as pull requests.
Mount what the agent needs
Only the workspace and the agent's config directory were mounted before. Now
agents.<agent>.volumes adds host paths or Docker named volumes
with the familiar docker run -v syntax, for both vp run
and vp task:
agents:
claude:
volumes:
- "~/datasets:/datasets:ro"
- "pip-cache:/root/.cache/pip"
vp run -v/--volume adds mounts for a single session. Missing host
paths are rejected instead of being created as root-owned directories, and
VibePod's own mount points are protected. A committed project config can mount any
path your user can read, so review the volumes of a project you did
not write before you run an agent in it.
Upgrading
Nothing to migrate by hand. Agents without --provider behave
exactly as before.
python -m pip install --upgrade vibepod
Release details
- New
vp providercommand group:add,list,edit,models,refresh,export,import,remove. It covers OpenAI Chat Completions, OpenAI Responses and Anthropic Messages, with model discovery and per-model settings. vp run --providerforclaude,pi,codex,qwen,tau,jcodeandopencode, with a temporary per-launch configuration.vp task create --providerworks for all of them except Pi and OpenCode, which have no headless mode in VibePod.vp listshows the providers injected into running agents.- Provider templates in VibePod/vibepod-providers, importable by URL.
- Model discovery and provider file fetches send a VibePod User-Agent, so endpoints behind Cloudflare, such as Groq, no longer answer with 403.
- Custom mounts through
agents.<agent>.volumesandvp run -v/--volume. - New
vp skills cache clearremoves cached git clones and npm packages. Installed skills keep working. - A "Built with VibePod" shields.io badge for your README.