Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

adk-llm-bridge

Package Overview
Dependencies
Maintainers
2
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

adk-llm-bridge

Use any LLM with Google ADK TypeScript - supports AI Gateway, OpenRouter, and 100+ models

latest
Source
npmnpm
Version
0.5.1
Version published
Maintainers
2
Created
Source

adk-llm-bridge

npm version License: MIT

Use any LLM with Google ADK TypeScript in just a few lines of code.

Why?

Google ADK TypeScript comes with built-in Gemini support. This bridge extends it to work with any model from providers like Anthropic, OpenAI, Meta, and more—while keeping all ADK features like multi-agent orchestration, tool calling, and streaming.

Key Benefits

  • Simple — 3 lines to integrate any model
  • Battle-tested — Built on the official OpenAI and Anthropic SDKs
  • Compatible — Works with any OpenAI-compatible API (AI Gateway, OpenRouter, etc.)

Supported Providers

ProviderModelsFeatures
Vercel AI Gateway100+ models (Claude, GPT, Llama, Gemini, etc.)Simple, fast
OpenRouter100+ modelsProvider routing, fallbacks, price optimization
OpenAIGPT-4, o1, o3, etc.Direct API access
AnthropicClaude modelsDirect API access
xAIGrok modelsDirect API access
Custom (OpenAI-compatible)Any modelOllama, vLLM, Azure OpenAI, LM Studio, etc.

Installation

bun add adk-llm-bridge @google/adk
pnpm add adk-llm-bridge @google/adk
npm install adk-llm-bridge @google/adk

Quick Start

import { LlmAgent } from '@google/adk';
import { AIGateway } from 'adk-llm-bridge';

const agent = new LlmAgent({
  name: 'assistant',
  model: AIGateway('anthropic/claude-sonnet-4'),
  instruction: 'You are a helpful assistant.',
});

That's it. All ADK features work: tools, streaming, multi-agent, etc.

Other Providers

import { OpenRouter, OpenAI, Anthropic, XAI, Custom } from 'adk-llm-bridge';

// OpenRouter - 100+ models with routing
model: OpenRouter('anthropic/claude-sonnet-4')

// OpenAI - Direct API
model: OpenAI('gpt-4.1')

// Anthropic - Direct API  
model: Anthropic('claude-sonnet-4-5')

// xAI - Direct API
model: XAI('grok-3-beta')

// Local models (LM Studio, Ollama, etc.)
model: Custom('your-model', { baseURL: 'http://localhost:1234/v1' })

See the examples directory for complete implementations.

Using LLMRegistry (Alternative)

You can also register providers with ADK's LLMRegistry to use string-based model names:

import { LlmAgent, LLMRegistry } from '@google/adk';
import { AnthropicLlm } from 'adk-llm-bridge';

LLMRegistry.register(AnthropicLlm);

const agent = new LlmAgent({
  name: 'assistant',
  model: 'claude-sonnet-4-5',  // String-based model name
  instruction: 'You are a helpful assistant.',
});

Configuration

Environment Variables

AI Gateway:

AI_GATEWAY_API_KEY=your-api-key
AI_GATEWAY_URL=https://ai-gateway.vercel.sh/v1  # optional

OpenRouter:

OPENROUTER_API_KEY=your-api-key
OPENROUTER_SITE_URL=https://your-site.com  # optional, for ranking
OPENROUTER_APP_NAME=Your App Name          # optional, for ranking

Direct Providers:

OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key
XAI_API_KEY=your-xai-key

Programmatic Configuration

Pass options directly to the factory functions:

import { AIGateway, OpenRouter, Anthropic } from 'adk-llm-bridge';

// AI Gateway with custom URL
model: AIGateway('anthropic/claude-sonnet-4', {
  apiKey: process.env.MY_API_KEY,
  baseURL: 'https://my-gateway.example.com/v1',
})

// OpenRouter with site info
model: OpenRouter('anthropic/claude-sonnet-4', {
  apiKey: process.env.OPENROUTER_API_KEY,
  siteUrl: 'https://your-site.com',
  appName: 'Your App',
})

// Anthropic with custom max tokens
model: Anthropic('claude-sonnet-4-5', {
  apiKey: process.env.ANTHROPIC_API_KEY,
  maxTokens: 8192,
})

Model Format

Use the provider/model format:

