{"id":51437826,"url":"https://github.com/opensquad-ai/opensquad","last_synced_at":"2026-07-05T09:00:30.055Z","repository":{"id":368353598,"uuid":"1284095430","full_name":"opensquad-ai/opensquad","owner":"opensquad-ai","description":"OpenSquad — local-first multi-agent collaboration framework. PM, Coder, QA agents coordinate via group chat to complete complex tasks.","archived":false,"fork":false,"pushed_at":"2026-06-30T07:41:04.000Z","size":3367,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-30T08:25:15.525Z","etag":null,"topics":["ai-agents","autonomous-agents","chatbot","fastapi","framework","llm","multi-agent","python","react","typescript"],"latest_commit_sha":null,"homepage":"https://github.com/opensquad-ai/opensquad","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/opensquad-ai.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":".github/SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-29T14:18:00.000Z","updated_at":"2026-06-30T07:41:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/opensquad-ai/opensquad","commit_stats":null,"previous_names":["opensquad-ai/opensquad"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/opensquad-ai/opensquad","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensquad-ai%2Fopensquad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensquad-ai%2Fopensquad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensquad-ai%2Fopensquad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensquad-ai%2Fopensquad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/opensquad-ai","download_url":"https://codeload.github.com/opensquad-ai/opensquad/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/opensquad-ai%2Fopensquad/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35148606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-05T02:00:06.290Z","response_time":100,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-agents","autonomous-agents","chatbot","fastapi","framework","llm","multi-agent","python","react","typescript"],"created_at":"2026-07-05T09:00:20.595Z","updated_at":"2026-07-05T09:00:30.017Z","avatar_url":"https://github.com/opensquad-ai.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"doc_en/banner.svg\" alt=\"OpenSquad\" width=\"720\" /\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cstrong\u003eEnglish\u003c/strong\u003e | \u003ca href=\"README_ZH.md\"\u003e中文\u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![CI](https://github.com/opensquad-ai/opensquad/actions/workflows/ci.yml/badge.svg)](https://github.com/opensquad-ai/opensquad/actions/workflows/ci.yml)\n[![License: MIT](https://img.shields.io/github/license/opensquad-ai/opensquad)](https://github.com/opensquad-ai/opensquad/blob/main/LICENSE)\n[![Release](https://img.shields.io/github/v/release/opensquad-ai/opensquad)](https://github.com/opensquad-ai/opensquad/releases)\n[![Python 3.11+](https://img.shields.io/badge/python-3.11%2B-blue.svg)](https://www.python.org/downloads/)\n[![Node 18+](https://img.shields.io/badge/node-18%2B-339933.svg)](https://nodejs.org/)\n[![Code style: ruff](https://img.shields.io/badge/code%20style-ruff-000000.svg)](https://github.com/astral-sh/ruff)\n\n[![Stars](https://img.shields.io/github/stars/opensquad-ai/opensquad)](https://github.com/opensquad-ai/opensquad/stargazers)\n[![Forks](https://img.shields.io/github/forks/opensquad-ai/opensquad)](https://github.com/opensquad-ai/opensquad/network/members)\n[![Issues](https://img.shields.io/github/issues/opensquad-ai/opensquad)](https://github.com/opensquad-ai/opensquad/issues)\n[![Last commit](https://img.shields.io/github/last-commit/opensquad-ai/opensquad)](https://github.com/opensquad-ai/opensquad/commits/main)\n[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](https://github.com/opensquad-ai/opensquad/blob/main/CONTRIBUTING.md)\n\n\u003c/div\u003e\n\n\u003cbr\u003e\n\nOpenSquad 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.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc_en/screenshots/image_en0.png\" alt=\"OpenSquad overview\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"doc_en/screenshots/agent-workstation.png\" alt=\"OpenSquad Agent Workstation\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n---\n\n## What is OpenSquad\n\nOpenSquad 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.\n\n## What Problems It Solves\n\nA single AI agent has clear limitations when dealing with complex projects:\n\n- **Limited context window** — Cannot handle the full context of requirements, coding, and testing simultaneously\n- **Role confusion** — One agent juggling multiple roles leads to oversight\n- **No parallelism** — Serial execution results in low efficiency\n- **No review process** — No independent QA role for quality assurance\n\nOpenSquad solves these through multi-agent collaboration: PM handles task decomposition and coordination, Coder focuses on implementation, QA independently verifies — each with a clear responsibility.\n\n## Architecture (overview)\n\n```mermaid\nflowchart TB\n    User[\"User / Web UI\"] --\u003e GW[\"Gateway :9555\"]\n    GW --\u003e LA[\"Launcher :9600\"]\n    LA --\u003e PM[\"PM Agent\"]\n    LA --\u003e Dev[\"Coder Agent\"]\n    LA --\u003e QA[\"QA Agent\"]\n    PM \u0026 Dev \u0026 QA --\u003e IM[\"Group chat / IM\"]\n    PM \u0026 Dev \u0026 QA --\u003e Plugins[\"Plugins / MCP / Skills\"]\n    Plugins --\u003e Svc[\"Service plugins e.g. websearch :9001\"]\n```\n\nDetails: [Architecture](doc_en/ARCHITECTURE.md) · [Documentation hub](docs/README.md)\n\n## Key Features\n\n- **Collab Card driven** — Predefined workflow templates (software dev, code review, research, etc.) with PM coordinating the team per card protocol\n- **Group chat communication** — Agents collaborate via natural language group chat with @mentions, sleep/wake, and status queries\n- **Independent process architecture** — Each agent runs independently, can be restarted and configured separately\n- **Long-term memory** — Cross-session semantic memory system for agents to accumulate experience and knowledge\n- **Interruptible sleep** — Agents can proactively sleep and wait for events, auto-waking on new messages\n- **Plugin system** — 20 built-in plugins covering search, voice, version control, platform integrations, and more\n- **Skill system** — Reusable task instructions defined via Markdown files\n- **MCP support** — Dynamically connect external MCP servers to extend tool capabilities\n- **Multi-platform access** — Web UI, Telegram, Feishu/Lark, QQ, and other interaction channels\n- **Local-first** — Data and API keys stay on your machine, no third-party upload required\n\n---\n\n## Quick Start (about 10 minutes)\n\n1. **Clone** this repository.\n2. **Install** with `uv sync` (or `install.bat` / `install.sh`).\n3. **Configure LLM**: copy a model card template and set `api_key` in `src/model_cards/` (see [model cards guide](doc_en/model_cards_guide.md)).\n4. **Initialize workspace**: `uv run opensquad init` (creates `~/.opensquad/workspace` by default).\n5. **Start services**: `uv run opensquad start`.\n6. **Open UI**: `http://127.0.0.1:5173` (or Gateway port from `system_config`).\n\n### Prerequisites\n\n- Python 3.11+ (officially tested on 3.11 / 3.12 / 3.13)\n- Node.js 18+ (for frontend development)\n- A compatible LLM API (DeepSeek, GPT-4, Claude, Gemini, GLM, etc.)\n\n---\n\n### Option 1: One-Click Script (Recommended, Beginner Friendly)\n\n**Windows**\n```bash\ngit clone https://github.com/opensquad-ai/opensquad.git \u0026\u0026 cd opensquad \u0026\u0026 install.bat\n```\n\n**Linux / macOS**\n```bash\ngit clone https://github.com/opensquad-ai/opensquad.git \u0026\u0026 cd opensquad \u0026\u0026 bash install.sh\n```\n\nThe script automatically: checks prerequisites → installs dependencies → initializes workspace → starts all services.\n\n\u003e **Note**: After first start, add your LLM API key to a model card under `src/model_cards/`.\n\n### Option 2: uv (Recommended)\n\n[uv](https://github.com/astral-sh/uv) is a fast Python package manager. Recommended.\n\n```bash\n# Install uv (if not already)\npip install uv\n\n# Clone the project\ngit clone https://github.com/opensquad-ai/opensquad.git\ncd opensquad\n\n# Install dependencies (uses uv.lock for reproducible builds)\nuv sync\n\n# Install frontend dependencies\ncd src/opensquad/gateway/nexuschat-pro \u0026\u0026 npm install \u0026\u0026 cd ../../..\n\n# Initialize and start\nuv run opensquad init\nuv run opensquad start\n```\n\n### Option 3: pip\n\n```bash\ngit clone https://github.com/opensquad-ai/opensquad.git\ncd opensquad\n\npip install -e .\n\n# Install frontend dependencies\ncd src/opensquad/gateway/nexuschat-pro \u0026\u0026 npm install \u0026\u0026 cd ../../..\n\n# Initialize and start\nopensquad init\nopensquad start\n```\n\n### Option 4: Docker\n\n```bash\ngit clone https://github.com/opensquad-ai/opensquad.git\ncd opensquad\n\n# Start (auto-builds image)\ndocker compose up -d\n\n# View logs\ndocker compose logs -f\n```\n\nAfter start, visit `http://localhost:9555`. Data is persisted in Docker volumes.\n\nCustom configuration:\n```bash\n# Edit config\ncp src/system_config.example.json src/system_config.json\n# Fill in your LLM API Key...\n\n# Mount config and start\ndocker run -d \\\n  -p 9555:9555 -p 9600:9600 -p 9720:9720 \\\n  -v opensquad-data:/data \\\n  -v ./src/system_config.json:/app/src/system_config.json:ro \\\n  opensquad\n```\n\n---\n\n## Services\n\n`opensquad start` launches all 4 services:\n\n| Service | Port | Description |\n|---------|------|-------------|\n| Gateway Backend | 9555 | FastAPI backend (WebSocket + HTTP) |\n| Plugin Registry | 9720 | Plugin store API |\n| Frontend Dev | 5173 | Vite React frontend |\n| Launcher | 9600 | Agent process manager |\n\nOpen `http://127.0.0.1:5173` in your browser to create and configure agents via the Web UI.\n\n---\n\n## CLI Commands\n\n| Command | Description |\n|---------|-------------|\n| `opensquad init [--workspace \u003cpath\u003e]` | Initialize workspace (default: `~/.opensquad/workspace`) |\n| `opensquad start [--port \u003cport\u003e]` | Start all services |\n| `opensquad stop` | Stop all OpenSquad services (frontend, gateway, launcher, adapters, agent processes) |\n| `opensquad status` | Show agent and service status |\n| `opensquad plugin list` | List installed plugins |\n| `opensquad plugin install \u003cid\u003e` | Install a plugin from the store or Git URL |\n| `opensquad plugin uninstall \u003cid\u003e` | Uninstall a plugin |\n\nRun without installing:\n```bash\npython -m opensquad.cli start\n```\n\n---\n\n## Configuration\n\nCopy `system_config.example.json` to your workspace or `src/system_config.json` (see [architecture-paths](doc_en/architecture-paths.md)):\n\n```json\n{\n  \"hosts\": { \"gateway\": \"127.0.0.1\" },\n  \"ports\": { \"gateway\": 9555, \"launcher\": 9600, \"websearch\": 9001 },\n  \"auth\": { \"node_secret\": \"your-secret-here\" }\n}\n```\n\n**Never commit** real `system_config.json`, `auth.json`, or model cards with API keys.\n\nLLM API keys live in model cards (`src/model_cards/*.json`). Agents are created via the Web UI at runtime.\n\n---\n\n## Documentation\n\n**Start here:** [Documentation hub](docs/README.md) → [Getting started (EN)](doc_en/getting_started.md)\n\n| Document | Description |\n|----------|-------------|\n| [Architecture](doc_en/ARCHITECTURE.md) | System design and module map |\n| [Collaboration](doc_en/COLLABORATION.md) | Multi-agent workflows |\n| [Plugin ecosystem](doc_en/PLUGIN_ECOSYSTEM.md) | Built-in plugins vs Registry |\n| [Contributing](CONTRIBUTING.md) | How to contribute |\n| [Releasing](RELEASING.md) | Maintainer release checklist |\n\n---\n\n## Contributing\n\nIssues and Pull Requests are welcome! Please read the [Contributing Guide](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md) first.\n\n---\n\n## License\n\nMIT License — see [LICENSE](LICENSE) for details.\n\n*Powered by OpenSquad Core*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensquad-ai%2Fopensquad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopensquad-ai%2Fopensquad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopensquad-ai%2Fopensquad/lists"}