The project's README from github.com/agentscope-ai/AgentTeams. As one markdown file: README.md.
AgentTeams is an open-source collaborative multi-agent runtime platform. It enables multiple Agents to collaborate in a controlled and auditable room, with full human visibility and intervention capabilities throughout the process.
Built on a Manager-Workers architecture, AgentTeams features a Manager that centrally orchestrates multiple Workers, focusing on collaboration scenarios between humans and Agents, as well as among Agents within enterprise environments.
AgentTeams does not compete with other Agent runtimes. Instead of implementing Agent logic itself, it orchestrates and manages multiple Agent containers (including the Manager and numerous Workers).
🧬 Manager-Workers Architecture: Eliminates the need for human oversight of individual Worker Claws by enabling Agents to manage other Agents.
🤝 Multi-Runtime Collaboration: OpenClaw, QwenPaw, Hermes, and experimental DeepSeek Harness Workers coexist in the same IM room. Use the runtime that best fits each role while keeping collaboration visible in Matrix.
📦 MinIO Shared File System: Introduces a shared file system for inter-Agent information exchange, significantly reducing token consumption in multi-Agent collaboration scenarios.
🔐 Higress AI Gateway: Centralizes traffic management and mitigates credential-related risks, alleviating user concerns about security vulnerabilities in the native Lobster framework.
☎️ Element IM Client + Tuwunel IM Server (both Matrix protocol-based): Eliminating DingTalk/Lark integration overhead and enterprise approval workflows. Enables rapid user onboarding to experience the "delight" of model services within an IM environment, while maintaining compatibility with native OpenClaw IM integration.
🧬 Integrate AgentLoop :Provides capabilities such as full-stack Agent observability and auditing, Agent evaluation and experimentation, and Agent asset management and continuous optimization.
agt commands, and Dashboard v1.2.4; adds audited human interventions, Project history, and QwenPaw Worker checkpoints; promotes QwenPaw as the recommended local Manager and Worker runtime; and improves Skill recovery, Windows AppService startup, and runtime reliability.Worker.spec.skills assignment, and QwenPaw hot refresh and enablement without a restart; hardens Manager and Worker Skill loading; and ensures Team Leaders and Workers explicitly join Team Rooms after invitation.sts-agentteams / ai-registry STS scope, Worker CR-name decoupled from runtime name, controller reconcile metrics and graceful shutdown.spec.env for CRs, Token Plan + Qwen Cloud international + qwen3.6-plus, namespace-scoped controller RBAC, optional SOUL.md in Worker packages.Enterprise-Grade Security: Worker Agents operate with consumer tokens only. Real credentials (API keys, GitHub PATs) stay in the gateway — Workers can't see them, and neither can attackers.
Fully Private: Matrix is a decentralized, open protocol. Host it yourself, federate with others if you want. No vendor lock-in, no data harvesting.
Human-in-the-Loop by Default: Every Matrix room includes you, the Manager, and the relevant Workers. Watch everything. Jump in anytime. No black boxes.
Zero Configuration IM: Built-in Matrix server means no bot applications, no API approvals, no waiting. Just open Element Web and start chatting.
One Command Setup: curl | bash and you're done — AI gateway, Matrix server, file storage, web client, and Manager Agent.
Skills Ecosystem: Workers pull from skills.sh (80,000+ community skills) on demand. Safe because Workers can't access real credentials.
Prerequisites: Docker Desktop (Windows/macOS) or Docker Engine (Linux).
Resources: 2 CPU cores + 4 GB RAM minimum. For multiple Workers, 4 cores + 8 GB recommended.
macOS / Linux:
bash <(curl -sSL https://raw.githubusercontent.com/agentscope-ai/AgentTeams/main/install/agentteams-install.sh)
Windows (PowerShell 7+ recommended):
Set-ExecutionPolicy Bypass -Scope Process -Force; $wc=New-Object Net.WebClient; $wc.Encoding=[Text.Encoding]::UTF8; iex $wc.DownloadString('https://raw.githubusercontent.com/agentscope-ai/AgentTeams/main/install/agentteams-install.ps1')
The installer walks you through:
Open http://127.0.0.1:18088 in your browser and log in to Element Web. The Manager will greet you and explain how to create your first Worker.
Mobile: Use any Matrix client (Element, FluffyChat) and connect to your server address.
That's it. No bot applications. No external services. Your AI team runs entirely on your machine.
# Upgrade to latest (preserves all data)
bash <(curl -sSL https://raw.githubusercontent.com/agentscope-ai/AgentTeams/main/install/agentteams-install.sh)
# Upgrade to specific version
AGENTTEAMS_VERSION=v1.2.2 bash <(curl -sSL https://raw.githubusercontent.com/agentscope-ai/AgentTeams/main/install/agentteams-install.sh)
macOS / Linux:
bash <(curl -fsSL https://raw.githubusercontent.com/agentscope-ai/AgentTeams/main/install/agentteams-install.sh) uninstall
Windows (PowerShell):
Set-ExecutionPolicy Bypass -Scope Process -Force; $wc=New-Object Net.WebClient; $wc.Encoding=[Text.Encoding]::UTF8; $s=$wc.DownloadString('https://raw.githubusercontent.com/agentscope-ai/AgentTeams/main/install/agentteams-install.ps1'); & ([scriptblock]::Create($s)) uninstall
This removes all AgentTeams containers (Manager, Workers, docker-proxy), Docker volume, network, env file, workspace directory, and install log.
For shared / production deployments you can install AgentTeams on any Kubernetes cluster via the official Helm chart. The default profile bundles the Higress AI gateway, Tuwunel (Matrix), MinIO and the AgentTeams controller — no external dependencies required.
The commands below provide a quick installation path. See the Kubernetes Deployment Guide for cluster planning, values files, model services, runtimes, persistence, Ingress, and operations.
Prerequisites
Install (OpenAI / OpenAI-compatible)
helm repo add higress.io https://higress.io/helm-charts
helm repo update
helm install agentteams higress.io/agentteams \
-n agentteams-system --create-namespace \
--render-subchart-notes \
--set credentials.llmApiKey=<your-api-key> \
--set credentials.adminPassword=<your-admin-password> \
--set gateway.publicURL=http://localhost:18080
For non-OpenAI providers that expose an OpenAI-compatible API, also set llmBaseUrl:
helm install agentteams higress.io/agentteams \
-n agentteams-system --create-namespace \
--render-subchart-notes \
--set credentials.llmApiKey=<your-api-key> \
--set credentials.llmBaseUrl=https://your-provider.example.com/v1 \
--set credentials.defaultModel=your-model-name \
--set credentials.adminPassword=<your-admin-password> \
--set gateway.publicURL=http://localhost:18080
helm install agentteams higress.io/agentteams \
-n agentteams-system --create-namespace \
--render-subchart-notes \
--set credentials.llmApiKey=<your-qwen-api-key> \
--set credentials.llmProvider=qwen \
--set credentials.defaultModel=qwen3.5-plus \
--set credentials.adminPassword=<your-admin-password> \
--set gateway.publicURL=http://localhost:18080
| Value | Required | Description |
|---|---|---|
credentials.llmApiKey |
yes | API key for your LLM provider |
gateway.publicURL |
yes | Public URL where users will reach Element Web (e.g. http://localhost:18080 for port-forward, or https://agentteams.example.com for an Ingress) |
credentials.adminPassword |
recommended | Matrix admin password; auto-generated if left empty (you'll have to read it back from the Secret) |
credentials.llmProvider |
no | LLM provider name, defaults to openai-compat |
credentials.defaultModel |
no | Default model, defaults to gpt-5.4 |
credentials.llmBaseUrl |
no | OpenAI-compatible base URL (e.g. https://api.deepseek.com/v1). Leave empty for official OpenAI API |
preflight.llm.enabled |
no | Run an install/upgrade hook that validates the LLM API key, base URL, and model before the controller starts. Defaults to true |
preflight.llm.strict |
no | Fail the Helm install/upgrade when the LLM preflight fails. Defaults to true; set to false to emit a warning and continue |
preflight.llm.timeoutSeconds |
no | Per-request timeout for the LLM preflight HTTP probe. Defaults to 30 |
preflight.llm.retries |
no | Retry count for transient LLM preflight failures such as rate limits and provider 5xx responses. Defaults to 2 |
preflight.llm.activeDeadlineSeconds |
no | Kubernetes Job active deadline for the preflight hook. Defaults to 120 |
preflight.llm.resources |
no | Optional Kubernetes resource requests/limits for the preflight hook container |
manager.runtime |
no | Manager runtime: OpenClaw uses openclaw (default); CoPaw uses qwenpaw in the current chart, with copaw retained as a compatibility alias. Managers do not support Hermes or DeepSeek Harness |
worker.defaultRuntime |
no | The chart provides default image values for openclaw (default), copaw, hermes, experimental deepseek-harness, and openhuman; the current CRD rejects an explicit spec.runtime: openhuman, and QwenPaw Workers require an explicit spec.image |
Helm installs run an LLM preflight hook by default. The hook sends a minimal OpenAI-compatible /chat/completions request using credentials.llmApiKey, credentials.llmBaseUrl, and credentials.defaultModel; invalid keys, unreachable base URLs, unsupported models, quota errors, and provider outages fail the install before the controller starts. To bypass this check for restricted or offline clusters:
helm install agentteams higress.io/agentteams \
-n agentteams-system --create-namespace \
--set credentials.llmApiKey=<your-api-key> \
--set credentials.adminPassword=<your-admin-password> \
--set gateway.publicURL=http://localhost:18080 \
--set preflight.llm.enabled=false
helm install agentteams higress.io/agentteams \
-n agentteams-system --create-namespace --devel \
--set manager.runtime=qwenpaw \
--set manager.image.repository=higress-registry.cn-hangzhou.cr.aliyuncs.com/agentteams/agentteams-manager-qwenpaw \
--set worker.defaultRuntime=hermes \
--set credentials.llmApiKey=<your-api-key> \
--set credentials.llmBaseUrl=https://your-provider.example.com/v1 \
--set credentials.defaultModel=your-model-name \
--set credentials.adminPassword=<your-admin-password> \
--set gateway.publicURL=http://localhost:18080
When selecting the CoPaw Manager, set both manager.runtime=qwenpaw and the agentteams-manager-qwenpaw image. Configure Worker default images through worker.defaultImage.<runtime>.
Multi-Region Image Registry
Images point to the China region by default. When deploying outside China, use a nearby registry for faster pulls:
| Region | Registry |
|---|---|
| China (default) | higress-registry.cn-hangzhou.cr.aliyuncs.com/higress |
| North America | higress-registry.us-west-1.cr.aliyuncs.com/higress |
| Southeast Asia | higress-registry.ap-southeast-7.cr.aliyuncs.com/higress |
global.imageRegistry affects only subcharts that consume that global value. The Controller, Manager, Workers, Tuwunel, MinIO, and Element Web use their own complete image.repository values. Override every relevant image in a values file when switching regions or using a private registry. See the Kubernetes Deployment Guide and helm/agentteams/values.yaml for the complete configuration.
Access
For a temporary local admin session, forward the Higress Gateway:
kubectl port-forward -n agentteams-system svc/higress-gateway 18080:80
Then open http://localhost:18080 and log in to Element Web. The port-forward ends when the command exits and is not suitable for shared access.
For company or Internet access, expose only svc/higress-gateway through an
HTTPS Ingress or LoadBalancer. gateway.publicURL is written into the Element
Web configuration as its Matrix homeserver URL, so it must exactly match the
public origin that users open (for example, https://agentteams.example.com).
agentteams-system.helm upgrade agentteams higress.io/agentteams \
-n agentteams-system --reuse-values \
--set gateway.publicURL=https://agentteams.example.com
agentteams-tls Secret; replace both to
match your cluster:apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: agentteams
namespace: agentteams-system
spec:
ingressClassName: nginx
tls:
- hosts:
- agentteams.example.com
secretName: agentteams-tls
rules:
- host: agentteams.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: higress-gateway
port:
number: 80
Verify both the web entry point and Matrix routing after DNS and TLS are ready:
curl -fsS