anthropic/claude-sonnet-4
openai/gpt-5
google/gemini-3-flash
meta/llama-4-maverick
mistral/mistral-large-3
xai/grok-4.1
deepseek/deepseek-chat
ProviderModels
Anthropicanthropic/claude-sonnet-4, anthropic/claude-opus-4.5
OpenAIopenai/gpt-5, openai/gpt-5-mini, openai/o3
Googlegoogle/gemini-3-flash, google/gemini-3-pro, google/gemini-2.5-pro
Metameta/llama-4-maverick, meta/llama-4-scout, meta/llama-3.3-70b-instruct
Mistralmistral/mistral-large-3, mistral/ministral-3-14b
xAIxai/grok-4.1, xai/grok-4, xai/grok-3
DeepSeekdeepseek/deepseek-chat, deepseek/deepseek-reasoner

Browse all models:

Features

  • Text generation - Simple prompt/response
  • Streaming - Real-time token streaming
  • Tool calling - Function calling with automatic conversion
  • Multi-turn - Full conversation history support
  • Multi-agent - Sub-agents and agent transfer
  • Usage metadata - Token counts for monitoring

Tool Calling Example

import { FunctionTool, LlmAgent } from '@google/adk';
import { Anthropic } from 'adk-llm-bridge';
import { z } from 'zod';

const getWeather = new FunctionTool({
  name: 'get_weather',
  description: 'Get current weather for a city',
  parameters: z.object({
    city: z.string().describe('City name'),
  }),
  execute: ({ city }) => {
    return { status: 'success', weather: 'sunny', city };
  },
});

const agent = new LlmAgent({
  name: 'weather-assistant',
  model: Anthropic('claude-sonnet-4-5'),
  instruction: 'You help users check the weather.',
  tools: [getWeather],
});

API Reference

Factory Functions

FunctionDescription
AIGateway(model, options?)Vercel AI Gateway (100+ models)
OpenRouter(model, options?)OpenRouter (100+ models)
OpenAI(model, options?)OpenAI direct API
Anthropic(model, options?)Anthropic direct API
XAI(model, options?)xAI direct API
Custom(model, options)Any OpenAI-compatible API

Configuration Options

AIGateway:

OptionTypeDefaultDescription
apiKeystringprocess.env.AI_GATEWAY_API_KEYAPI key
baseURLstringhttps://ai-gateway.vercel.sh/v1Gateway URL
timeoutnumber60000Request timeout (ms)
maxRetriesnumber2Max retry attempts

**OpenRouter:

OptionTypeDefaultDescription
apiKeystringprocess.env.OPENROUTER_API_KEYAPI key
baseURLstringhttps://openrouter.ai/api/v1API URL
siteUrlstringprocess.env.OPENROUTER_SITE_URLYour site URL (for ranking)
appNamestringprocess.env.OPENROUTER_APP_NAMEYour app name (for ranking)
providerobject-Provider routing preferences
timeoutnumber60000Request timeout (ms)
maxRetriesnumber2Max retry attempts

**OpenAI:

OptionTypeDefaultDescription
apiKeystringprocess.env.OPENAI_API_KEYAPI key
organizationstringprocess.env.OPENAI_ORGANIZATIONOrganization ID
projectstringprocess.env.OPENAI_PROJECTProject ID
timeoutnumber60000Request timeout (ms)
maxRetriesnumber2Max retry attempts

**Anthropic:

OptionTypeDefaultDescription
apiKeystringprocess.env.ANTHROPIC_API_KEYAPI key
maxTokensnumber4096Max tokens in response
timeoutnumber60000Request timeout (ms)
maxRetriesnumber2Max retry attempts

**XAI:

OptionTypeDefaultDescription
apiKeystringprocess.env.XAI_API_KEYAPI key
timeoutnumber60000Request timeout (ms)
maxRetriesnumber2Max retry attempts

**Custom:

OptionTypeDefaultDescription
modelstring-Model name (required)
baseURLstring-API base URL (required)
namestring"custom"Provider name for logs/errors
apiKeystring-API key for authentication
headersRecord<string, string>-Additional HTTP headers
queryParamsRecord<string, string>-Query parameters for all requests
providerOptionsRecord<string, unknown>-Additional options for request body
timeoutnumber60000Request timeout (ms)
maxRetriesnumber2Max retry attempts

Examples

See the examples directory:

Requirements

  • Node.js >= 18.0.0
  • @google/adk >= 0.2.2

Contributing

See CONTRIBUTING.md for development setup and guidelines.

License

MIT

Keywords

adk

FAQs

Package last updated on 22 May 2026

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts