Free forever - MIT + GPL v3

Run it yourself. Own everything.

The full unbottled.ai stack on your own server. Every model, every tool, every feature - plus Thea as your AI admin who monitors and self-heals your instance 24/7.

Your AI + Your Tools

Tell it what you need. It builds it. You own it.

Describe a tool you want - a digest, a monitor, a deploy script. The AI builds it, wires it up, and it's instantly available on your dashboard. SSH into your servers, run autonomous background tasks, bring your own API keys. Your instance, your stack, your rules.

Run your scheduled heartbeat. Check system health via your tools, review pending tasks, and report anything that needs human attention.
Claude Opus 5.5
Running scheduled heartbeat. Pulling my task queue first to see what ran overnight.
Daily digest email has failed 3 times since 06:00. DB backup and memory archival are fine. Checking memory for email fix instructions before I touch anything.
Found the playbook. Updating the SMTP credentials and triggering a rebuild so the fix goes live immediately.
Found it. Daily email digest had been failing since 06:00 - SMTP auth expired. Your memory had the fix: rotate the app password. Done and deployed. Three queued emails will go out on the next cron cycle. Everything else looks healthy.
0.86 Credits
Your server, your rules

Own the stack. Own the filter.

No account at someone else's company. Your Postgres, your keys, your logs. You pick the models and you pick how much filtering sits between you and them.

Your data stays put

Threads, memories and files live in your own Postgres and storage path. Nothing phones home.

Your filtering level

Mainstream, open or uncensored models. You decide per skill, per thread, per user. No policy team in the loop.

Your keys

Bring OpenRouter, a local model or Claude Code. Spend goes to your provider, not through ours.

Everything the cloud has. Plus more.

189 models - use your own API keys, pay providers directly

Persistent memory, incognito mode, 4 privacy levels

Live web search + full page fetch

Thea: AI admin who monitors, self-heals, and builds tools on command

Admin dashboard, DB studio, cron dashboard, health monitoring

SSH, browser automation, email client - Thea's tools

Local instance sync with unbottled.ai cloud (beta)

GitHub

Free forever - MIT + GPL v3, no vendor lock-in

Your Power Dashboard

Tell the AI what you need. It builds it.

Every tool Thea builds becomes instantly available on your dashboard - as a web UI, CLI command, AI tool, and scheduled job. You describe what you want. The AI builds it. It's live in seconds.

Describe it. Get it.
Tell Thea you need a tool - a HackerNews digest, a metrics endpoint, a deploy script. She builds it, wires it up, and it's immediately available on every platform. No manual setup.
Instantly on every platform
Every tool your AI builds gets a full interactive UI, CLI command, AI-callable tool, MCP server, and cron job. One definition. You never think about platforms - they just appear.
Your dashboard, your tools
BYO API keys. SSH into your servers. Run autonomous background tasks on a heartbeat. Your self-hosted instance grows with you - every new tool is yours permanently, no cloud dependency.

Quickstart

Three commands. Up in 5 minutes.

1

Clone and install

Get the code and install dependencies.

terminal
git clone https://github.com/techfreaque/next-vibe
cd next-vibe
bun install
2

Start the dev server

Starts PostgreSQL in Docker, runs migrations, seeds data, and opens at localhost:3000.

terminal
vibe dev
No Docker? Set DATABASE_URL="file:///absolute/path/data.db" in .env and vibe dev runs on embedded PGlite instead.
3

Log in and configure

Click "Login as Admin" on the login page - no password needed in dev. You'll be taken to the settings page where a wizard walks you through API key setup and admin password.

4

Pick an AI provider

Option A: Claude Code (recommended)

No API key needed. Uses your existing Claude subscription. Select any claude-code-* model in the model picker.

terminal
# Claude Code - no API key needed
# Requires Claude subscription + Claude Code CLI
claude login   # sign in once
# Then select any claude-code-* model in the model picker

Option B: OpenRouter

Every OpenRouter model, pay per use. Get your key at openrouter.ai/keys.

terminal
# OpenRouter - every model, pay per use
# Paste your key in Settings → API Keys
# Get yours at openrouter.ai/keys

Deploying to a VPS?

Works on any Linux VPS. Point nginx or Caddy at port 3000 - done.

Docker setup

terminal
bash scripts/install-docker.sh
vibe build && vibe start
# Point Caddy / nginx at port 3000

Kubernetes

Includes templates for web, task workers, Redis, ingress, and namespace.
terminal
# Edit k8s/secret.yaml with your env vars
kubectl apply -k k8s/
Connect your local machine (beta) Thea can route tasks to Claude Code on your dev machine. Go to Admin → Remote Connections in the dashboard to add your local instance URL. Memories and tasks sync every 60 seconds - no port forwarding, no VPN.

What it takes

Bun, Docker and a handful of env vars. That is the whole checklist for a private instance.

Minimum config

.env
# .env - the minimum for a private instance
JWT_SECRET_KEY="<openssl rand -hex 32>"
VIBE_ADMIN_USER_EMAIL="you@example.com"
VIBE_ADMIN_USER_PASSWORD="<strong password>"
DATABASE_URL="postgres://postgres:postgres@localhost:5432/postgres"
NEXT_PUBLIC_APP_URL="https://chat.example.com"
NEXT_PUBLIC_VIBE_MODE="agent"   # personal instance: no auth wall, no payments

Production on a VPS

terminal
# production: Postgres + app image, one command
bash scripts/install-docker.sh
# = docker compose -f docker-compose.prod.yml
#   builds postgres (pgvector), pulls the app image, restarts

# update later, zero downtime
vibe rebuild

Three instances, three jobs

One codebase runs as separate instances. Same code, different database and role. This is how we run our own.

Atlas

The dev instance. Hot reload, throwaway database. Where code gets written.

Hermes

Your daily driver. Local preview on its own Postgres. This is the one you live in.

Thea

The cloud instance on your VPS. Always on, runs your crons, takes tasks from the other two.
terminal
vibe dev                    # Atlas  - coding instance, hot reload
vibe --hermes dev           # Hermes - your daily driver, own database
vibe --hermes --remote ...  # target a connected remote instance
Instances connect to each other. Threads and tasks sync between your laptop and your server.

Same framework, different product

next-vibe-headunit is a car-PC fork. Media, navigation, climate, Bluetooth and radio are all endpoints, and each one is also a CLI command and an AI tool. Different product, same three files.

Need help setting up?

We can help with deployment, custom integrations, and ongoing development support.