Универсальный диалоговый режим, поддерживающий различные AI API и форматы сообщений.
- Мульти-провайдер: K2Think.ai, OpenAI, Anthropic, кастомные API
- Универсальный формат: Стандартизированная структура запросов/ответов
- Потоковая обработка: Поддержка stream для реального времени
- История диалога: Автоматическое сохранение контекста
- Гибкая конфигурация: JSON config или переменные окружения
npm run universalСоздайте config.json:
{
"provider": "k2think",
"model": "MBZUAI-IFM/K2-Think",
"systemPrompt": "Ты - полезный AI ассистент",
"temperature": 0.7,
"maxTokens": 1024,
"stream": true
}{
"provider": "k2think",
"cookies": "ваши_cookies",
"model": "MBZUAI-IFM/K2-Think"
}{
"provider": "openai",
"apiKey": "sk-...",
"model": "gpt-4",
"baseUrl": "https://api.openai.com/v1"
}{
"provider": "anthropic",
"apiKey": "sk-ant-...",
"model": "claude-3-sonnet-20240229"
}{
"provider": "custom",
"baseUrl": "https://your-api.com",
"endpoint": "/v1/chat/completions",
"apiKey": "your-key",
"customHeaders": {
"X-Custom-Header": "value"
}
}Библиотека конвертирует все запросы в универсальный формат:
{
"model": "gpt-4.1",
"input": [
{
"role": "system",
"content": [
{
"type": "input_text",
"text": "системный промпт"
}
]
},
{
"role": "user",
"content": [
{
"type": "input_text",
"text": "сообщение пользователя"
}
]
},
{
"role": "assistant",
"content": [
{
"type": "output_text",
"text": "ответ ассистента"
}
]
}
],
"text": {
"format": {
"type": "text"
}
},
"reasoning": {},
"tools": [],
"temperature": 1,
"max_output_tokens": 2048,
"top_p": 1,
"store": true,
"include": ["web_search_call.action.sources"]
}const UniversalDialog = require('./src/universal-dialog');
const config = {
provider: 'k2think',
model: 'MBZUAI-IFM/K2-Think',
systemPrompt: 'Ты - эксперт по программированию'
};
const dialog = new UniversalDialog(config);
// Отправить сообщение
const response = await dialog.sendMessage('Как работает async/await?');
console.log(response.content);
// Получить историю
const history = dialog.getHistory();
// Сохранить историю
dialog.saveHistory('my-conversation.json');K2THINK_COOKIES- cookies для K2Think.aiAPI_KEY- API ключ для OpenAI/Anthropic/других
| Характеристика | Оригинальный диалог | Универсальный диалог |
|---|---|---|
| Провайдеры | Только K2Think.ai | Мульти-провайдер |
| Формат | K2Think специфичный | Универсальный |
| Конфигурация | Hardcoded | Гибкая JSON |
| История | Базовая | Расширенная |
| Расширяемость | Ограничена | Полная |
- Единый интерфейс для разных AI API
- Стандартизированный формат запросов/ответов
- Легкое переключение между провайдерами
- Расширяемость для новых API
- Сохранение контекста в универсальном формате
- Гибкая настройка параметров модели
Запустите npm run universal чтобы начать работу!