Tools
Terminal UI
The keyboard-first provider workspace built into the numes command: tabs, endpoint setup, keys, status pills and terminal size.
The numes command includes a full-screen terminal workspace for everything a self-hosted provider does: sign in, set up endpoints, choose models and prices, publish, start and stop serving, answer review feedback, check failed models again, and watch usage and earnings. It runs in any terminal, including over SSH.
numes provider tui # open the terminal UInumes provider tui --profile NAME # open it with an endpoint selectedEach endpoint is one local profile serving one source, such as Ollama or an upstream API, and is shown by its name, for example "Ollama on this machine". Quitting with q never stops your endpoints; they keep serving in the background. When a newer release is available, a notice shows the command to install it, numes update.
Layout
The layout matches the desktop app: a tab bar, a live ticker, the work area and, on wide terminals, an inspector pane on the right.
| Tab | Key | What it shows |
|---|---|---|
| Overview | 1 | Unfinished setups as Continue setup lines, every endpoint with its models, live usage and recent activity. |
| Endpoints | 2 | Every endpoint and model with requests, tokens per second and prices, as a tree or a sortable table. Search, filter and fold here. |
| Earnings | 3 | Earnings for one account over 7, 30 or 90 days, by endpoint and model, with available and pending balances and withdrawals. USD and Bitcoin are always shown separately. |
| Activity | 4 | A 24-hour timeline per endpoint, then platform alerts and this machine's management operations by day. Enter expands a line with its reason and next step. |
| Account | 5 | Your accounts with their role, providers, endpoints on this machine and balances, plus sign-in and this machine's version. |
Attention counter. At the right of the tab bar, for example
▲ 2 need attention, counts current problems: models with review feedback, missing names or failed checks, a failed local process, a platform state that needs action, or an operation with an uncertain outcome. Pressaor click it to open the list;Enteron an item goes straight to the fix.Ticker. Requests in flight and capacity, tokens and requests per minute, success, time to first token, today's earnings, running endpoints and live models. Missing data reads
—, never zero.Status bar. On terminals at least 30 rows tall: this machine, the agent version, running endpoints and when platform data last loaded.
Platform data such as statuses, measurements and earnings refreshes automatically; press r to refresh now. Session counters such as tokens per minute come from this machine and never count as earnings or health.
Endpoint workspace
Enter on an endpoint opens its workspace, with three tabs:
Models: each model's native name, public name, status and session usage. A banner shows unpublished changes (
◆) and models that still need names or prices.Settings: provider review, capacity, the Platform section with the actions the platform allows (Pause, Resume, Reconnect agent, Edit), the source connection, Serving (start, stop or restart), Maintenance (validate) and removal. Delete this endpoint deletes it on the platform, then the local files; Remove from this device only keeps the endpoint registered and offline.
Details: provider and endpoint state, IDs, the local profile, connection, accepted terms and source version.
Model screen
Enter on a model opens its screen with these sections:
| Section | Contents |
|---|---|
| Overview | Status, reason and the actions the platform allows: Accept name, Retry submission, Publish again, Check again, Resume, Pause. Then usage, earnings and recent activity. |
| Pricing | Currencies and every exact price with its unit, hosted tools and Regenerate prices. |
| Capacity | Context length, maximum output length and concurrency. Discovered per-request input bounds have no independent editor. |
| Capabilities | Tools, tool choice, parallel calls, structured outputs, reasoning and modalities. |
| Identity | The public name and who may use the model. |
| Danger | Withdraw a published model, or remove one that was never published. The confirmation names the model, its public name and native ID. Withdrawal takes effect when you next publish. |
Until you publish, a withdrawn model keeps its place in every model list, dimmed and marked Withdrawn on publish, so the rows around it never move. Open it to undo the withdrawal.
Edits stay local until you publish. Model statuses use the labels in Review and lifecycle.
Publishing changes
p opens the publish sheet. It lists every change: + new models with their prices, ~ changed models with each changed field (for example out $2 → $4/M), and − withdrawn models with the consequence. x discards the selected model's changes; Enter publishes. If the source changed since you last looked, press r to refresh from it and review again. If a publication's outcome is unknown, for example after a lost connection, press c to check its status or Enter to retry the same submission.
Edits to a published endpoint are kept only while the terminal UI is open. Closing it discards them, and reopening loads the platform's accepted terms. Setup drafts for a new endpoint are saved to disk.
Set up an endpoint
Press n anywhere. Setup has four steps and saves a draft after every change; x saves and exits, and Continue setup on Overview or Endpoints resumes at the same step.
Source
Pick a source kind. Only accounts and providers you may run endpoints for are offered; choose an existing provider or Create a new provider with the name customers will see. The connection form shows the address, API key and advanced settings: display name, concurrent requests, API dialect, capability catalog and data policy. Choose Connect and find models →.
Models
Tick models with
Space, search with/, tick all shown witha. Each ticked model shows a chip:Chip Meaning ✓ namedThe public name is resolved. ⚠ needs nameChoose a public name with e.⏳ in reviewThe name is reviewed after you submit. … checkingThe name is being resolved. – laterKept in the draft but not published. ⚠ changes requested,× rejected,× name revokedReview feedback on an earlier submission. − withdrawn on publishA published model you unticked. ⚠ missing at sourceSelected but no longer offered by the source. Choose Continue to review →.
Review
One page for the whole endpoint (who the models are offered to, currencies, markup over upstream prices, market adjustment, capacity, hosted tools, data policy and names), then one page per model with its prices, context length, concurrency and capabilities.
[and]switch pages;vshows every model as a spreadsheet. Prices start from upstream and market references where they exist;rregenerates missing prices. A context length or maximum output your source didn't report is labelled from catalogue or default; you can change the context length (see limits your source doesn't report). When a model fails a capability check, the page names the check and the fix; see Fixing a failed check. When the bar reads Ready to submit, pressP.Submit
A progress list runs through the provider, the endpoint, the model submission and starting the endpoint, then opens the endpoint's workspace. If the platform refuses a provider or endpoint name that's already in use,
Enterreopens Review on that name. A submission that stopped part-way stays under Continue setup.Every selected model is checked before anything is submitted. When some fail, the screen lists each model's outcome, for example
14 models checked · 13 passed · 1 failed, followed by the first failed model's report;nshows the next failed model.Enterretries,eopens the failed model in Review, andspublishes the models that passed. The failed models are kept for later with their settings; include one again from the endpoint's models checklist (m) once it passes. The publish sheet for an existing endpoint offers the same keys.
To add or remove models on an existing endpoint, open it and press m; the same Review step follows, and P opens the publish sheet.
Keys
? shows the keys for the current screen.
| Where | Key | Action |
|---|---|---|
| Everywhere | 1–5, Tab, Shift+Tab | Switch tabs |
| Everywhere | a | Open or close the attention list |
| Everywhere | n | Set up a new endpoint |
| Everywhere | r | Refresh now |
| Everywhere | Esc | Back, close or cancel |
| Everywhere | q | Quit; endpoints keep serving |
| Overview, Endpoints | Enter | Resume a setup, open an endpoint or open a model |
| Overview, Endpoints | s, m, p | Start or stop, choose models, or publish the selected endpoint |
| Overview, Endpoints | x | Discard the selected unfinished setup |
| Endpoints | /, f, v, o, i | Search, filter, switch tree and table, sort, show or hide the inspector |
| Endpoint workspace | s, m, p | Start or stop, choose models, publish (on a failed endpoint, revalidate and republish) |
| Endpoint workspace | x, d, t | Discard all unpublished changes, run doctor, check failed models again |
| Model | Tab, Shift+Tab | Next or previous section |
| Model | p, x, t, r | Publish, discard this model's changes, check again, refresh review feedback |
| Review | [, ], v, r, P | Previous or next page, spreadsheet, regenerate prices, submit |
| Earnings | ← →, [ ] | Switch account, change range |
| Activity | f, t, s, o | Filter by severity, type or endpoint; open management operations |
| Account | Enter, o | Open the account's earnings, sign out |
Enter opens, runs or continues; Space ticks and toggles; ← → step through choices. Lists move with ↑ ↓ or j k. Text fields accept Ctrl+A, Ctrl+E, Ctrl+U, Ctrl+K and Ctrl+W. The mouse works where your terminal supports it. Destructive and serving actions always ask for confirmation, and secrets are entered only in masked fields.
Status pills
Each endpoint shows one pill. The first that applies wins:
Provider not approved: In review, Changes requested, Rejected, Suspended or Deleted.
Endpoint held by the platform: Rejected, Suspended, Paused, Changes requested, Draft or In review, or Not connected when you need to choose Reconnect agent.
This machine:
| Pill | Meaning | What to do |
|---|---|---|
| Not responding | The daemon doesn't answer | Run doctor, or restart from Settings |
| Stopped | Not running | Start with s |
| Starting | Starting up | Wait |
| Stopping | Accepted requests are finishing | Wait |
| Failed | The daemon failed | Run doctor, fix the problem, start again |
| Source unreachable | The source can't be reached | Check the source, run doctor |
| Draining | Accepted requests finish before it reconnects | Wait |
| Connecting | Connecting to the platform | Usually recovers on its own |
| Syncing | Waiting for the platform to accept the published terms | Wait |
| Model not served | A published model no longer matches the source, for example it's gone, changed, or its published context is larger than the source allows | Follow the named fix: change the source or publish corrected terms |
Endpoint status: Serving, Not serving, Offline, Not connected or No models. Serving summarizes the models, for example "Models: 23 live · 1 check failed".
Signed out, the pill reads Local only. If platform status can't be loaded, it reads Server status unavailable, never an approval. While the terminal is still loading, it reads Loading….
Terminal size
| Size | Layout |
|---|---|
| 120 columns or more | An inspector pane on the right |
| 68 to 119 columns | One pane; inspector content follows below the list |
| 30 rows or more | A full ticker and the status bar |
| Fewer than 30 rows | A one-row ticker and no status bar. 80 × 24 is fully usable. |
| Below 68 × 20 | Resize guidance until the window grows |
On exit or interruption, your terminal's screen, cursor and input settings are restored.
Sign in
On first run, a Welcome screen walks you through signing in. Press Enter to sign in with the method chosen automatically, as with numes auth login, l for a browser on this machine, or d for a device code. Esc skips to Overview. With a device code, compare the code in your browser before approving it; it disappears when the dialog closes and is never saved.
Your sign-in is restored at the next launch. Sign out on the Account tab with o.