@movevom/ai-api-manager
v2.0.0
Published
一个 “全量聚合包”:把 `@movevom/ai-api-manager-*` 相关能力统一 re-export,方便一条依赖直接上手。
Maintainers
Readme
@movevom/ai-api-manager
一个 “全量聚合包”:把 @movevom/ai-api-manager-* 相关能力统一 re-export,方便一条依赖直接上手。
安装
npm i @movevom/ai-api-manager最小示例(Router)
import {
createAdapterRegistry,
createAgfModePolicyEngine,
createAiRouter,
createFetchHttpClient,
createLocalStorageKeyProvider,
createLocalStorageMetricStore,
createOpenAIAdapter,
createAnthropicAdapter,
createGeminiNativeAdapter,
getCatalog,
} from '@movevom/ai-api-manager'
const adapters = createAdapterRegistry([
createOpenAIAdapter({ providerId: 'chatgpt' }),
createAnthropicAdapter({ providerId: 'claude' }),
createGeminiNativeAdapter({ providerId: 'gemini' }),
])
const keys = createLocalStorageKeyProvider({ prefix: 'ai-api-manager:key:' })
const metrics = createLocalStorageMetricStore({ prefix: 'ai-api-manager:metrics:' })
const policy = createAgfModePolicyEngine({
keys,
officialCn: { providerId: 'deepseek', modelId: 'deepseek-chat' },
officialIntl: { providerId: 'chatgpt', modelId: 'gpt-4o-mini' },
defaultUser: { providerId: 'chatgpt', modelId: 'gpt-4o-mini' },
})
const router = createAiRouter({
catalog: { getCatalog },
adapters,
keys,
metrics,
policy,
http: createFetchHttpClient(),
defaultStrategy: 'fixed',
})
const res = await router.chat({
messages: [{ role: 'user', content: 'hello' }],
pick: { mode: 'official', countryCode: 'CN' },
})
console.log(res.text)注意:providerId 必须与 catalog 里的 provider.id 一致(getCatalog() 的默认 provider id 包含 chatgpt/claude/gemini/deepseek/...)。
文档
- 仓库与总览:https://github.com/zuoguyoupan/ai-api-manager
