Examples

August 8, 2026 · View on GitHub

Runnable scripts demonstrating open-multi-agent. Organized by category — pick one that matches what you're trying to do.

All scripts run with npx tsx packages/core/examples/<category>/<name>.ts. Scripts that call a model require the corresponding API key in your environment. The full applications (see the apps section below) are the exception: they have their own package.json and start scripts.

catalog.json is the machine-readable inventory and website classification contract. The physical directories below remain the maintenance taxonomy; a catalog goal controls discovery by user intent without requiring a file move. npm run test:example-catalog validates the metadata and fails when a standalone example or top-level example directory is not registered.


basics — start here

Core execution modes and input shapes. Read these first.

ExampleWhat it shows
basics/single-agentOne agent with bash + file tools, then streaming via the Agent class.
basics/structured-inputCaller-owned message history and image blocks through runAgent().
basics/team-collaborationrunTeam() coordinator pattern — goal in, results out.
basics/task-pipelinerunTasks() with explicit task DAG and dependencies.
basics/multi-model-teamDifferent models per agent in one team.

providers — model & adapter examples

One example per supported provider. All follow the same three-agent (architect / developer / reviewer) shape so they're easy to compare.

ExampleProviderEnv var
providers/ollamaOllama (local) + ClaudeANTHROPIC_API_KEY
providers/gemma4-localGemma 4 via Ollama (100% local)
providers/local-quantizedQuantized MoE on vLLM / llama-server with tuned sampling (topK / minP / frequencyPenalty / parallelToolCalls / extraBody.repetition_penalty)
providers/copilotGitHub Copilot (GPT-4o + Claude)GITHUB_TOKEN
providers/azure-openaiAzure OpenAIAZURE_OPENAI_API_KEY, AZURE_OPENAI_ENDPOINT (+ optional AZURE_OPENAI_API_VERSION, AZURE_OPENAI_DEPLOYMENT)
providers/bedrockAWS Bedrock (Claude via Converse API)AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION
providers/grokxAI GrokXAI_API_KEY
providers/geminiGoogle GeminiGEMINI_API_KEY
providers/minimaxMiniMax M3MINIMAX_API_KEY
providers/mimoMiMo V2.5 ProMIMO_API_KEY
providers/hunyuanTencent Hunyuan (MaaS, hy3)HUNYUAN_API_KEY
providers/deepseekDeepSeek ChatDEEPSEEK_API_KEY
providers/openrouterOpenRouter (OpenAI-compatible)OPENROUTER_API_KEY
providers/groqGroq (OpenAI-compatible)GROQ_API_KEY
providers/mistralMistral (OpenAI-compatible)MISTRAL_API_KEY
providers/zhipuZhipu GLM (OpenAI-compatible)ZHIPU_API_KEY
providers/doubaoDoubao / ByteDance (OpenAI-compatible)ARK_API_KEY
providers/qiniuQiniu (OpenAI-compatible)QINIU_API_KEY
providers/qwenQwen / DashScope (OpenAI-compatible)DASHSCOPE_API_KEY
providers/moonshotMoonshot AI / Kimi (OpenAI-compatible)MOONSHOT_API_KEY

patterns — orchestration patterns

Reusable shapes for common multi-agent problems.

ExamplePattern
patterns/fan-out-aggregateMapReduce-style fan-out via AgentPool.runParallel().
patterns/structured-outputZod-validated JSON output from an agent.
patterns/rich-tool-resultsKeep application-owned tool data separate while returning image content to the model.
patterns/task-retryPer-task retry with exponential backoff.
patterns/multi-perspective-code-reviewMultiple reviewer agents in parallel, then synthesis.
patterns/research-aggregationMulti-source research collated by a synthesis agent.
patterns/event-driven-dagNo-key deferred-promise proof that a downstream task starts when its dependency completes without waiting for unrelated work.
patterns/cost-tiered-pipelineRun the same four-stage pipeline twice to compare flagship vs tiered model cost.
patterns/agent-handoffSynchronous sub-agent delegation via delegate_to_agent.
patterns/risk-gated-bashPer-call onToolCall gate + classifyBashCommand: auto-pass read-only bash, human-review ambiguous, block destructive.
patterns/durable-approvalNo-key suspend → atomic reviewer decision → fresh-orchestrator restore of the exact approved task.
patterns/plan-replayPin a coordinator plan with createPlanArtifact, then replay it with runFromPlan, no coordinator re-run.
patterns/consensusProposer→judge refutation loop via runConsensus(): default judge prompt and per-judge judgePrompt function.
patterns/cross-provider-reasoningPreserve a reasoning model's thought stream across providers via preserveReasoningAsText.
patterns/eval-offline-regressionNo-key EvalSet regression across two model configurations with rule + judge scorers and a gate.
patterns/eval-online-samplingBest-effort online sampling into FileEvalStore with explicit flush and shutdown.

