Add default model selection to Settings #1
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Let users pick the Hermes default model from the app's Settings tab. This sets the dashboard's global default model — the same thing the dashboard's own Models page does — and applies to all new sessions across clients. Running chats are untouched.
API surface (verified against Hermes 0.20.0)
GET /api/model/options→{ "providers": [{ "slug", "name", "models": [...], "total_models", "authenticated" }], "model", "provider" }— the picker inventory. Cookie-authenticated, same as the rest of the dashboard.GET /api/model/info→{ "model", "provider", "auto_context_length", "config_context_length", "effective_context_length", "capabilities" }— the current default.POST /api/model/setbody{ "scope": "main", "provider": "<slug>", "model": "<model>", "confirm_expensive_model": false }— writesmodel.default/model.provider. Applies to NEW sessions only. May return{ "ok": false, "confirm_required": true, "confirm_message": "..." }for expensive models; re-send withconfirm_expensive_model: trueto proceed.Changes
Talaria/Models/DashboardModels.swift: addModelOptions,ProviderOption,DashboardModelInfoCodable structs (snake_case keys mapped viaCodingKeys, e.g.total_models).Talaria/Services/DashboardClient.swift: addmodelOptions(),modelInfo(),setModel(provider:model:confirmExpensive:).Talaria/App/AppModel.swift: expose the current default model/provider, loaded frommodelInfo()on connect and refreshed after a change.Talaria/Features/Settings/ModelPickerView.swift: provider → models grouped list, current selection checked.Talaria/Features/Settings/SettingsView.swift: add a "Model" section showing the currentprovider / modelwith a link to the picker.Acceptance criteria
/api/model/options./api/model/set(scopemain) and reflects the change.confirm_requiredresponse surfaces a confirmation before re-sending.session.create'sinfo.model).model/optionspayload.