Feat: Model-Manager — Ko-Residenz-Schalter + "verdraengt das Hirn"-Warnung
Verhindert versehentliches Verdraengen des warmen Hirns im Modell-Manager. - api.ts: GroupsResp-Typ + getGroups/setGroup (PUT /api/groups). - queries.ts: useGroups-Hook (qk.groups). - Cockpit: pro Modell ein "Brain"-Schalter (Ko-Residenz in der brains-Gruppe an/aus) + "Ko-resident"-Badge. Beim Laden eines gruppenlosen Modells, das ein warmes brains-Mitglied rauswerfen wuerde, erscheint eine Bestaetigung mit Hinweis auf den Schalter (beide warm halten). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -53,6 +53,20 @@ export async function api<T = unknown>(path: string, init?: RequestInit): Promis
|
||||
return res.json() as Promise<T>
|
||||
}
|
||||
|
||||
// llama-swap-`groups`: Mitglieder mit swap=false dürfen GLEICHZEITIG resident sein (Ko-Residenz).
|
||||
// Die `brains`-Gruppe hält Hirn (fast) + Augen (vision) gemeinsam warm, statt sich zu verdrängen.
|
||||
export interface GroupSpec {
|
||||
swap: boolean
|
||||
persist: boolean
|
||||
members: string[]
|
||||
}
|
||||
export interface GroupsResp {
|
||||
groups: Record<string, GroupSpec>
|
||||
}
|
||||
export const getGroups = () => api<GroupsResp>("/api/groups")
|
||||
export const setGroup = (group: string, members: string[], swap = false, persist = true) =>
|
||||
api("/api/groups", { method: "PUT", body: JSON.stringify({ group, members, swap, persist }) })
|
||||
|
||||
export interface Capabilities {
|
||||
moe: boolean
|
||||
active_b: number | null
|
||||
|
||||
Reference in New Issue
Block a user