OpenAI-совместимый клиент
Безопасный запуск произвольного OpenAI-compatible клиента без записи секрета в config или shell history.
Безопасный запуск произвольного OpenAI-compatible клиента без записи секрета в config или shell history.
| Режим | Протоколы | Передача секрета |
|---|---|---|
| Безопасный запуск | openai-responses, openai-chat | Окружение процесса |
@unlimgpt/cli.unlimgpt configure generic-openai, чтобы подготовить профиль и ключ.unlimgpt launch openai: после разделителя -- укажите её установленное имя и обычные аргументы. Адрес и ключ получит только дочерний процесс.work, добавьте при запуске --profile work перед --: это выберет его ключ, не переключая активный профиль.--profile work, добавьте тот же флаг перед -- в исполняемый пример ниже, подставив своё имя профиля; иначе пример возьмёт ключ активного профиля.Для проверки запуска нужен Python 3. Этот пример делает один платный запрос через временное окружение дочернего процесса. Если gpt-5.6-sol недоступна вашему ключу, подставьте ID доступной модели из каталога; секрет не появится в аргументах команды.
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
unlimgpt keys list, затем создайте новый командой unlimgpt keys create --name rotated-client.| Проблема | Решение |
|---|---|
| Клиент игнорирует стандартные переменные. | Используйте его документированный custom endpoint/secret UI или отдельный guided adapter. |
Если запрос не проходит, выполните unlimgpt doctor --client generic-openai и откройте руководство по диагностике. Диагностика не заменяет реальный запрос.