unsloth/studio/backend
Roland Tannous 8a574de915 feat: persistent Access Endpoint API key with Regenerate button
The API key used to live only in process memory, so restarting Studio,
switching models, or toggling Disable/Enable silently invalidated every
external client that was using it. Users had to reopen the dialog, copy
the new key, and update their scripts each time.

Key state is now stored at ~/.unsloth/studio/auth/access_endpoint.json
(atomic write, mode 0600). The file survives backend restarts and
model load/unload. Disable preserves the key on disk and only clears
it from app.state, so Enable brings the same key back. Loading a
different GGUF keeps the endpoint running transparently under the new
model identifier.

Rotation is an explicit user action: a new JWT-protected
POST /access-endpoint/regenerate route mints a fresh key and is wired
to a "Regenerate" button next to the API Key field in the dialog.
Deliberately not dual-auth so a leaked key cannot rotate itself.
2026-04-09 20:24:19 +00:00
..
assets Add Gemma 4 model sampling defaults (#4838) 2026-04-03 13:57:15 -07:00
auth feat: backend API key auth + access-endpoint route for external OpenAI-compatible access 2026-04-09 01:23:36 +00:00
core feat: boot llama-server with --parallel 4 by default 2026-04-09 14:56:01 +00:00
loggers Final cleanup 2026-03-12 18:28:04 +00:00
models studio: add speculative decoding support (ngram-mod, on by default) (#4836) 2026-04-03 13:56:59 -07:00
plugins Bump Data Designer to 0.5.4 (removes litellm dependency) (#4569) 2026-03-25 02:01:43 -07:00
requirements Pin transformers and huggingface-hub in main Studio venv (#4788) 2026-04-02 09:21:30 -07:00
routes feat: persistent Access Endpoint API key with Regenerate button 2026-04-09 20:24:19 +00:00
state Final cleanup 2026-03-12 18:28:04 +00:00
storage feat: custom scan folders for GGUF model discovery (#4723) 2026-03-31 06:40:31 -07:00
tests split venv_t5 into tiered 5.3.0/5.5.0 and fix trust_remote_code (#4878) 2026-04-07 20:05:01 +04:00
utils feat: persistent Access Endpoint API key with Regenerate button 2026-04-09 20:24:19 +00:00
__init__.py Final cleanup 2026-03-12 18:28:04 +00:00
_platform_compat.py Fix Studio crash on Anaconda/conda-forge Python (#4484) 2026-03-22 05:36:55 -07:00
colab.py Fix/studio colab button message: Add fallback message for Colab Studio button when proxy URL fails (#4866) 2026-04-05 21:57:45 -07:00
main.py feat: persistent Access Endpoint API key with Regenerate button 2026-04-09 20:24:19 +00:00
run.py feat: backend API key auth + access-endpoint route for external OpenAI-compatible access 2026-04-09 01:23:36 +00:00
startup_banner.py studio: unify Windows installer/setup logging style, verbosity controls, and startup messaging (#4651) 2026-03-30 00:53:23 -07:00