26ce456bdeb8102ace6ae5e2bdf4afeef0f01b66
Add `usePluginListColumns(pageKey)` so a registered plugin can splice extra columns into a list page's columns hook keyed by page id. The slot is wired into 11 list pages (Models, Model Routes, Clusters, Cloud Credentials, MaaS Providers, Model Files, Model Instances, GPU Service Instances / Public Keys / Storage / Storage Types) so any consumer of the seam reaches every org-scoped list without per-page plumbing. The slot accepts either a static array or a hook function — the hook form lets the registrant use React hooks to decide visibility without the host having to evaluate it. Columns carry a `placement`: `after-name` is the default (sits next to the row's identifying column); `before-time` / `before-operation` are kept for back-compat with the existing per-page `modelRoutes.extraColumns` slot. SealTable-grid pages (Models / Model Routes / Clusters) absorb the plugin column's span by shrinking the widest right-side columns so the 24-unit grid stays balanced. Model Routes' `CREATE_TIME_MIN_SPAN` drops from 3 to 2 because with two plugin columns active the grid was 1 unit over and the action dropdown wrapped onto a new row; the date string ellipsizes cleanly at the lower min. ListItem types for Model Instances, MaaS Providers, Cloud Credentials, and Model Files gain an optional `owner_principal_id` field — the backend already emits it (denormalized from the parent resource), the TS types just hadn't declared it. The GPU Instances page splices the plugin column right before the Cluster column (rather than after Name); the two read together since Cluster narrows down to one Org.
GPUStack UI
UI for GPUStack.
Installation
- Nodejs 16.0+(with NPM)
If you're on Mac
brew install node
npm install -g pnpm
- Setup
git clone https://github.com/gpustack/gpustack-ui/
- Install dependencies
cd gpustack-ui
pnpm install
Usage
- Run development server (at http://localhost:9000)
npm run dev
- build release
npm run build
Bugs & Issues
- Please submit bugs and issues with a label
ui
Links
- Official website: https://gpustack.ai/
- Documents: https://docs.gpustack.ai/latest/overview/
Languages
TypeScript
68.9%
JavaScript
29.4%
Less
1.4%
CSS
0.3%