OpenAI-compatible client
Securely launch an arbitrary OpenAI-compatible client without writing a secret to config or shell history.
Securely launch an arbitrary OpenAI-compatible client without writing a secret to config or shell history.
| Mode | Protocols | Secret delivery |
|---|---|---|
| Secure launch | openai-responses, openai-chat | Child process environment |
@unlimgpt/cli package.unlimgpt configure generic-openai to prepare the profile and key.unlimgpt launch openai: after --, supply its installed executable name and normal arguments. Only the child process receives the Base URL and key.work, add --profile work before -- when launching; this uses that profile's key without changing the active profile.--profile work, add the same flag before -- in the runnable example below, using your actual profile name; otherwise it uses the active profile's key.This launch check requires Python 3 and makes one billable request through the child process environment. If gpt-5.6-sol is unavailable to your key, use an accessible model ID from the catalog; the secret does not appear in command arguments.
unlimgpt launch openai -- python3 - << 'PY'
import json
import os
import urllib.request
body = {"model": "gpt-5.6-sol", "input": "Reply with READY", "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, then create a new key with unlimgpt keys create --name rotated-client.| Problem | Resolution |
|---|---|
| The client ignores standard variables. | Use its documented custom endpoint/secret UI or a dedicated guided adapter. |
If the request fails, run unlimgpt doctor --client generic-openai and see troubleshooting. Diagnostics do not replace a real request.