litellm/ui/litellm-dashboard
moyai-devin-berriai[bot] e2276ac2b9
feat(ui): let admins find, call, and test decision models from the Admin UI (#45654)
* feat(ui): announce decision model support in Models + Endpoints

* feat(ui): make decision models findable, callable, and testable from the Admin UI

Add Model provider search now matches decision model names and shows a note on where to call a decision model. The banner links to the docs and opens Add Model. The System One playground defaults to /v1/systemone with a picker of the proxy's decision models, and the model hub shows a /v1/systemone usage example for evaluation models.

* fix(ui): keep the admin signed in when a typed virtual key cannot list decision models

The System One playground looked up a typed virtual key's decision models through
the dashboard's shared request client, so an expired key signed the admin out, and
typing a key by hand sent one lookup per keystroke. The lookup now uses the same
client as Send, against the same proxy, and waits for typing to stop

* fix(ui): hide decision model Playground links from view-only sessions

A proxy admin viewer cannot open the Playground, so the Models + Endpoints
decision models banner and the AI Hub's Try it in the Playground link sent
them to an Access Denied page. Hide both for view-only sessions.

* fix(ui): send the AI Hub decision example's key in the proxy's configured header

A proxy with litellm_key_header_name set reads keys only from that header,
so the example's hardcoded Authorization header was rejected. Use the header
name the dashboard already reads from the session.

* fix(ui): stop the decision model notice from ruling out /chat/completions for dual-mode models

* fix(ui): point only users who can add models at Add Model in the decision models banner

---------

Co-authored-by: moyai-devin-berriai[bot] <336287033+moyai-devin-berriai[bot]@users.noreply.github.com>
Co-authored-by: mateo-berri <277851410+mateo-berri@users.noreply.github.com>
2026-10-09 18:13:21 -07:00
..
.agents/skills/url-state refactor(ui): route dashboard URL state through nuqs parsers (#44537) 2026-10-04 22:49:51 -07:00
public fix(ui): show the Microsoft 365 Copilot logo instead of the Azure one (#45687) 2026-10-09 22:42:31 +00:00
scripts feat(ui): share trace drawer as a closable SidePanel and polish Lens (#44473) 2026-10-04 02:20:14 +00:00
src feat(ui): let admins find, call, and test decision models from the Admin UI (#45654) 2026-10-09 18:13:21 -07:00
tests refactor(lens): connect LiteLLM to the independent Lens service (#45529) 2026-10-09 16:17:05 -07:00
vendor refactor(lens): connect LiteLLM to the independent Lens service (#45529) 2026-10-09 16:17:05 -07:00
.env.development
.env.production remove next env 2026-04-18 16:45:32 -07:00
.npmrc chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
.nvmrc chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
.prettierignore feat(ui): generate dashboard API types from the proxy OpenAPI spec (#29816) 2026-06-05 17:20:01 -07:00
.prettierrc
AGENTS.md docs(agents): ban semicolons and colons in human-facing text (#45684) 2026-10-09 16:36:32 -07:00
build_release_ui.sh
build_ui.sh chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
build_ui_custom_path.sh chore(build): move the Admin UI toolchain to Node 24 (#35801) 2026-08-04 12:36:07 -07:00
components.json refactor(ui): switch shadcn primitives from Radix to Base UI (#32124) 2026-07-07 09:55:41 -07:00
eslint-budgets.json fix(ui): split the KeyActivityPanel condition chains to bring the lint budget back under its ceiling (#44114) 2026-10-01 18:42:12 -07:00
eslint-suppressions.json feat(lens): simplify deployment and first trace setup (#45230) 2026-10-07 19:22:56 -07:00
eslint.config.mjs refactor(ui): move TraceView into components/lens/traces (#44501) 2026-10-04 10:00:48 -07:00
knip.json fix(ui): register type-test files as knip entry points 2026-08-10 15:42:09 -07:00
next.config.mjs refactor(lens): connect LiteLLM to the independent Lens service (#45529) 2026-10-09 16:17:05 -07:00
package-lock.json refactor(lens): connect LiteLLM to the independent Lens service (#45529) 2026-10-09 16:17:05 -07:00
package.json refactor(lens): connect LiteLLM to the independent Lens service (#45529) 2026-10-09 16:17:05 -07:00
postcss.config.js feat(ui): shadcn migration foundation: Tailwind v4, shadcn init, antd cascade fix (#31995) 2026-07-02 19:02:27 -07:00
README.md
tsconfig.json test(e2e): move Admin UI Playwright suite to tests/e2e/ui (#34196) 2026-07-22 19:43:10 +00:00
tsconfig.production.json feat(traces): tracing development seed (#44363) 2026-10-03 09:59:51 +00:00
vitest.config.ts test(ui): split the vitest suite into unit, component, integration and type projects (#37488) 2026-08-19 20:40:14 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Inter, a custom Google Font.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.