cherry-studio/packages/ai-sdk-provider
defi-failure c48f222cdb
feat: add endpoint type support for cherryin provider (#11367)
* feat: add endpoint type support for cherryin provider

* chore: bump @cherrystudio/ai-sdk-provider version to 0.1.1

* chore: bump ai-sdk-provider version to 0.1.3
2025-11-21 21:42:08 +08:00
..
src feat: add endpoint type support for cherryin provider (#11367) 2025-11-21 21:42:08 +08:00
package.json feat: add endpoint type support for cherryin provider (#11367) 2025-11-21 21:42:08 +08:00
README.md feat: add @cherrystudio/ai-sdk-provider package and integrate (#10715) 2025-11-12 18:16:27 +08:00
tsconfig.json feat: add @cherrystudio/ai-sdk-provider package and integrate (#10715) 2025-11-12 18:16:27 +08:00
tsdown.config.ts feat: add @cherrystudio/ai-sdk-provider package and integrate (#10715) 2025-11-12 18:16:27 +08:00

@cherrystudio/ai-sdk-provider

CherryIN provider bundle for the Vercel AI SDK.
It exposes the CherryIN OpenAI-compatible entrypoints and dynamically routes Anthropic and Gemini model ids to their CherryIN upstream equivalents.

Installation

npm install ai @cherrystudio/ai-sdk-provider @ai-sdk/anthropic @ai-sdk/google @ai-sdk/openai
# or
yarn add ai @cherrystudio/ai-sdk-provider @ai-sdk/anthropic @ai-sdk/google @ai-sdk/openai

Note

: This package requires peer dependencies ai, @ai-sdk/anthropic, @ai-sdk/google, and @ai-sdk/openai to be installed.

Usage

import { createCherryIn, cherryIn } from '@cherrystudio/ai-sdk-provider'

const cherryInProvider = createCherryIn({
  apiKey: process.env.CHERRYIN_API_KEY,
  // optional overrides:
  // baseURL: 'https://open.cherryin.net/v1',
  // anthropicBaseURL: 'https://open.cherryin.net/anthropic',
  // geminiBaseURL: 'https://open.cherryin.net/gemini/v1beta',
})

// Chat models will auto-route based on the model id prefix:
const openaiModel = cherryInProvider.chat('gpt-4o-mini')
const anthropicModel = cherryInProvider.chat('claude-3-5-sonnet-latest')
const geminiModel = cherryInProvider.chat('gemini-2.0-pro-exp')

const { text } = await openaiModel.invoke('Hello CherryIN!')

The provider also exposes completion, responses, embedding, image, transcription, and speech helpers aligned with the upstream APIs.

See AI SDK docs for configuring custom providers.