qwen-code-openai-models-settings
v1.0.0
Published
Update qwen-code models in settings from OpenAI-compatible API
Maintainers
Readme
qwen-code-openai-models-settings
Скрипт для обновления моделей в ~/.qwen/settings.json на основе доступных моделей из OpenAI-compatible API.
Возможности
- Получение списка моделей из OpenAI-compatible API (например, https://foundation-models.api.cloud.ru/v1)
- Автоматическое добавление новых моделей в
modelProviders.openai - Сохранение токена в виде переменной окружения в
envsection настроек - Обработка конфликтов (когда модель уже существует)
- Извлечение информации о моделях: контекстный размер, мультимедийные возможности, и т.д.
Установка
npm install -g qwen-code-openai-models-settingsИли запуск через npx:
npx qwen-code-openai-models-settingsСкрипт не требует установки дополнительных зависимостей. Использует встроенные модули Node.js.
Использование
Базовое использование
qwen-code-openai-models-settings --baseUrl <baseUrl> --token <token>Полное использование
qwen-code-openai-models-settings \
--baseUrl https://foundation-models.api.cloud.ru/v1 \
--token YOUR_API_TOKEN \
--settingsPath ~/.qwen/settings.json \
--conflictMode updateПараметры
| Параметр | Обязательный | Описание |
|----------|-------------|----------|
| --baseUrl | Да | URL базового API (например, https://foundation-models.api.cloud.ru/v1) |
| --token | Да | Токен для аутентификации |
| --settingsPath | Нет | Путь к файлу settings.json (по умолчанию: ~/.qwen/settings.json) |
| --conflictMode | Нет | Режим обработки конфликтов: update (по умолчанию), keep, prompt |
Режимы обработки конфликтов
update(по умолчанию): Заменить существующую модель новой из APIkeep: Оставить существующую модель и не обновлять еёprompt: Запросить пользователя интерактивно (работает только в TTY режиме)
Примеры
Пример 1: Обновление моделей с Cloud.ru
qwen-code-openai-models-settings \
--baseUrl https://foundation-models.api.cloud.ru/v1 \
--token OWQ3ZTU1YmYtZTc5NS00NzQ1LWEyZDEtY2Q0NGFkMTY4ZTBm.bd6b2755c87e532318f14db4ed2dbbe8Пример 2: Через npx
npx qwen-code-openai-models-settings \
--baseUrl https://foundation-models.api.cloud.ru/v1 \
--token YOUR_TOKENПример 3: Интерактивное обновление
qwen-code-openai-models-settings \
--baseUrl https://foundation-models.api.cloud.ru/v1 \
--token $CLOUD_TOKEN \
--conflictMode promptСтруктура выходных данных
Скрипт сохраняет:
env.OPENAI_API_KEY_<HOST>: Переменная окружения с токеном (имя формируется на основе hostname изbaseUrl)modelProviders.openai[]: Массив моделей с полями:id: Идентификатор модели (последняя часть отmodel.idв API)name: Отображаемое название моделиdescription: Описание моделиbaseUrl: URL базового APIenvKey: Имя переменной окружения для API ключаmodalities: Мультимедийные возможности (text, vision, audio, video, file)contextWindowSize: Размер контекстаcapabilities: Возможности модели (например,vision: true)customHeaders: HTTP заголовки для запросов
Требования
- Node.js >= 18
- Интернет-соединение для доступа к API
Предупреждения
- Скрипт перезаписывает
modelProviders.openaiв settings.json - Токен сохраняется в открытом виде в файле settings.json
- Убедитесь, что у вас есть резервная копия settings.json перед запуском
Безопасность
- Токены сохраняются в настройках в открытом виде
- Рассмотрите возможность использования переменных окружения вместо сохранения токенов
- Не коммитьте settings.json с токенами в репозиторий
Лицензия
Используется в проекте qwen-code-openai-models-settings
