Back to Blog

Build Your First AI Team with Markus in 5 Minutes

Markus Team Markus Team
9 min read

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.

This is the fastest way to get started. Open your terminal and run:

curl -fsSL https://markus.global/install.sh | bash

The script automatically:

  1. Detects your OS and architecture
  2. Checks Node.js version (requires ≥ 22.0.0)
  3. Installs the @markus-global/cli npm package globally (or downloads standalone binary)
  4. Creates the default config directory at ~/.markus/
  5. 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:

FieldValue
Emailadmin@markus.local
Passwordmarkus123

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=production for 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

ProviderModel ExampleBest For
AnthropicClaude Sonnet 4Complex reasoning, coding, safety
OpenAIGPT-4oGeneral tasks, creative writing
GoogleGemini 2.5 ProLong context, multimodal
DeepSeekdeepseek-chatCost-effective general tasks
Ollamallama3 (local)Offline, privacy-sensitive work
MiniMaxMiniMax-M2.7Chinese language, cost-effective
SiliconFlowQwen/Qwen3.5-35B-A3BOpen-source models via API
OpenRouterMultiple modelsUnified access to 200+ models
Z.AIGLM-5 seriesChinese 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:

  1. Routes requests to your primary provider by default
  2. Fails over to a backup provider if the primary errors out or times out
  3. 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

VariableDescriptionDefault
MARKUS_PORTWeb UI port8056
MARKUS_DATA_DIRData directory~/.markus
NODE_ENVRuntime modeproduction
MARKUS_DB_TYPEDatabase typesqlite
MARKUS_DB_URLPostgreSQL 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:

#ScenarioSetup TimeInstant Benefit
1PR Auto Review5 minEvery new PR gets automatic code review comments
2Daily News Brief10 minPersonalized industry digest every morning
3Code Docs Generation5 minDocs auto-update when code changes
4Dependency Scanning5 minDaily vulnerability reports for your stack
5Social Media Content10 minAuto-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:

CommandDescription
markus startStart the Markus server
markus admin system emergency-stopStop the Markus server
markus admin system statusCheck if Markus is running
markus --versionShow installed version
markus --helpShow all available commands
markus admin system updateUpdate 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:

StepActionTime
1️⃣Install Markus (curl one-liner)30 sec
2️⃣Run markus start10 sec
3️⃣Open http://localhost:80565 sec
4️⃣Login with default credentials10 sec
5️⃣Add your LLM API key60 sec
6️⃣Deploy your first quick-win5 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.

On this page

Share this post