Один клиент для ваших сервисов. Никаких вендорных SDK.
@kb-labs/platform-client — это zero-dependency TypeScript SDK, который ваши продукты импортируют один раз и используют везде. Кеш, базы данных, vector stores, LLM, аналитика — всё через единый клиент, который маршрутизирует запросы через Gateway.
{
"adapters": {
"llm": "openai",
"cache": "redis",
"vectorStore": "qdrant",
"analytics": "sqlite"
}
}Один клиент. Много backend'ов. Ноль переписываний.
Что вам даёт клиент
LLM
Language model access through a stable interface — swap the provider, the plugin code stays the same.
OpenAI, KB Labs Gateway — more via custom adapters
Cache
Key-value caching with TTL for expensive computations (LLM results, embeddings, scraped data).
Redis — more backends as demand grows
Vector Store
Semantic search over embeddings: upsert, search, delete, filter.
Qdrant — more backends as demand grows
Analytics
Event tracking and time-series aggregation with pluggable backends.
SQLite, DuckDB, JSONL file
Storage
File read/write/list through a single interface — same code runs against local disk or a remote backend.
Local filesystem — more backends as demand grows
Embeddings
Text-to-vector conversion used by semantic search and RAG flows.
OpenAI — more via custom adapters
import { KBPlatform } from '@kb-labs/sdk/platform';
const platform = new KBPlatform({
endpoint: 'http://gateway:4000',
apiKey: process.env.KB_API_KEY,
});
// LLM — provider resolved by platform config
const answer = await platform.llm.complete('Explain this code');
// Cache — backend chosen by platform config, same API for you
await platform.cache.set('session:123', userData, 3600);
// Telemetry — batched, auto-flushed
platform.telemetry.event('user.signup', { plan: 'pro' });Один импорт. Каждая capability. Никакой вендорной обвязки.
Установите @kb-labs/platform-client в свой сервис, подключите к вашему Gateway — и перестаньте писать одну и ту же инфраструктурную обвязку в каждом продукте.