Skip to content

[Feature] Vercel AI SDK adapter for 60+ provider support #106

@JackChen-me

Description

@JackChen-me

Add an optional AI SDK adapter so users can plug any of AI SDK's 60+ providers into OMA agents.

Design

  • New AISdkAdapter class implementing LLMAdapter
  • New optional adapter field on AgentConfig -- when set, skip createAdapter() factory
  • ai as optional peer dependency (same pattern as @google/genai)
  • Zero breaking changes, existing provider: 'anthropic' / provider: 'openai' unaffected

User-facing API

import { openai } from '@ai-sdk/openai'
import { AISdkAdapter, OpenMultiAgent } from 'open-multi-agent'

const oma = new OpenMultiAgent()
await oma.runAgent(
  {
    name: 'researcher',
    model: 'gpt-4o',
    adapter: new AISdkAdapter(openai('gpt-4o')),
    systemPrompt: 'You are a researcher.',
  },
  'What are the latest AI trends?'
)

Mixed teams work naturally -- some agents use AI SDK providers, others use native adapters.

Scope

  • src/llm/ai-sdk.ts -- AISdkAdapter (chat + stream)
  • Message format conversion (OMA ↔ AI SDK)
  • Tool call mapping (ToolUseBlock ↔ ToolCallPart)
  • adapter? field on AgentConfig/CoordinatorConfig
  • Optional peer dependency in package.json
  • Tests
  • Update README with AI SDK usage example

Context

Raised in #25 by @chocofoxy. Instead of manually verifying OpenAI-compatible providers one by one, this adapter gives instant access to all AI SDK providers (OpenAI, Anthropic, Google, DeepSeek, Mistral, Groq, Qwen, Moonshot, and 50+ more).

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Community contributions welcome — good first issuesenhancementNew feature or requestsource:analysisSource: systematic gap analysissource:feedbackSource: external user feedback (GitHub/Twitter/Reddit/Discord/forks)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions