Build Your First AI Team with Markus in 5 Minutes
Markus Team Build Your First AI Team with Markus in 5 Minutes
Deploy a full AI workforce on your own machine — zero config, one command, and you’re live.
Imagine having a team of AI agents that review your pull requests, scan your dependencies for vulnerabilities, generate daily news briefs, write documentation, and manage your social media content — all running locally on your laptop. No cloud dependency. No complex setup. No credit card required to start.
Welcome to Markus — the open-source platform that lets you deploy an AI team in under 5 minutes.
In this step-by-step tutorial, you’ll learn:
- ✅ Three ways to install Markus (curl one-liner, npm, Docker)
- ✅ How to access the Web UI at
http://localhost:8056 - ✅ How to configure LLM providers (Anthropic, OpenAI, Google, DeepSeek, MiniMax, SiliconFlow, OpenRouter, Z.AI, Ollama)
- ✅ The 5 quick-win scenarios you can set up in 30 minutes
- ✅ Essential CLI commands to manage your AI workforce
Let’s get started.
What Is Markus?
Markus is a self-hosted AI digital employee platform that lets you create, manage, and coordinate a team of AI agents — right from your terminal or browser.
Here’s the architecture at a glance:
┌──────────────────────────────────────────────────┐
│ Web UI (React + Vite + Tailwind) │
│ Dashboard · Chat · Project · Builder · Settings │
└──────────────────────┬───────────────────────────┘
│ REST + WebSocket
┌──────────────────────┴───────────────────────────┐
│ Org Manager (API Server) │
│ Auth · Governance · Projects · Reports │
└──────────────────────┬───────────────────────────┘
│
┌──────────────────────┴───────────────────────────┐
│ Agent Runtime (Core Engine) │
│ Agent · LLM Router · Tools · Memory · Heartbeat │
└──────────────────────────────────────────────────┘
The key ideas:
- Agent Roles — Each agent is either a Worker (executes tasks) or a Manager (coordinates the team)
spawn_subagent— Agents can spawn lightweight sub-agents to parallelize work (e.g., research 10 topics simultaneously)- Heartbeat — Agents work proactively on schedules, not just when you ask
- LLM Router — Automatic failover across Anthropic, OpenAI, Google, DeepSeek, MiniMax, SiliconFlow, OpenRouter, Z.AI, and local Ollama models
- Tulving Memory — Three-layer memory system (procedural, semantic, episodic) inspired by cognitive psychology
Now let’s get it running.
Deploy Your AI Team in 5 Minutes — Three Ways
Markus supports three installation methods. Choose the one that fits your workflow.
🚀 One-Click Install (curl) — Recommended for Everyone
This is the fastest way to get started. Open your terminal and run:
curl -fsSL https://markus.global/install.sh | bash
The script automatically:
- Detects your OS and architecture
- Checks Node.js version (requires ≥ 22.0.0)
- Installs the
@markus-global/clinpm package globally (or downloads standalone binary) - Creates the default config directory at
~/.markus/ - Runs the setup wizard and prints next steps
Once installation completes, start Markus:
markus start
That’s it. Your AI team is now running.
📦 npm Global Install — For Developers
If you already have a Node.js environment (≥ 22.0.0), you can install Markus directly via npm:
# Install the CLI globally
npm install -g @markus-global/cli
# Verify the installation
markus --version
# Expected output: v0.6.7
# Start the platform
markus start
This is ideal for developers who want tight control over the runtime and easy integration with existing workflows.
🐳 Docker Deploy — For Servers & Cloud Environments
For production deployments or running Markus on a server, Docker is the way to go.
Option A — Docker Compose (recommended):
cd deploy
docker compose up -d
The docker-compose.yml configures everything:
version: "3.8"
services:
markus:
image: markus-global/markus:latest
container_name: markus
ports:
- "8056:8056"
volumes:
- ~/.markus:/root/.markus
environment:
- NODE_ENV=production
- MARKUS_PORT=8056
restart: unless-stopped
Option B — Manual Docker command:
# Pull the latest image
docker pull markus-global/markus:latest
# Run the container
docker run -d \
--name markus \
-p 8056:8056 \
-v ~/.markus:/root/.markus \
--restart unless-stopped \
markus-global/markus:latest
This is the perfect docker AI workforce setup — a single container running your entire AI team, with persistent data and automatic restarts.
Access the Web UI and Login
Once markus start is running, open your browser and navigate to:
http://localhost:8056
You’ll see the Markus login screen. Use the default credentials:
| Field | Value |
|---|---|
admin@markus.local | |
| Password | markus123 |
After logging in, you’ll land on the dashboard where you can:
- 👁️ See your AI agents and their status
- 💬 Chat with agents directly
- 📋 Create and assign tasks
- ⚙️ Configure LLM providers
- 🤖 Build custom agent teams
- 📊 View activity logs and reports
⚠️ Important: These default credentials are for local development only. For any production or internet-accessible deployment, change them immediately.
Change Default Credentials
Use the markus model CLI command to configure your LLM provider, then set a strong password via markus admin settings:
markus model --provider anthropic --api-key sk-ant-xxxxxxxx --model claude-sonnet-4-20250514 --default
To change the default admin password, edit ~/.markus/markus.json and update the security.adminPassword field:
{
"security": {
"adminPassword": "YOUR_STRONG_PASSWORD_HERE"
}
}
After saving the file, restart Markus:
markus admin system emergency-stop
markus start
For production environments, consider these additional security measures:
- Use environment variables instead of plain-text passwords
- Deploy behind a reverse proxy with HTTPS (e.g., Caddy, Nginx)
- Use Cloudflare Tunnel or Tailscale for zero-trust remote access
- Set
NODE_ENV=productionfor stricter defaults
Configure Your LLM Providers
Markus needs at least one LLM provider to power its agents. The easiest way is using the CLI:
# Add and set as default
markus model --provider anthropic --api-key sk-ant-xxxxxxxx --default
# Add additional providers
markus model --provider openai --api-key sk-xxxxxxxx
markus model --provider deepseek --api-key sk-xxxxxxxx
markus model --provider google --api-key AIxxxxxxxx
You can also verify credentials at any time:
markus auth list # List all configured providers
markus auth validate # Validate all API keys
Supported Providers at a Glance
| Provider | Model Example | Best For |
|---|---|---|
| Anthropic | Claude Sonnet 4 | Complex reasoning, coding, safety |
| OpenAI | GPT-4o | General tasks, creative writing |
| Gemini 2.5 Pro | Long context, multimodal | |
| DeepSeek | deepseek-chat | Cost-effective general tasks |
| Ollama | llama3 (local) | Offline, privacy-sensitive work |
| MiniMax | MiniMax-M2.7 | Chinese language, cost-effective |
| SiliconFlow | Qwen/Qwen3.5-35B-A3B | Open-source models via API |
| OpenRouter | Multiple models | Unified access to 200+ models |
| Z.AI | GLM-5 series | Chinese enterprise LLM |
Automatic Failover — Zero-Downtime AI
One of Markus’s standout features is its built-in LLM router. When you configure multiple providers, Markus automatically:
- Routes requests to your primary provider by default
- Fails over to a backup provider if the primary errors out or times out
- Activates a circuit breaker — 2 consecutive failures → 5-minute cooldown → gradual recovery
This means your AI team keeps working even when one API provider is having issues. No manual intervention needed — true zero config AI setup.
Important Environment Variables
| Variable | Description | Default |
|---|---|---|
MARKUS_PORT | Web UI port | 8056 |
MARKUS_DATA_DIR | Data directory | ~/.markus |
NODE_ENV | Runtime mode | production |
MARKUS_DB_TYPE | Database type | sqlite |
MARKUS_DB_URL | PostgreSQL URL | — |
By default, Markus uses SQLite — zero configuration, automatic backups, data stored at ~/.markus/data.db. For production, you can switch to PostgreSQL.
5 Quick-Win Scenarios — Set Up in 30 Minutes
Once Markus is running and your LLM is configured, you can deploy these scenarios immediately. Each one takes 5–10 minutes to configure and delivers instant value:
| # | Scenario | Setup Time | Instant Benefit |
|---|---|---|---|
| 1 | PR Auto Review | 5 min | Every new PR gets automatic code review comments |
| 2 | Daily News Brief | 10 min | Personalized industry digest every morning |
| 3 | Code Docs Generation | 5 min | Docs auto-update when code changes |
| 4 | Dependency Scanning | 5 min | Daily vulnerability reports for your stack |
| 5 | Social Media Content | 10 min | Auto-generate and schedule posts for publishing |
Let’s take a closer look at each one.
1. 🔍 PR Auto Review (5 minutes)
Create a Code Reviewer agent that watches your GitHub repos. Every time a PR is opened, the agent:
- Reviews code style, logic errors, and security issues
- Posts inline comments directly on the PR
- Approves or requests changes based on configurable policies
Result: Code review wait time drops from hours to under 5 minutes.
2. 📰 Daily News Brief (10 minutes)
Set up a Researcher agent with a Heartbeat schedule. Every morning it:
- Scrapes your preferred news sources and RSS feeds
- Summarizes the top stories relevant to your industry
- Delivers a clean markdown brief to your inbox or Slack
Result: Wake up to a curated, personalized news digest every day.
3. 📝 Code Docs Generation (5 minutes)
Deploy a Docs Agent that monitors your codebase. When you push changes:
- It detects new functions, changed APIs, or updated modules
- Generates/updates corresponding documentation
- Commits the doc changes as a new PR
Result: Your documentation stays in sync with your code — automatically.
4. 🛡️ Dependency Scanning (5 minutes)
Configure a Security Agent with a daily Heartbeat that:
- Runs
npm audit,pip audit, or your language’s equivalent - Cross-references findings against known CVEs
- Generates a prioritized remediation report
Result: Zero-day vulnerabilities are caught within 24 hours — without you lifting a finger.
5. 📱 Social Media Content (10 minutes)
Set up a Content Agent that:
- Researches trending topics in your domain
- Drafts posts optimized for each platform (Twitter/X, LinkedIn, etc.)
- Generates an editorial calendar with scheduled posts
Result: Consistent social media presence with minimal human effort.
💡 Pro tip: You can create a Manager agent that orchestrates multiple scenarios simultaneously. For example, a “DevOps Manager” that combines dependency scanning, PR review, and daily reporting into a single autonomous workflow.
CLI Commands Cheat Sheet
Here are the essential commands to manage your install AI agent platform experience:
| Command | Description |
|---|---|
markus start | Start the Markus server |
markus admin system emergency-stop | Stop the Markus server |
markus admin system status | Check if Markus is running |
markus --version | Show installed version |
markus --help | Show all available commands |
markus admin system update | Update to the latest version |
Quick Troubleshooting
# Web UI not accessible? Check service status
markus admin system status
# Diagnose configuration and environment issues
markus doctor
markus doctor --fix # Auto-fix common problems
# Port 8056 already in use? Find the culprit
lsof -i :8056
# LLM not connecting? Verify your API keys
markus auth list
markus auth validate
# Check network connectivity
curl -I https://api.anthropic.com
# View runtime logs
cat ~/.markus/logs/*.log
Start Building Your AI Team Today
Here’s a quick recap of how fast you can go from zero to a running AI team:
| Step | Action | Time |
|---|---|---|
| 1️⃣ | Install Markus (curl one-liner) | 30 sec |
| 2️⃣ | Run markus start | 10 sec |
| 3️⃣ | Open http://localhost:8056 | 5 sec |
| 4️⃣ | Login with default credentials | 10 sec |
| 5️⃣ | Add your LLM API key | 60 sec |
| 6️⃣ | Deploy your first quick-win | 5 min |
| Total | ~6 min |
What You Can Do Next
- Build a custom agent team — Mix and match Worker and Manager agents for your specific use case
- Connect external platforms — Bridge agents to Slack, Telegram, WhatsApp, or Feishu
- Set up Heartbeat schedules — Make your agents work proactively on daily, hourly, or custom schedules
- Enable A2A communication — Watch your agents collaborate, delegate tasks, and discuss solutions autonomously
- Explore the Markus Hub — Discover pre-built agent templates from the community
The Bottom Line
You don’t need a cloud subscription, a dedicated server, or a team of engineers to deploy an AI team. Markus runs on your laptop, uses your own LLM API keys, and gives you full control over your data.
One curl command. One markus start. And you have an AI workforce ready to review code, write docs, scan dependencies, brief you on the news, and manage your content — all within 5 minutes.
Ready to build your first AI team?
# Copy-paste this — it's all you need
curl -fsSL https://markus.global/install.sh | bash
markus start
Then open http://localhost:8056 and log in with admin@markus.local / markus123.
Your AI team is waiting. 🚀
Markus is open-source software. Learn more at markus.global. Follow the GitHub project for updates, feature requests, and community contributions.