OpenAI-совместимый клиент

Безопасный запуск произвольного OpenAI-compatible клиента без записи секрета в config или shell history.

РежимПротоколыПередача секрета
Безопасный запускopenai-responses, openai-chatОкружение процесса

Предварительные условия

  • Установите опубликованный пакет @unlimgpt/cli.
  • При настройке CLI при необходимости откроет вход и создаст API-ключ; секрет останется в системном хранилище.

Настройка

  • Выполните unlimgpt configure generic-openai, чтобы подготовить профиль и ключ.
  • Запускайте выбранную программу через unlimgpt launch openai: после разделителя -- укажите её установленное имя и обычные аргументы. Адрес и ключ получит только дочерний процесс.
  • Если настройка выполнялась для отдельного профиля, например work, добавьте при запуске --profile work перед --: это выберет его ключ, не переключая активный профиль.

Проверка

  • В запущенном OpenAI-совместимом клиенте отправьте «Ответь одним словом: ГОТОВО», дождитесь непустого ответа и проверьте запрос в Активности API. Текст может отличаться; запрос расходует кредиты.
  • Если использовали --profile work, добавьте тот же флаг перед -- в исполняемый пример ниже, подставив своё имя профиля; иначе пример возьмёт ключ активного профиля.

Для проверки запуска нужен Python 3. Этот пример делает один платный запрос через временное окружение дочернего процесса. Если gpt-5.6-sol недоступна вашему ключу, подставьте ID доступной модели из каталога; секрет не появится в аргументах команды.

bash
unlimgpt launch openai -- python3 - << 'PY'
import json
import os
import urllib.request

body = {"model": "gpt-5.6-sol", "input": "Ответь одним словом: ГОТОВО", "max_output_tokens": 64, "stream": False}
request = urllib.request.Request(
    os.environ["OPENAI_BASE_URL"].rstrip("/") + "/responses",
    data=json.dumps(body).encode("utf-8"),
    headers={"Authorization": "Bearer " + os.environ["OPENAI_API_KEY"], "Content-Type": "application/json"},
    method="POST",
)
with urllib.request.urlopen(request, timeout=60) as response:
    print(response.status, response.headers.get("request-id"))
    print(response.read().decode("utf-8"))
PY

Ротация

  • Сохраните ID старого ключа из unlimgpt keys list, затем создайте новый командой unlimgpt keys create --name rotated-client.
  • Заново запустите клиент через UnlimGPT, выполните запрос и проверьте его в Активности API. Только после этого отзовите старый ключ.

Отзыв

  • Отзывайте ключ на странице API-ключей после проверки нового подключения; это действие прекращает доступ старого ключа.

Откат

  • Файлы клиента не менялись: прекратите запуск через UnlimGPT и, если ключ больше не нужен, отзовите его на странице API-ключей.

Устранение неполадок

ПроблемаРешение
Клиент игнорирует стандартные переменные.Используйте его документированный custom endpoint/secret UI или отдельный guided adapter.

Если запрос не проходит, выполните unlimgpt doctor --client generic-openai и откройте руководство по диагностике. Диагностика не заменяет реальный запрос.

Удаление

  • Остановите использование launcher и отзовите выделенный ключ; файловая конфигурация не создаётся.