Practical overview
When it fits
Use it when a conversational application needs a central routing and orchestration layer rather than a single undifferentiated agent.
Who it is for
- Developers building multi-agent conversational applications
- Teams implementing cloud orchestration in Python or TypeScript
- Apple-platform developers creating on-device agent experiences with Swift
Documented uses
- Route each conversational turn to a suitable specialized agent
- Maintain context across agents and sessions
- Add pre-built or custom agents, classifiers, storage and retrievers
- Handle streamed responses and, in the Swift runtime, realtime voice and MCP tools
Requirements & limits
The repository is public and the project is licensed under Apache-2.0. The documented runtimes are Python 3.11+, Node.js for TypeScript, and iOS 16+ or macOS 14+ for Swift.
- Python and TypeScript are documented for cloud use, while Swift runs the orchestration model on device.
- The framework supports both pre-built and custom agents, classifiers, storage and retrievers.
- Provider examples include Bedrock, Anthropic and OpenAI-related components, so model integration is part of implementation choices.
- The Swift runtime includes MCP tools, realtime voice, tracing and local-first chat storage.
- JevClassifier provides typed decision routing in Python and TypeScript instead of relying on an LLM for the routing decision.
Check current requirements in the official documentation. Source-based guidance does not mean OpenViST has run or independently tested this project.
Set up a TypeScript Agent Squad orchestrator
Install the TypeScript package, add a Bedrock agent and route a request through an orchestrator.
Before you start
- Node.js
- The agent-squad npm package
- A Bedrock agent configuration supported by the project
Steps
Install the package with npm install agent-squad.
Import AgentSquad and BedrockLLMAgent.
Create an AgentSquad instance and add a named agent with a description and streaming setting.
Call routeRequest with the request, user identifier and session identifier, then handle the streamed or non-streamed response.
Expected outcome
A TypeScript application has the documented structure for routing a request to a configured agent and reading its response.
Guide limitations
- The supplied instructions do not provide provider credentials, deployment configuration or a verified execution result.
Add the Swift runtime to an Apple project
Add the Agent Squad Swift package and configure a basic on-device orchestration flow.
Before you start
- Xcode or a Swift Package Manager project
- iOS 16 or later, or macOS 14 or later
- A chat-completions client and API key as used in the example
Steps
Add https://github.com/2FastLabs/agent-squad with the main branch to Package.swift or through Xcode package dependencies.
Import AgentSquad.
Create an Agent with a name, description and chat-completions model client.
Create an Orchestrator with the agent and DeviceChatStorage, then call route with text input, user ID and session ID.
Handle textDelta events from the asynchronous response stream.
Expected outcome
An Apple application has the documented package, agent, device storage and streamed routing setup.
Guide limitations
- The supplied instructions do not provide implementation or deployment details beyond this setup and do not verify a successful run.
Sources & review
Source record details
- Source availability
- Active
- Sources checked
- 2 October 2026
- Original website title
- 2FastLabs/agent-squad · Official homepage title · retained in its source language