cookbook — use-case recipes

End-to-end examples framed around a concrete problem (meeting summarization, translation QA, competitive monitoring, etc.) rather than a single orchestration primitive. Lighter bar than production/: no tests or pinned model versions required. Good entry point if you want to see how the patterns compose on a real task.

ExampleProblem solved
cookbook/adaptive-customer-supportrunTeam() selects only the relevant specialists for a shipping or billing escalation, then synthesizes a grounded customer response.
cookbook/meeting-summarizerFan-out post-processing of a transcript into summary, structured action items, and sentiment.
cookbook/contract-review-dag4-task DAG (extract → compliance-check + summary → notify) with step-level retry. Run normally or with FORCE_FAIL=task2 to exercise retry.
cookbook/incident-postmortem-dag5-task DAG with three parallel root tasks (log patterns + deploy correlation + blast radius) feeding root-cause hypothesis and final postmortem synthesis.
cookbook/competitive-monitoringParallel source monitoring (Twitter/Reddit/News), contradiction detection, and aggregated intelligence reporting.
cookbook/paper-replication-triageMulti-source paper replication triage with artifact discovery, seeded conflicts, and a structured go/no-go plan.
cookbook/rare-disease-information-triageSource-isolated rare disease information triage with mock fixtures, seeded misinformation/conflict detection, and safety-boundary arbitration.
cookbook/personalized-interview-simulatorInteractive interviewer loop with observer flags, shared memory, and structured debrief.
cookbook/narrative-puzzle-hint-arbitrationMulti-source hint arbitration with an external safety veto that sits outside the generation loop.
cookbook/translation-backtranslationTranslate → back-translate with a different provider → flag semantic drift (cross-model).

integrations — external systems

Hooking the framework up to outside-the-box tooling.

ExampleIntegrates with
integrations/trace-observabilityonTrace spans for LLM calls, tools, and tasks.
integrations/observability-v2/No-key runnable v2 batching, InMemory/File TraceStore, OTel in-memory provider, CLI, SIGTERM server, and FaaS lifecycle examples.
integrations/mcp-githubAn MCP server's tools exposed to an agent via connectMCPTools().
integrations/mcp-bilig-workpaperBilig WorkPaper MCP tools for formula readback, recalculation, and persisted workbook JSON.
integrations/mcp-open-designBatch fan-out over an MCP server's async jobs: N Open Design runs generated in parallel via runTasks(), each polling get_run to completion with code-driven orchestration.

apps — full applications

Complete, clone-and-run applications with their own package.json and dependencies. These embed OMA in a real backend, so they use npm install plus their own start script rather than npx tsx.

ExampleStackRun
integrations/express-customer-support/Express REST API: runTasks() behind POST /tickets, per-agent Zod schemas, swappable provider env vars, HTTP error mapping (400/502/504)npm install && npm start
integrations/with-vercel-ai-sdk/Next.js: OMA runTeam() plus AI SDK useChat streamingnpm install && npm run dev

production — real-world use cases

End-to-end examples wired to real workflows. Higher bar than the categories above. See production/README.md for the acceptance criteria and how to contribute.


Adding a new example

You're adding…Goes in…Filename
A new model providerproviders/<provider-name>.ts (lowercase, hyphenated)
A reusable orchestration patternpatterns/<pattern-name>.ts
A use-case-driven example (problem-first, uses one or more patterns)cookbook/<use-case>.ts
Integration with an outside system (MCP server, observability backend, framework, app)integrations/<system>.ts or <system>/ for multi-file
A real-world end-to-end use case, production-gradeproduction/<use-case>/ directory with its own README

Conventions:

  • No numeric prefixes. Folders signal category; reading order is set by this README.
  • File header docstring with one-line title, Run: block, and prerequisites.
  • Imports should resolve as from '../../src/index.js' for scripts (one level deeper than the old flat layout); full applications with their own package.json import the published @open-multi-agent/core package name instead.
  • Match the provider template when adding a provider: three-agent team (architect / developer / reviewer) building a small REST API. Keeps comparisons honest.
  • Add a row to the table in this file for the corresponding category.
  • Add exactly one entry to catalog.json, including its user goal, capability tags, format, level, and any directory entrypoints. Do not move an example merely to change its website grouping.