Skip to main content
OpenSquad

English | 中文

CI License: MIT Release Python 3.11+ Node 18+ Code style: ruff

Stars Forks Issues Last commit PRs Welcome


OpenSquad is a local-first multi-agent collaboration framework. Multiple autonomous agents (PM, Coder, QA, etc.) communicate via group chat to coordinate and complete complex tasks.


OpenSquad overview

OpenSquad Agent Workstation

OpenSquad single-agent web chat


What is OpenSquad

OpenSquad enables multiple AI agents to collaborate like a real team. Each agent runs as an independent process with its own LLM connection, tool set, and memory. Agents communicate through group chat, coordinated by a PM agent, to tackle complex tasks that a single agent cannot handle alone.

What Problems It Solves

A single AI agent has clear limitations when dealing with complex projects:

  • Limited context window — Cannot handle the full context of requirements, coding, and testing simultaneously
  • Role confusion — One agent juggling multiple roles leads to oversight
  • No parallelism — Serial execution results in low efficiency
  • No review process — No independent QA role for quality assurance

OpenSquad solves these through multi-agent collaboration: PM handles task decomposition and coordination, Coder focuses on implementation, QA independently verifies — each with a clear responsibility.

Architecture (overview)

flowchart TB
    User["User / Web UI"] --> GW["Gateway :9555"]
    GW --> LA["Launcher :9600"]
    LA --> PM["PM Agent"]
    LA --> Dev["Coder Agent"]
    LA --> QA["QA Agent"]
    PM & Dev & QA --> IM["Group chat / IM"]
    PM & Dev & QA --> Plugins["Plugins / MCP / Skills"]
    Plugins --> Svc["Service plugins e.g. websearch :9001"]

Details: Architecture · Documentation hub

Key Features

  • Collab Card driven — Predefined workflow templates (software dev, code review, research, etc.) with PM coordinating the team per card protocol
  • Group chat communication — Agents collaborate via natural language group chat with @mentions, sleep/wake, and status queries
  • Independent process architecture — Each agent runs independently, can be restarted and configured separately
  • Long-term memory — Cross-session semantic memory system for agents to accumulate experience and knowledge
  • Interruptible sleep — Agents can proactively sleep and wait for events, auto-waking on new messages
  • Plugin system — 20 built-in plugins covering search, voice, version control, platform integrations, and more
  • Skill system — Reusable task instructions defined via Markdown files
  • MCP support — Dynamically connect external MCP servers to extend tool capabilities
  • Multi-platform access — Web UI, Telegram, Feishu/Lark, QQ, and other interaction channels
  • Local-first — Data and API keys stay on your machine, no third-party upload required

Quick Start (about 10 minutes)

  1. Clone this repository.
  2. Install with uv sync (or install.bat / install.sh).
  3. Configure LLM: copy a model card template and set api_key in src/model_cards/ (see model cards guide).
  4. Initialize workspace: uv run opensquad init (creates ~/.opensquad/workspace by default).
  5. Start services: uv run opensquad start.
  6. Open UI: http://127.0.0.1:5173 (or Gateway port from system_config).

Prerequisites

  • Python 3.11+ (officially tested on 3.11 / 3.12 / 3.13)
  • Node.js 18+ (for frontend development)
  • A compatible LLM API (DeepSeek, GPT-4, Claude, Gemini, GLM, etc.)

Windows

git clone https://github.com/opensquad-ai/opensquad.git && cd opensquad && install.bat

Linux / macOS

git clone https://github.com/opensquad-ai/opensquad.git && cd opensquad && bash install.sh

The script automatically: checks prerequisites → installs dependencies → initializes workspace → starts all services.

Note: After first start, add your LLM API key to a model card under src/model_cards/.

uv is a fast Python package manager. Recommended.

# Install uv (if not already)
pip install uv

# Clone the project
git clone https://github.com/opensquad-ai/opensquad.git
cd opensquad

# Install dependencies (uses uv.lock for reproducible builds)
uv sync

# Install frontend dependencies
cd src/opensquad/gateway/nexuschat-pro && npm install && cd ../../..

# Initialize and start
uv run opensquad init
uv run opensquad start

Option 3: pip

git clone https://github.com/opensquad-ai/opensquad.git
cd opensquad

