Self-hosted AI operations platform. Build and manage Claude-powered agent teams through conversation. Deploy on your own VPS in one command.
AgentPlayground is an open-source, self-hosted platform for creating and managing AI agent teams. You own the infrastructure, your data never leaves your server, and you can run everything locally with Ollama — no cloud API required.
Core idea: every repeated workflow becomes a permanent skill. Chat with Claude → it creates agent teams → teams run tasks → tasks become reusable tools.
| Feature | Description |
|---|---|
| Agent Teams | Organize agents into named teams with individual system prompts, models, and permissions |
| Tool-Use Chat | Stream Claude with direct access to your database — create tasks, query teams, generate tools mid-conversation |
| Task Scheduling | One-off tasks and recurring cron jobs per team, with a calendar UI |
| Agent Lab | Live playground for testing agent prompts, with full run history |
| Tools Catalog | Teams accumulate Skills, CLI Functions, and logged Improvements over time |
| File Manager | Upload, browse, and vector-search files with Ollama embeddings |
| Dashboard | Configurable widgets — stats, activity feed, calendar, optimization log |
| Auth & Roles | NextAuth v5 · Four roles: admin, builder, user, viewer |
| Local LLM | Ships with Ollama — auto-pulls qwen2.5:3b and qwen2.5:7b on first start |
| Docker Deploy | One command spins up the full stack on any Linux VPS |
| Layer | Technology |
|---|---|
| Framework | Next.js 15 (App Router) |
| Database | PostgreSQL 16 + pgvector |
| ORM | Prisma 7 |
| AI | Anthropic Claude SDK + Ollama |
| Auth | NextAuth v5 |
| Styling | Tailwind CSS v4 |
| Deployment | Docker Compose + Traefik (SSL) |
| Automation | n8n (bundled) |
Requirements: Node.js 20+, Docker
# 1. Clone
git clone https://github.com/augustom1/agentplayground-public.git
cd agentplayground-public
# 2. Start the database
docker compose -f docker-compose.dev.yml up -d
# 3. Set up environment
cp .env.example .env.local
# Edit .env.local — at minimum set AUTH_SECRET and ANTHROPIC_API_KEY
# 4. Install and migrate
npm install
npx prisma db push
# 5. Start dev server
npm run devOpen http://localhost:3000/setup — the app will redirect there automatically on first run to create your admin account.
npm run seed:teamsSeeds five ready-to-use teams: Dev Core, DevOps & Infrastructure, Product & Design, Business & Growth, and Command Center (coordinator that routes to all others).
Deploy to any Ubuntu 22+ VPS with a single script:
# SSH into your VPS, then:
git clone https://github.com/augustom1/agentplayground-public.git /opt/agentplayground
cd /opt/agentplayground
# Copy and edit the env file
cp .env.example .env.local
nano .env.local
# Generate secrets
openssl rand -hex 32 # use for AUTH_SECRET, CRON_SECRET, N8N_ENCRYPTION_KEY
# Bootstrap the full stack
bash setup.shDNS: point @ and * A records to your VPS IP before running.
After deploy, services are available at:
| URL | Service |
|---|---|
https://app.DOMAIN |
Agent Dashboard |
https://n8n.DOMAIN |
n8n workflow automation |
https://files.DOMAIN |
FileBrowser |
https://manage.DOMAIN |
Portainer |
See .env.example for the full list with descriptions.
Minimum required:
DATABASE_URL="postgresql://user:pass@localhost:5432/agentdb"
AUTH_SECRET="<openssl rand -hex 32>"
CRON_SECRET="<openssl rand -hex 32>"
NEXTAUTH_URL="http://localhost:3000"
ANTHROPIC_API_KEY="sk-ant-..." # optional if using Ollama onlynpm run dev # Dev server at localhost:3000
npm run build # Production build
npm run test # Vitest test suite
npm run lint # ESLint
npx prisma studio # DB browser at localhost:5555
npx prisma db push # Push schema changesapp/
(app)/ # Authenticated app shell
chat/ # Streaming Claude chat with tool use
dashboard/ # Configurable widget dashboard
agent-lab/ # Agent playground + team management
schedule/ # Calendar view for tasks and cron jobs
files/ # File manager with vector search
tools/ # Tools and skills catalog
settings/ # API keys and app config
users/ # User management (admin only)
(auth)/
login/ # Credentials login
setup/ # First-run admin setup
api/ # All REST API routes
lib/
chat-tools.ts # 20 Claude tool definitions
db-agent.ts # Permission-gated database access layer
agent-permissions.ts
ai-providers.ts # Anthropic + OpenAI + Ollama configs
prisma.ts # Singleton Prisma client
components/ # Shared UI components
prisma/
schema.prisma # Database schema
scripts/
seed-teams.ts # Seeds default agent teams
Contributions are welcome. Open an issue to discuss what you'd like to change, then submit a PR.
- Fork the repo
- Create a feature branch (
git checkout -b feature/your-feature) - Commit your changes
- Open a pull request