<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tutorials on Intellectual Guides</title><link>https://ckw19810413.github.io/en/categories/tutorials/</link><description>Recent content in Tutorials on Intellectual Guides</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Mon, 27 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ckw19810413.github.io/en/categories/tutorials/index.xml" rel="self" type="application/rss+xml"/><item><title>Local AI Infrastructure Setup Guide: From Zero to vLLM + ComfyUI</title><link>https://ckw19810413.github.io/en/blog/local-ai-infrastructure-guide/</link><pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate><guid>https://ckw19810413.github.io/en/blog/local-ai-infrastructure-guide/</guid><description>&lt;h2 id="why-build-local-ai-infrastructure"&gt;Why Build Local AI Infrastructure?
&lt;/h2&gt;&lt;p&gt;In 2026, AI tools have become essential infrastructure for developers, creators, and enterprises. But most people still rely on cloud APIs — paying per call, risking data privacy, and hitting rate limits.&lt;/p&gt;
&lt;p&gt;Local AI infrastructure gives you three things: &lt;strong&gt;full control, unlimited usage, and zero marginal cost&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Once set up, you can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use LLMs without limits, no API fees&lt;/li&gt;
&lt;li&gt;Process sensitive data without leaving your machine&lt;/li&gt;
&lt;li&gt;Run multiple services simultaneously, no rate limits&lt;/li&gt;
&lt;li&gt;Integrate with frameworks like Cowork MCP for true multi-agent systems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This guide assumes you have a machine with a GPU (DGX GB10, RTX 4090, or better recommended). I&amp;rsquo;ll walk you through building a complete local AI environment from scratch.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you&amp;rsquo;ll learn:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Install and configure local LLM serving (vLLM)&lt;/li&gt;
&lt;li&gt;Deploy ComfyUI for image generation&lt;/li&gt;
&lt;li&gt;Manage GPU memory and service startup order&lt;/li&gt;
&lt;li&gt;Automate service management (systemd)&lt;/li&gt;
&lt;li&gt;Integrate with Cowork MCP for multi-agent AI teams&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s get started.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites
&lt;/h2&gt;&lt;p&gt;Before we begin, make sure you have:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Check Command&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ubuntu 22.04+ or Arch&lt;/td&gt;
&lt;td&gt;&lt;code&gt;uname -a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GPU&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;NVIDIA RTX 3090+/4090/GB10&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nvidia-smi&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CUDA&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 12.4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nvcc --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 24.0&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 20&lt;/td&gt;
&lt;td&gt;&lt;code&gt;node --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 3.10&lt;/td&gt;
&lt;td&gt;&lt;code&gt;python3 --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If your GPU has less than 24GB memory, consider closing unnecessary GUI apps or services before starting.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-1-install-docker-and-nvidia-container-toolkit"&gt;Step 1: Install Docker and NVIDIA Container Toolkit
&lt;/h2&gt;&lt;p&gt;Docker is the recommended way to deploy local AI services because it isolates dependencies, avoids version conflicts, and prevents system pollution.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install Docker&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y docker.io docker-compose-v2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install NVIDIA Container Toolkit (enables GPU access in Docker)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;distribution&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;. /etc/os-release;echo $ID$VERSION_ID&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed &lt;span style="color:#e6db74"&gt;&amp;#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&amp;#39;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y nvidia-container-toolkit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo nvidia-ctk runtime configure --runtime&lt;span style="color:#f92672"&gt;=&lt;/span&gt;docker
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Verify GPU availability:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you see GPU info and memory usage, your environment is correctly configured.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-2-deploy-vllm-local-language-model"&gt;Step 2: Deploy vLLM Local Language Model
&lt;/h2&gt;&lt;p&gt;vLLM is currently the most efficient local LLM inference framework, supporting multiple model formats (GGUF, GPTQ, AWQ).&lt;/p&gt;
&lt;h3 id="21-deploy-with-docker"&gt;2.1 Deploy with Docker
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --name vllm-server &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --gpus all &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p 8000:8000 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v ~/.cache/huggingface:/root/.cache/huggingface &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; vllm/vllm-openai:latest &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --model &lt;span style="color:#e6db74"&gt;&amp;#34;nvidia/Llama-3.1-Nemotron-70B-Instruct&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --gpu-memory-utilization 0.9 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --max-model-len &lt;span style="color:#ae81ff"&gt;8192&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;Parameter explanation:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--model&lt;/code&gt;: The model to deploy (replace with any HuggingFace model)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--gpu-memory-utilization&lt;/code&gt;: Ratio of GPU memory to use (0.9 means 90%)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--max-model-len&lt;/code&gt;: Maximum context length&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If your GPU has less than 80GB memory, start with smaller models (7B or 13B) before trying larger ones.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="22-test-the-api-endpoint"&gt;2.2 Test the API Endpoint
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -X POST http://localhost:8000/v1/completions &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -d &lt;span style="color:#e6db74"&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;model&amp;#34;: &amp;#34;nvidia/Llama-3.1-Nemotron-70B-Instruct&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;prompt&amp;#34;: &amp;#34;Explain what a multi-agent AI system is&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;max_tokens&amp;#34;: 200
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; }&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;If you receive a response, vLLM is successfully deployed.&lt;/p&gt;
&lt;h3 id="23-setup-as-system-service-auto-start"&gt;2.3 Setup as System Service (Auto-start)
&lt;/h3&gt;&lt;p&gt;Create a systemd service file:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo tee /etc/systemd/system/vllm.service &lt;span style="color:#e6db74"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Unit]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Description=vLLM Local LLM Server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;After=docker.service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Requires=docker.service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Service]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Type=oneshot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;RemainAfterExit=yes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ExecStart=/usr/bin/docker start vllm-server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ExecStop=/usr/bin/docker stop vllm-server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Install]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;WantedBy=multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Enable and start the service:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable vllm.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start vllm.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="step-3-deploy-comfyui-image-generation"&gt;Step 3: Deploy ComfyUI Image Generation
&lt;/h2&gt;&lt;p&gt;ComfyUI is the most powerful local image generation tool, supporting Flux, Stable Diffusion, LTX, and various other models.&lt;/p&gt;
&lt;h3 id="31-deploy-with-docker"&gt;3.1 Deploy with Docker
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --name comfyui &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --gpus all &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p 8188:8188 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v ~/.cache/huggingface:/root/.cache/huggingface &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v ~/comfyui-output:/output &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ghcr.io/ai-forest/comfyui:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This starts ComfyUI at &lt;code&gt;http://localhost:8188&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id="32-manual-installation-advanced-option"&gt;3.2 Manual Installation (Advanced Option)
&lt;/h3&gt;&lt;p&gt;If you need more control, you can install manually:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Clone ComfyUI repository&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ~/comfyui
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/comfyanonymous/ComfyUI.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ComfyUI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install -r requirements.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install custom nodes (optional)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/Fannovel16/ComfyUI-Frame-Interpolation.git custom_nodes/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/laksjdjoy/deforum-comfy.git custom_nodes/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Start the service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python main.py --listen 0.0.0.0 --port &lt;span style="color:#ae81ff"&gt;8188&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="33-download-common-models"&gt;3.3 Download Common Models
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Use HuggingFace CLI to download models&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install huggingface_hub
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 --local-dir ~/models/sdxl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;huggingface-cli download stabilityai/stable-diffusion-3.5-large --local-dir ~/models/sd3.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="step-4-gpu-memory-management-strategies"&gt;Step 4: GPU Memory Management Strategies
&lt;/h2&gt;&lt;p&gt;When running AI services locally, GPU memory is the biggest bottleneck. Here are some battle-tested practices:&lt;/p&gt;
&lt;h3 id="41-check-available-memory"&gt;4.1 Check Available Memory
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;free -h
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nvidia-smi --query-gpu&lt;span style="color:#f92672"&gt;=&lt;/span&gt;memory.used,memory.free,temperature.gpu --format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="42-recommended-service-startup-order"&gt;4.2 Recommended Service Startup Order
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Start vLLM first&lt;/strong&gt; (language models typically have fixed memory requirements)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Start ComfyUI second&lt;/strong&gt; (image generation can adjust memory usage dynamically)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Close unnecessary GUI apps&lt;/strong&gt; (browsers, Discord, etc.)&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="43-memory-monitoring-script"&gt;4.3 Memory Monitoring Script
&lt;/h3&gt;&lt;p&gt;Create a simple monitoring script:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# monitor-gpu.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; true; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;=== &lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt; ===&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nvidia-smi --query-gpu&lt;span style="color:#f92672"&gt;=&lt;/span&gt;memory.used,memory.free,temperature.gpu --format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docker ps --filter &lt;span style="color:#e6db74"&gt;&amp;#34;name=vllm\|name=comfyui&amp;#34;&lt;/span&gt; --format &lt;span style="color:#e6db74"&gt;&amp;#34;table {{.Names}}\t{{.Status}}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sleep &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="step-5-integrate-cowork-mcp-multi-agent-framework"&gt;Step 5: Integrate Cowork MCP Multi-Agent Framework
&lt;/h2&gt;&lt;p&gt;Once your local AI infrastructure is ready, connect it to Cowork MCP to build multi-agent systems.&lt;/p&gt;
&lt;h3 id="51-register-vllm-as-a-brain"&gt;5.1 Register vLLM as a Brain
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# If using Hermes Agent&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hermes register-cowork
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Or manually set up MCP endpoints&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# In your Agent config file:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;cowork&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://localhost:6868/mcp&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;transport&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;streamable-http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;}&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;vllm&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://localhost:8000/v1&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;transport&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;streamable-http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="52-real-application-local-ai-content-pipeline"&gt;5.2 Real Application: Local AI Content Pipeline
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;Local vLLM (Content Generation) → ComfyUI (Image Generation) → ffmpeg (Post-processing)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Every step of this pipeline can be coordinated by different AI agents:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Research Agent&lt;/strong&gt;: Use vLLM to generate content outlines&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Writing Agent&lt;/strong&gt;: Use vLLM to expand into full articles&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Image Agent&lt;/strong&gt;: Use ComfyUI to generate corresponding illustrations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Integration Agent&lt;/strong&gt;: Combine content and images into final output&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="step-6-automation-and-backup"&gt;Step 6: Automation and Backup
&lt;/h2&gt;&lt;h3 id="61-container-backup"&gt;6.1 Container Backup
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Backup ComfyUI container state&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker commit comfyui comfyui-backup:&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Export image&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker save comfyui:latest | gzip &amp;gt; ~/backups/comfyui-&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="62-model-backup"&gt;6.2 Model Backup
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Regularly backup HuggingFace cache&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rsync -avh ~/.cache/huggingface ~/backups/huggingface-cache/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Or use rclone to backup to cloud&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rclone sync ~/.cache/huggingface remote:backup-huggingface --progress
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="63-health-check-script"&gt;6.3 Health Check Script
&lt;/h3&gt;&lt;p&gt;Create health check cron jobs:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Check service status every 5 minutes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;*/5 * * * * curl -f http://localhost:8000/v1/models &lt;span style="color:#f92672"&gt;||&lt;/span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;vLLM is down at &lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; | mail -s &lt;span style="color:#e6db74"&gt;&amp;#34;vLLM Alert&amp;#34;&lt;/span&gt; admin@example.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="troubleshooting"&gt;Troubleshooting
&lt;/h2&gt;&lt;h3 id="q1-docker-cannot-use-gpu"&gt;Q1: Docker Cannot Use GPU
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Check if NVIDIA Container Toolkit is installed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nvidia-ctk runtime verify
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Restart Docker service&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="q2-gpu-memory-insufficient"&gt;Q2: GPU Memory Insufficient
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Reduce vLLM memory utilization&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Add to docker run command:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--gpu-memory-utilization 0.7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Or stop unnecessary services&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl stop bluetooth
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="q3-comfyui-fails-to-start"&gt;Q3: ComfyUI Fails to Start
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Check Docker logs&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker logs comfyui
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Try restarting&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker restart comfyui
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="q4-slow-model-downloads"&gt;Q4: Slow Model Downloads
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Use HuggingFace mirror (for users in mainland China)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export HF_ENDPOINT&lt;span style="color:#f92672"&gt;=&lt;/span&gt;https://hf-mirror.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="whats-next"&gt;What&amp;rsquo;s Next
&lt;/h2&gt;&lt;p&gt;You now have a complete local AI infrastructure:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Today:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Confirm vLLM and ComfyUI are running&lt;/li&gt;
&lt;li&gt;Test API endpoints to verify content and image generation work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;This Week:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Set up systemd services for auto-start on boot&lt;/li&gt;
&lt;li&gt;Create backup and monitoring mechanisms&lt;/li&gt;
&lt;li&gt;Connect at least one LLM backend to Cowork MCP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;This Month:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explore the &lt;a class="link" href="https://github.com/slashman413/cowork" target="_blank" rel="noopener"
&gt;Cowork MCP framework&lt;/a&gt; for more AI agent teams&lt;/li&gt;
&lt;li&gt;Experiment with different models to find the best configuration for your needs&lt;/li&gt;
&lt;li&gt;Build your own AI content production pipeline&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="faq"&gt;FAQ
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q: What level of GPU do I need to run these services?&lt;/strong&gt;
A: At least 24GB memory recommended (RTX 3090/4090). If memory is smaller, you can run smaller models (7B-13B) or use Docker memory limits.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: Can I run this on a machine without GPU?&lt;/strong&gt;
A: Yes, but it will be slow. CPU inference is possible, but not practical for large models (70B+).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: How do I update models?&lt;/strong&gt;
A: Use HuggingFace CLI: &lt;code&gt;huggingface-cli download &amp;lt;model-name&amp;gt; --local-dir &amp;lt;path&amp;gt;&lt;/code&gt;. Docker containers will automatically use updated local models.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: What&amp;rsquo;s the difference between vLLM and Ollama?&lt;/strong&gt;
A: vLLM is optimized for high-throughput inference and supports more model formats and advanced features. Ollama is more lightweight and easier to use but has fewer features. For local AI infrastructure, vLLM is recommended.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: How does ComfyUI differ from Automatic1111?&lt;/strong&gt;
A: ComfyUI uses a node-based workflow, making it more flexible and efficient. Automatic1111 has a GUI that&amp;rsquo;s more beginner-friendly. Both work well, but ComfyUI is more popular in production environments.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Read time: ~15 minutes | Published: 2026-07-27&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Find this guide helpful? Explore more guides on &lt;a class="link" href="https://ckw19810413.github.io/en/" &gt;Slashman Tools&lt;/a&gt; or check out our &lt;a class="link" href="https://ckw19810413.github.io/enhttps://gumroad.com/l/diwoc" &gt;AI Toolchain Template Library&lt;/a&gt; for ready-to-use configurations.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a class="link" href="https://ckw19810413.github.io/en/" &gt;- Back to Home&lt;/a&gt;]&lt;/p&gt;</description></item><item><title>Build Your First AI Agent Team: A Hands-On Tutorial with Cowork MCP Framework</title><link>https://ckw19810413.github.io/en/blog/build-ai-agent-team/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0000</pubDate><guid>https://ckw19810413.github.io/en/blog/build-ai-agent-team/</guid><description>&lt;h2 id="build-your-first-ai-agent-team-in-under-20-minutes"&gt;Build Your First AI Agent Team in Under 20 Minutes
&lt;/h2&gt;&lt;p&gt;If you&amp;rsquo;ve been following the AI landscape in 2026, you&amp;rsquo;ve heard the promise: multi-agent AI systems work like a team of specialists, each handling what they do best. But most tutorials stop at theory. They explain &lt;em&gt;what&lt;/em&gt; multi-agent orchestration is, without showing you &lt;em&gt;how&lt;/em&gt; to actually build one.&lt;/p&gt;
&lt;p&gt;This guide changes that.&lt;/p&gt;
&lt;p&gt;By the end of this tutorial, you&amp;rsquo;ll have a running multi-agent AI system — complete with registered agents, a task queue, and a real dashboard — that you can use to automate code reviews, content production, market research, and more.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What you&amp;rsquo;ll build today:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Cowork MCP Server running on your machine&lt;/li&gt;
&lt;li&gt;An agent roster with 285+ pre-configured specialist agents&lt;/li&gt;
&lt;li&gt;A dispatched multi-agent task that produces a structured report&lt;/li&gt;
&lt;li&gt;A connected LLM backend executing real work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let&amp;rsquo;s get started.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="prerequisites-what-you-need"&gt;Prerequisites: What You Need
&lt;/h2&gt;&lt;p&gt;Before we dive in, make sure you have:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Version&lt;/th&gt;
&lt;th&gt;Check Command&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 20 (v22 recommended)&lt;/td&gt;
&lt;td&gt;&lt;code&gt;node --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;npm&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 10&lt;/td&gt;
&lt;td&gt;&lt;code&gt;npm --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Git&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Any recent version&lt;/td&gt;
&lt;td&gt;&lt;code&gt;git --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LLM backend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;At least one (Claude, GPT, Gemini, or local)&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;That&amp;rsquo;s it. No cloud account required. No Docker. No complex infrastructure. Everything runs locally on your machine.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;re new to AI agents entirely, I recommend first reading the &lt;a class="link" href="https://ckw19810413.github.io/multi-agent-coworking-platform/" &gt;Multi-Agent AI Orchestration Complete Guide&lt;/a&gt; for the foundational concepts. This tutorial builds on that with hands-on execution.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-1-install-and-launch-cowork"&gt;Step 1: Install and Launch Cowork
&lt;/h2&gt;&lt;p&gt;The Cowork MCP framework is open-source and installs in two commands.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Clone the repository with all agent definitions&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone --recurse-submodules https://github.com/slashman413/cowork
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd cowork/server
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# Install dependencies&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The &lt;code&gt;--recurse-submodules&lt;/code&gt; flag is critical — it pulls in the &lt;code&gt;agency-agents&lt;/code&gt; submodule containing 285+ pre-written agent definitions. Each agent is a &lt;code&gt;.md&lt;/code&gt; file with YAML frontmatter describing its role, skills, and execution parameters.&lt;/p&gt;
&lt;h3 id="start-the-server"&gt;Start the Server
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;npm run dev
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You should see output confirmation:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;🤝 Cowork MCP Server running at http://0.0.0.0:6868
MCP endpoint: http://0.0.0.0:6868/mcp
Web Dashboard: http://0.0.0.0:6868/
REST API: http://0.0.0.0:6868/api/
Roster loaded: 285 agents across 19 divisions
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Open your browser to &lt;code&gt;http://localhost:6868/&lt;/code&gt;.&lt;/strong&gt; You&amp;rsquo;ll see the Cowork dashboard — agent roster, task inbox, and system status at a glance.&lt;/p&gt;
&lt;figure&gt;&lt;img src="cowork-dashboard.png"
alt="Cowork MCP Framework Dashboard showing agent roster and task management interface"&gt;&lt;figcaption&gt;
&lt;p&gt;The Cowork Web UI dashboard — your command center for multi-agent orchestration.&lt;/p&gt;
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;hr&gt;
&lt;h2 id="step-2-understand-the-agent-roster"&gt;Step 2: Understand the Agent Roster
&lt;/h2&gt;&lt;p&gt;Cowork ships with &lt;strong&gt;285+ expert agents&lt;/strong&gt; organized into &lt;strong&gt;19 divisions&lt;/strong&gt;. Each division corresponds to a professional domain:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Division&lt;/th&gt;
&lt;th&gt;Agent Count&lt;/th&gt;
&lt;th&gt;Sample Agents&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Engineering&lt;/td&gt;
&lt;td&gt;45+&lt;/td&gt;
&lt;td&gt;Code Reviewer, System Architect, DevOps Engineer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marketing&lt;/td&gt;
&lt;td&gt;30+&lt;/td&gt;
&lt;td&gt;SEO Specialist, Content Strategist, Social Media Manager&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Testing&lt;/td&gt;
&lt;td&gt;25+&lt;/td&gt;
&lt;td&gt;QA Engineer, Penetration Tester, Performance Auditor&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data Science&lt;/td&gt;
&lt;td&gt;20+&lt;/td&gt;
&lt;td&gt;Data Analyst, ML Engineer, Visualization Expert&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Design&lt;/td&gt;
&lt;td&gt;15+&lt;/td&gt;
&lt;td&gt;UI Designer, UX Researcher, Brand Designer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Legal&lt;/td&gt;
&lt;td&gt;12+&lt;/td&gt;
&lt;td&gt;Contract Reviewer, Compliance Specialist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Finance&lt;/td&gt;
&lt;td&gt;18+&lt;/td&gt;
&lt;td&gt;Financial Analyst, Risk Assessor, Tax Specialist&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Product&lt;/td&gt;
&lt;td&gt;10+&lt;/td&gt;
&lt;td&gt;Product Manager, Growth Hacker, PMM&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;em&gt;14 more divisions&amp;hellip;&lt;/em&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Each agent has a clearly defined role. For example, the &lt;strong&gt;SEO Specialist&lt;/strong&gt; agent includes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;SEO Specialist&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;description&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Expert in search engine optimization — technical SEO, keyword research, content strategy, and link building.&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;skills&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;Technical SEO audits (crawlability, indexation, structured data)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;Keyword research and competitive analysis&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;On-page optimization (title tags, meta descriptions, content structure)&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;Link building strategy and outreach&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#e6db74"&gt;&amp;#34;Search Console and analytics interpretation&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;---
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;You can browse the full roster from the dashboard or by looking at &lt;code&gt;cowork/agency-agents/agents/&lt;/code&gt; on your filesystem.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-3-connect-an-llm-backend"&gt;Step 3: Connect an LLM Backend
&lt;/h2&gt;&lt;p&gt;Cowork is a task orchestrator — it routes work but doesn&amp;rsquo;t execute LLM calls itself. You need to connect at least one &amp;ldquo;brain&amp;rdquo; (an LLM-capable platform) to run the agents.&lt;/p&gt;
&lt;h3 id="option-a-hermes-agent-recommended-for-beginners"&gt;Option A: Hermes Agent (Recommended for Beginners)
&lt;/h3&gt;&lt;p&gt;If you already have &lt;a class="link" href="https://hermes-agent.nousresearch.com" target="_blank" rel="noopener"
&gt;Hermes Agent&lt;/a&gt; installed, it integrates natively:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hermes register-cowork
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This registers Hermes as a Cowork worker with access to its 39+ skills and built-in tool set.&lt;/p&gt;
&lt;h3 id="option-b-claude-code"&gt;Option B: Claude Code
&lt;/h3&gt;&lt;p&gt;Add the following to your Claude Code MCP configuration (&lt;code&gt;~/.claude.json&lt;/code&gt; or project-level &lt;code&gt;claude.json&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;cowork&amp;#34;&lt;/span&gt;: {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://localhost:6868/mcp&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;transport&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;streamable-http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; }
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="option-c-any-mcp-compatible-client"&gt;Option C: Any MCP-Compatible Client
&lt;/h3&gt;&lt;p&gt;Any client that speaks the Model Context Protocol (MCP) — including Cursor, VS Code extensions, Gemini CLI, and custom scripts — can connect to Cowork&amp;rsquo;s &lt;code&gt;/mcp&lt;/code&gt; endpoint.&lt;/p&gt;
&lt;p&gt;Once connected, agents appear as available workers. Cowork&amp;rsquo;s orchestrator handles the rest.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-4-dispatch-your-first-multi-agent-task"&gt;Step 4: Dispatch Your First Multi-Agent Task
&lt;/h2&gt;&lt;p&gt;Now for the fun part — running actual work through your agent team.&lt;/p&gt;
&lt;h3 id="task-multi-agent-code-audit"&gt;Task: Multi-Agent Code Audit
&lt;/h3&gt;&lt;p&gt;Let&amp;rsquo;s run a three-agent parallel audit on a GitHub repository. From the Cowork dashboard or via API:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-json" data-lang="json"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;{
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;title&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Full Code Audit - agents-coworking&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;description&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;Run a comprehensive audit on the agents-coworking GitHub repo: assess code quality (Tech Lead), evaluate UX/SEO (Growth Hacker), and build an action roadmap (Product Manager).&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;skill&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;engineering&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;tags&amp;#34;&lt;/span&gt;: [&lt;span style="color:#e6db74"&gt;&amp;#34;code-review&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;security&amp;#34;&lt;/span&gt;, &lt;span style="color:#e6db74"&gt;&amp;#34;performance&amp;#34;&lt;/span&gt;],
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;to_agent&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;tech-lead&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;&amp;#34;priority&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;high&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Cowork&amp;rsquo;s orchestrator processes this in three stages:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stage 1 — Classification:&lt;/strong&gt; The classifier brain reads the task description and determines the division. &amp;ldquo;Code Audit&amp;rdquo; with tags &lt;code&gt;engineering&lt;/code&gt;, &lt;code&gt;code-review&lt;/code&gt; → Division: Engineering.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stage 2 — Agent Selection:&lt;/strong&gt; Within Engineering, the orchestrator evaluates available agents. For a code audit task, it selects the most appropriate agent based on skill matches, expertise depth, and current load.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Stage 3 — Execution:&lt;/strong&gt; The selected agent runs on your connected LLM backend, receives the full task description as context, and produces a structured output — typically saved as a markdown report in &lt;code&gt;cowork/reports/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;You can monitor real-time progress from the dashboard:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;━━ Task: Full Code Audit ━━
Agent: Tech Lead (via Hermes Agent)
Status: Working... (3 minutes elapsed)
Progress: Analyzing code structure → Running dependency audit
&lt;/code&gt;&lt;/pre&gt;&lt;h3 id="chaining-tasks-for-complex-workflows"&gt;Chaining Tasks for Complex Workflows
&lt;/h3&gt;&lt;p&gt;For production use, you can chain tasks so one agent&amp;rsquo;s output feeds another&amp;rsquo;s input:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;Research Agent → Content Writer → SEO Optimizer → Social Publisher
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Each agent receives the previous output as context. This is how you build autonomous content pipelines, automated QA systems, and AI-driven product launch sequences.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="step-5-view-results-and-reports"&gt;Step 5: View Results and Reports
&lt;/h2&gt;&lt;p&gt;Every completed task files a report. You can access them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;From the dashboard&lt;/strong&gt;: Navigate to Reports → list recent with titles, authors, and timestamps&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From the filesystem&lt;/strong&gt;: &lt;code&gt;cowork/reports/&lt;/code&gt; contains markdown files with full output&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;From the API&lt;/strong&gt;: &lt;code&gt;GET /api/reports&lt;/code&gt; returns a JSON list&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A typical code audit report includes:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;# Code Audit Report: agents-coworking
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;**Author**: Tech Lead (via Hermes)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="font-weight:bold"&gt;**Date**&lt;/span&gt;: 2026-07-26
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="font-weight:bold"&gt;**Status**&lt;/span&gt;: Final
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## Executive Summary
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Repo health: 8.2/10
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Critical issues: 2 (one security, one performance)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; High priority: 5
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;-&lt;/span&gt; Medium priority: 12
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;## Security Audit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;### Critical: Unvalidated Input in taskHandler.js (line 142)
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;The &lt;span style="color:#e6db74"&gt;`create_task`&lt;/span&gt; endpoint accepts user-supplied parameters without schema validation. ...
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For a real-world example of what multi-agent audits look like, check out the &lt;a class="link" href="https://ckw19810413.github.io/etf-ai-dashboard/" &gt;AI Dashboard Guide&lt;/a&gt; which covers automated reporting workflows.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="pattern-1-automated-code-review-pipeline"&gt;Pattern 1: Automated Code Review Pipeline
&lt;/h2&gt;&lt;p&gt;Here&amp;rsquo;s a production-ready workflow pattern you can implement in 15 minutes:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Every time you push to GitHub, Cowork automatically reviews your code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Setup&lt;/strong&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a Cowork task template for code review&lt;/li&gt;
&lt;li&gt;Use a GitHub Action to POST to Cowork&amp;rsquo;s API on each push&lt;/li&gt;
&lt;li&gt;Cowork dispatches to the Tech Lead and Security agents&lt;/li&gt;
&lt;li&gt;Results come back as a PR comment&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# .github/workflows/cowork-review.yml&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;on&lt;/span&gt;: [&lt;span style="color:#ae81ff"&gt;pull_request]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;jobs&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;ai-review&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;runs-on&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;ubuntu-latest&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;steps&lt;/span&gt;:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#f92672"&gt;name&lt;/span&gt;: &lt;span style="color:#ae81ff"&gt;Dispatch Cowork Review&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;run&lt;/span&gt;: |&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; curl -X POST http://your-server:6868/api/tasks \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; -H &amp;#34;Content-Type: application/json&amp;#34; \
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; -d &amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;title&amp;#34;: &amp;#34;PR Review: ${{ github.event.pull_request.title }}&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;description&amp;#34;: &amp;#34;Review PR for security, performance, and code quality&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;skill&amp;#34;: &amp;#34;engineering&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;tags&amp;#34;: [&amp;#34;code-review&amp;#34;, &amp;#34;ci-cd&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; }&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="pattern-2-content-production-team"&gt;Pattern 2: Content Production Team
&lt;/h2&gt;&lt;p&gt;For creators and marketers, a multi-agent content pipeline eliminates bottlenecks:&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Research │ ──► │ Writer │ ──► │ SEO │ ──► │ Publisher │
│ Agent │ │ Agent │ │ Agent │ │ Agent │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘
│ │ │ │
│ Topic analysis │ Blog post draft │ Meta tags, │ Platform-specific
│ Competitor intel │ 2000+ words │ schema markup, │ posts, scheduling
│ Keyword research │ Tone-matched │ internal links │ analytics setup
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Each agent passes its output as context to the next. The result: from topic selection to published content in one coordinated workflow.&lt;/p&gt;
&lt;p&gt;To learn more about AI-powered content strategy and prompts, see my &lt;a class="link" href="https://ckw19810413.github.io/ai-prompts-guide/" &gt;AI Prompts Guide&lt;/a&gt; for actionable template patterns.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="pattern-3-product-launch-orchestration"&gt;Pattern 3: Product Launch Orchestration
&lt;/h2&gt;&lt;p&gt;Launching a digital product requires coordinating research, content, technical setup, and analytics. A multi-agent team handles this end-to-end:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Market Research Agent&lt;/strong&gt; — Analyzes competitors, identifies pricing gaps, generates competitive intelligence&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Content Strategist&lt;/strong&gt; — Writes landing page copy, creates promotional materials, drafts email sequences&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technical Specialist&lt;/strong&gt; — Handles deployment, payment integration, analytics configuration&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PM Agent&lt;/strong&gt; — Integrates all outputs into a launch timeline with milestones&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This is the exact pattern I use when launching new products on &lt;a class="link" href="https://ckw19810413.github.io/" &gt;Slashman Tools&lt;/a&gt;. The multi-agent approach cuts preparation time from weeks to hours.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="understanding-mcp-the-protocol-powering-this"&gt;Understanding MCP: The Protocol Powering This
&lt;/h2&gt;&lt;p&gt;All of this works because of the &lt;strong&gt;Model Context Protocol (MCP)&lt;/strong&gt; — an open standard that defines how AI agents communicate with tools, servers, and each other.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MCP in simple terms:&lt;/strong&gt; Think of it as USB-C for AI agents. Just as USB-C standardized how devices connect to peripherals, MCP standardizes how AI models connect to tools, data sources, and other agents.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s what MCP provides in a multi-agent system:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;MCP Feature&lt;/th&gt;
&lt;th&gt;What It Does&lt;/th&gt;
&lt;th&gt;Why It Matters&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Tool Registry&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents declare what they can do&lt;/td&gt;
&lt;td&gt;The orchestrator knows every capability&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Resource Access&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Agents read/write structured data&lt;/td&gt;
&lt;td&gt;Reports, files, and context are shareable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Prompt Templates&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Standardized agent instructions&lt;/td&gt;
&lt;td&gt;Every agent starts with the right persona&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Transport Layer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;HTTP/SSE for remote agents&lt;/td&gt;
&lt;td&gt;Agents can run on different machines&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Cowork implements MCP over &lt;strong&gt;Streamable HTTP&lt;/strong&gt; — a lightweight transport that works with any HTTP client without requiring persistent WebSocket connections. This makes it trivial to integrate with CI/CD pipelines, serverless functions, and edge computing environments.&lt;/p&gt;
&lt;p&gt;For developers who want to build custom integrations, the &lt;a class="link" href="https://github.com/slashman413/cowork" target="_blank" rel="noopener"
&gt;Cowork repository&lt;/a&gt; documents the full MCP tool surface — &lt;code&gt;create_task&lt;/code&gt;, &lt;code&gt;register_agent&lt;/code&gt;, &lt;code&gt;get_roster&lt;/code&gt;, &lt;code&gt;claim_task&lt;/code&gt;, &lt;code&gt;complete_task&lt;/code&gt;, &lt;code&gt;file_report&lt;/code&gt;, &lt;code&gt;heartbeat&lt;/code&gt;, and more.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="choosing-the-right-agent-architecture"&gt;Choosing the Right Agent Architecture
&lt;/h2&gt;&lt;p&gt;Not every project needs 285 agents. Here&amp;rsquo;s a decision framework:&lt;/p&gt;
&lt;h3 id="single-project-teams-1-3-agents"&gt;Single-Project Teams (1-3 agents)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best for&lt;/strong&gt;: Small repos, personal projects, individual creators&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup&lt;/strong&gt;: Connect one LLM backend, use 3-5 agent personas&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Example&lt;/strong&gt;: Code reviewer + Writer + Researcher&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="departmental-teams-5-20-agents"&gt;Departmental Teams (5-20 agents)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best for&lt;/strong&gt;: Small teams, startups, agencies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup&lt;/strong&gt;: Multiple LLM backends, division-specific agents&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Example&lt;/strong&gt;: Full engineering division + Marketing team + Data analyst&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="enterprise-teams-50-agents"&gt;Enterprise Teams (50+ agents)
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Best for&lt;/strong&gt;: Product companies, large content operations&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup&lt;/strong&gt;: Remote brain registration, custom agent authoring, API automation&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Example&lt;/strong&gt;: All 19 divisions, multi-platform LLM routing, CI/CD integration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Cowork scales across all three tiers — you start small and add agents as your needs grow.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="common-pitfalls-to-avoid"&gt;Common Pitfalls to Avoid
&lt;/h2&gt;&lt;p&gt;After using multi-agent systems in production for months, here are the mistakes I see most often:&lt;/p&gt;
&lt;h3 id="1-too-many-agents-too-little-context"&gt;1. Too Many Agents, Too Little Context
&lt;/h3&gt;&lt;p&gt;Don&amp;rsquo;t throw 20 agents at a simple task. Each agent adds latency and context overhead. Start with 2-3 agents and add only when you identify a clear need.&lt;/p&gt;
&lt;h3 id="2-ignoring-agent-persona-quality"&gt;2. Ignoring Agent Persona Quality
&lt;/h3&gt;&lt;p&gt;A poorly written agent definition produces poor results. Invest time in crafting precise role descriptions, skill lists, and instruction prompts for each agent. The existing 285 agents in Cowork are carefully designed — use them as templates.&lt;/p&gt;
&lt;h3 id="3-orphaned-tasks-without-completion-tracking"&gt;3. Orphaned Tasks Without Completion Tracking
&lt;/h3&gt;&lt;p&gt;Always set up completion tracking. Cowork&amp;rsquo;s dashboard shows task status at a glance, but you should also configure notifications for long-running workflows.&lt;/p&gt;
&lt;h3 id="4-single-provider-dependency"&gt;4. Single-Provider Dependency
&lt;/h3&gt;&lt;p&gt;Connect at least two LLM backends. If one platform is down or rate-limited, your agent team switches to the other. Cowork handles multi-platform routing automatically.&lt;/p&gt;
&lt;h3 id="5-missing-human-in-the-loop-for-critical-decisions"&gt;5. Missing Human-in-the-Loop for Critical Decisions
&lt;/h3&gt;&lt;p&gt;For security audits, financial analysis, or legal review — always have a human review AI-generated outputs before acting on them. Agents are powerful assistants, not autonomous decision-makers for high-stakes work.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="your-next-steps"&gt;Your Next Steps
&lt;/h2&gt;&lt;p&gt;You now have a running multi-agent AI system. Here&amp;rsquo;s what to do next:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Immediately (today):&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explore the dashboard at &lt;code&gt;http://localhost:6868/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Dispatch 3 different tasks to different agents&lt;/li&gt;
&lt;li&gt;Read through the agent roster and find specialists you didn&amp;rsquo;t expect&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;This week:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Connect a second LLM backend for redundancy&lt;/li&gt;
&lt;li&gt;Create one custom agent definition (copy an existing &lt;code&gt;.md&lt;/code&gt; file and modify it)&lt;/li&gt;
&lt;li&gt;Set up a recurring task for daily market research or code review&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;This month:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Integrate Cowork with your CI/CD pipeline&lt;/li&gt;
&lt;li&gt;Build a multi-step workflow (3+ agents in sequence)&lt;/li&gt;
&lt;li&gt;Explore the &lt;a class="link" href="https://github.com/slashman413/cowork" target="_blank" rel="noopener"
&gt;Cowork documentation&lt;/a&gt; for advanced features like remote brain registration and custom executors&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The complete &lt;a class="link" href="https://ckw19810413.github.io/multi-agent-coworking-platform/" &gt;Multi-Agent AI Orchestration Guide&lt;/a&gt; covers architecture, use cases, and comparison with other frameworks — read it next for the strategic overview.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="faq-building-ai-agent-teams"&gt;FAQ: Building AI Agent Teams
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q: Do I need to know Python or AI engineering to use Cowork?&lt;/strong&gt;
A: No. If you can run &lt;code&gt;git clone&lt;/code&gt; and &lt;code&gt;npm install&lt;/code&gt;, you can set up Cowork. The agent roster is pre-configured. You don&amp;rsquo;t need to write any AI code.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: Can I run Cowork on a cloud server?&lt;/strong&gt;
A: Yes. Cowork runs on any machine with Node.js. Deploy it on a VPS, a cloud VM, or a Raspberry Pi. The dashboard and MCP endpoint are accessible over the network.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: How many agents can I run simultaneously?&lt;/strong&gt;
A: Cowork doesn&amp;rsquo;t limit concurrency — your LLM backend and hardware do. A single machine with a modern GPU can run 5-10 agents in parallel. Enterprise setups with multiple backends scale much higher.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: Is Cowork free and open-source?&lt;/strong&gt;
A: Yes. Cowork is MIT-licensed and available on &lt;a class="link" href="https://github.com/slashman413/cowork" target="_blank" rel="noopener"
&gt;GitHub&lt;/a&gt;. There&amp;rsquo;s no paid tier, no hidden restrictions — everything is in the repository.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q: What&amp;rsquo;s the difference between Cowork and CrewAI/AutoGen?&lt;/strong&gt;
A: Cowork focuses on breadth — 285+ pre-configured agents across 19 divisions, multi-platform LLM support, and a filesystem-first architecture. CrewAI excels at sequential agent chains; AutoGen at conversational multi-agent patterns. Cowork&amp;rsquo;s strength is instant access to a curated expert roster without writing agent definitions from scratch.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="conclusion-your-ai-agent-team-is-ready"&gt;Conclusion: Your AI Agent Team Is Ready
&lt;/h2&gt;&lt;p&gt;Multi-agent AI orchestration isn&amp;rsquo;t a future technology — it&amp;rsquo;s a tool you can use today. In 20 minutes, you&amp;rsquo;ve gone from zero to a running multi-agent system with 285 specialists at your disposal.&lt;/p&gt;
&lt;p&gt;The key insight is this: &lt;strong&gt;one AI model is a generalist. A team of AI agents is an expert organization.&lt;/strong&gt; By orchestrating specialist agents through the MCP protocol, you automate complex workflows that would require a team of humans — code auditing, content production, market research, product launches — in minutes instead of days.&lt;/p&gt;
&lt;p&gt;The Cowork MCP framework makes this practical. It&amp;rsquo;s open-source, self-hosted, and ready to run on any machine with Node.js. No vendor lock-in. No cloud dependency. Just a clean, modular system that grows with your needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a class="link" href="https://github.com/slashman413/cowork" target="_blank" rel="noopener"
&gt;Clone Cowork on GitHub&lt;/a&gt; and build your first AI agent team today.&lt;/strong&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;Reading time: 12 minutes | Published: July 26, 2026 | Last updated: July 26, 2026&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;If you found this tutorial helpful, explore more guides at &lt;a class="link" href="https://ckw19810413.github.io/" &gt;Slashman Tools&lt;/a&gt;. For ready-to-use AI prompt templates covering development, content creation, and business automation, check out the &lt;a class="link" href="https://gumroad.com/l/diwoc" target="_blank" rel="noopener"
&gt;AI Prompt Library&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a class="link" href="https://ckw19810413.github.io/" &gt;Back to Home&lt;/a&gt;]&lt;/p&gt;</description></item></channel></rss>