pip install -e .

# Install frontend dependencies
cd src/opensquad/gateway/nexuschat-pro && npm install && cd ../../..

# Initialize and start
opensquad init
opensquad start

Option 4: npm (Node.js users)

The npm package is a thin bootstrap: on first run it installs the matching Python opensquad CLI, then forwards every command to it.

npm install -g opensquad-ai

opensquad init
opensquad start

Requires Node.js 18+ and Python 3.11+. npx opensquad-ai works too, with no global install.

Option 5: Docker

git clone https://github.com/opensquad-ai/opensquad.git
cd opensquad

# Start (auto-builds image)
docker compose up -d

# View logs
docker compose logs -f

After start, visit http://localhost:9555. Data is persisted in Docker volumes.

Custom configuration:

# Edit config
cp src/system_config.example.json src/system_config.json
# Fill in your LLM API Key...

# Mount config and start
docker run -d \
  -p 9555:9555 -p 9600:9600 -p 9720:9720 \
  -v opensquad-data:/data \
  -v ./src/system_config.json:/app/src/system_config.json:ro \
  opensquad

Services

opensquad start launches all 4 services:

Service Port Description
Gateway Backend 9555 FastAPI backend (WebSocket + HTTP)
Plugin Registry 9720 Plugin store API
Frontend Dev 5173 Vite React frontend
Launcher 9600 Agent process manager

Open http://127.0.0.1:5173 in your browser to create and configure agents via the Web UI.


CLI Commands

Command Description
opensquad init [--workspace <path>] Initialize workspace (default: ~/.opensquad/workspace)
opensquad start [--port <port>] Start all services
opensquad stop Stop all OpenSquad services (frontend, gateway, launcher, adapters, agent processes)
opensquad status Show agent and service status
opensquad plugin list List installed plugins
opensquad plugin install <id> Install a plugin from the store or Git URL
opensquad plugin uninstall <id> Uninstall a plugin

Run without installing:

python -m opensquad.cli start

Configuration

Copy system_config.example.json to your workspace or src/system_config.json (see architecture-paths):

{
  "hosts": { "gateway": "127.0.0.1" },
  "ports": { "gateway": 9555, "launcher": 9600, "websearch": 9001 },
  "auth": { "node_secret": "your-secret-here" }
}

Never commit real system_config.json, auth.json, or model cards with API keys.

LLM API keys live in model cards (src/model_cards/*.json). Agents are created via the Web UI at runtime.


Documentation

Start here: Documentation hub → Getting started (EN)

Document Description
Architecture System design and module map
Collaboration Multi-agent workflows
Plugin ecosystem Built-in plugins vs Registry
Contributing How to contribute
Releasing Maintainer release checklist

Contributing

Issues and Pull Requests are welcome! Please read the Contributing Guide and Code of Conduct first.


License

MIT License — see LICENSE for details.

Powered by OpenSquad Core

Metadata

Release files for opensquad 0.8.47

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opensquad 0.8.47
File Size Uploaded
opensquad-0.8.47.tar.gz 3.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for opensquad 0.8.47
File Interpreter ABI Platform
opensquad-0.8.47-py3-none-any.whl Python 3 none any Details

Total release size: 7.3 MB

Release files / opensquad-0.8.47.tar.gz

Download URL opensquad-0.8.47.tar.gz
Size 3.7 MB
Tags Source
SHA-256 checksum
How to use checksums
1dff68efa80862c2cef15e9e2adb89f8c39ee0c9fea2d878d04b765dc440d0a7
BLAKE2b-256 checksum
How to use checksums
d868a1a0c810326390dde6e54a360df3ea589d346e59268cb4eca963d4a4f108
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log

Release files / opensquad-0.8.47-py3-none-any.whl

Download URL opensquad-0.8.47-py3-none-any.whl
Size 3.6 MB
Tags Python 3
SHA-256 checksum
How to use checksums
a9ee8ae2d24b96e241103f1fbd2ad7c8f8d3612e7cef09e8f52dc12905812709
BLAKE2b-256 checksum
How to use checksums
d64da01399af987fcaa3f2a63865e6ea0967f2f72c76a720bc44c2104d9db14e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 27, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page