Skip to content

LLM Adapters Core

Unified interface for multiple AI model providers.

Architecture

AbstractClient

Base class in src/core/adapters/AbstractClient.js:

javascript
class AbstractClient {
  // Send message to LLM
  async sendMessage(messages, options) { }
  
  // Parse tool calls from response
  parseToolCalls(response) { }
  
  // Convert message format
  convertMessages(messages) { }
}

Supported Providers

ProviderClientFeatures
OpenAIOpenAIClientTool calling, streaming, vision
ClaudeClaudeClientTool use, streaming
GeminiGeminiClientFunction calling
DeepSeekUses OpenAI clientOpenAI-compatible

Message Flow

Creating Custom Adapter

  1. Extend AbstractClient
  2. Implement required methods
  3. Register in adapter factory
javascript
import { AbstractClient } from './AbstractClient.js'

export class MyClient extends AbstractClient {
  async sendMessage(messages, options) {
    // Implementation
  }
}

Next Steps

Released under the MIT License