mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-01-12 08:59:02 +08:00
Replace Yarn usage with pnpm in CI workflows to standardize package management and leverage pnpm's store/cache behavior. - Use pnpm/action-setup to install pnpm (v) instead of enabling corepack and preparing Yarn. - Retrieve pnpm store path and update cache actions to cache the pnpm store and use pnpm-lock.yaml for cache keys and restores. - Replace yarn commands with pnpm equivalents across workflows: install, i18n:sync/translate, format, build:* and tsx invocation. - Avoid committing lockfile changes by resetting pnpm-lock.yaml instead of yarn.lock when checking for changes. - Update install flags: use pnpm install --frozen-lockfile / --install semantics where appropriate. These changes unify dependency tooling, improve caching correctness, and ensure CI uses pnpm-specific lockfile and cache paths. |
||
|---|---|---|
| .. | ||
| src | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
| tsdown.config.ts | ||
@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/openaito 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.