Bisher listete Strg+K die elf Navigations-Eintraege: ein Sprungbrett. Jetzt tippt
man, WAS man will, nicht wo es liegt.
Gehe zu die 11 Ziele — direkt aus NAV, damit es nie zwei Listen gibt
Tun Wartung/Logs oeffnen, Updates suchen, Snapshot, Motor neu starten
Finden das Getippte in Chronik oder Wissens-Vault suchen
An Lucy das Getippte als Idee erfassen
## Die Sicherheitsregel ist verdrahtet, nicht nur beschrieben
Die Palette ist schnell genug, dass "Strg+K, mot, Enter" den Motor neu startet,
bevor man es zu Ende gedacht hat. Jeder eingreifende Befehl traegt darum
`rueckfrage`; die Oberflaeche haelt dann an und sagt erst, was passieren WIRD:
"Alle geladenen Modelle fallen dabei aus dem Speicher und muessen neu aufwaermen —
das dauert je nach Modell ueber 20 Sekunden. Laufende Antworten brechen ab."
Ein Test prueft die Regel generisch: Jeder Befehl, dessen Label auf "neu starten",
"loeschen", "deploy", "reboot" o. AE. passt, MUSS eine Rueckfrage haben. Wer kuenftig
einen eingreifenden Befehl ohne Rueckfrage ergaenzt, macht die Ampel rot.
"An Lucy" erfasst mit `art: "idee"` — durchdenken, nicht bauen. `"projekt"` wuerde
sofort ein Repo anlegen; das darf aus einem Tastendruck nie passieren. Auch das ist
getestet.
## Die "Finden"-Eintraege fuehren nicht ins Leere
Sie brauchten erst ein Ziel — sonst haette ich genau die leere Leitung gebaut, die ich
beim Werkzeug-Verlauf vermieden habe:
ChronikView neues Suchfeld, filtert ueber Betreff/Text/Quelle, Wort in der URL
(/chronik?q=…), Trefferzahl in der Ueberschrift, "Filter aufheben"
im Leer-Zustand
WissenView hatte das Suchfeld schon, aber nur lokal — jetzt aus /wissen?suche=
gespeist und damit teilbar
## Verifiziert im Browser
Strg+K oeffnet, "Gehe zu" (11) + "Tun" (5); leere Gruppen bleiben verborgen
Text tippen -> "Finden" (2) und "An Lucy" (1) erscheinen
"Motor neu starten" traegt den Chip "fragt nach"; Auswahl zeigt die Rueckfrage
mit vollem Folgentext — es wird NICHTS gestartet
"Abbrechen" fuehrt zurueck in die Liste, keine Meldung, kein Aufruf
54 Tests gruen (10 neue) · ESLint 0 Fehler · Einstieg 118 762 B gzip / Budget 125 000.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
7 lines
19 KiB
JavaScript
7 lines
19 KiB
JavaScript
import{c as B,M as T,j as e,N as p,W as g,b as n,J as D,T as G,z as L,O as $,f as R,k as F,u as I,r as q,P as y,Q as v,t as w,X as U,C as k,n as _,q as u}from"./index-C3tzC6TG.js";import{S}from"./SectionLabel-CWIt51pc.js";import{C as K}from"./clock-Dgmp--tr.js";import{E as O}from"./external-link-A-cVlKY7.js";import{S as Q}from"./shield-DhFhR3yI.js";/**
|
||
* @license lucide-react v0.460.0 - ISC
|
||
*
|
||
* This source code is licensed under the ISC license.
|
||
* See the LICENSE file in the root directory of this source tree.
|
||
*/const C=B("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]),h=l=>l.slice(11,19);function z(l){return l<1?`${Math.round(l*1e3)} ms`:`${l.toFixed(1)} s`}function V(){const{data:l,isLoading:s}=T();if(s)return e.jsxs("section",{className:"space-y-3",children:[e.jsx(S,{icon:p,children:"Werkzeug-Verlauf"}),e.jsx("div",{className:"mc-card-sm p-4 text-xs text-muted-foreground",children:"Lese Hermes' Log …"})]});if(!(l!=null&&l.verfuegbar))return null;const{rufe:o,werkzeuge:c,laeufe:i}=l,x=c.filter(r=>r.fehler>0);return e.jsxs("section",{className:"space-y-3",children:[e.jsxs(S,{icon:p,children:["Werkzeug-Verlauf · ",o.length," Rufe",x.length>0&&` · ${x.reduce((r,d)=>r+d.fehler,0)} Fehler`]}),e.jsxs("p",{className:"max-w-2xl text-[11px] leading-relaxed text-muted-foreground",children:["Gelesen aus Hermes' eigenem Log — Mission Control schaut zu, greift aber nicht ein. Was dort ",e.jsx("em",{children:"nicht"})," steht, steht auch hier nicht: Lucys Gedankengang und die Argumente eines Werkzeug-Rufs bleiben unsichtbar."]}),e.jsx("div",{className:"grid gap-2 sm:grid-cols-2 lg:grid-cols-3",children:c.map(r=>{const d=r.fehler>0&&r.fehler===r.rufe;return e.jsxs("div",{className:n("mc-card-sm space-y-1.5 p-3",d&&"border-red-500/40 bg-red-500/5"),children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(g,{className:n("h-3.5 w-3.5 shrink-0",d?"text-red-400":r.fehler?"text-amber-400":"text-primary"),"aria-hidden":"true"}),e.jsx("span",{className:"truncate font-mono text-xs font-semibold text-foreground",children:r.werkzeug}),d&&e.jsx("span",{className:"ml-auto shrink-0 rounded bg-red-500/15 px-1.5 py-0.5 text-[9px] font-bold uppercase tracking-wide text-red-300",children:"immer rot"})]}),e.jsxs("div",{className:"flex flex-wrap gap-x-3 gap-y-0.5 font-mono text-[10px] text-muted-foreground",children:[e.jsxs("span",{className:"tabular-nums",children:[r.rufe," Rufe"]}),e.jsxs("span",{className:n("tabular-nums",r.fehler>0&&"font-semibold text-red-400"),children:[r.fehler," Fehler"]}),e.jsxs("span",{className:"tabular-nums",children:["Ø ",z(r.dauer_schnitt_s)]})]}),r.letzter_fehler&&e.jsx("p",{className:"border-t border-border/30 pt-1.5 text-[10px] leading-relaxed text-red-300/90",children:r.letzter_fehler})]},r.werkzeug)})}),i.length>0&&e.jsx("div",{className:"mc-card-sm divide-y divide-border/30",children:i.map(r=>e.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1 px-3 py-2 font-mono text-[10px]",children:[e.jsx(K,{className:"h-3 w-3 shrink-0 text-muted-foreground","aria-hidden":"true"}),e.jsx("span",{className:"truncate font-semibold text-foreground",children:r.lauf}),e.jsxs("span",{className:"tabular-nums text-muted-foreground",children:[h(r.von),"–",h(r.bis)]}),e.jsxs("span",{className:"ml-auto tabular-nums text-muted-foreground",children:[r.rufe," Rufe"]}),r.fehler>0&&e.jsxs("span",{className:"tabular-nums font-semibold text-red-400",children:[r.fehler," Fehler"]})]},r.lauf))}),e.jsxs("details",{className:"mc-card-sm",children:[e.jsxs("summary",{className:"cursor-pointer px-3 py-2 text-[11px] font-semibold uppercase tracking-wider text-muted-foreground hover:text-foreground",children:["Einzelne Rufe (",o.length,")"]}),e.jsx("ul",{className:"max-h-72 divide-y divide-border/20 overflow-y-auto scrollbar-thin border-t border-border/30",children:[...o].reverse().map((r,d)=>e.jsxs("li",{className:"flex items-start gap-2 px-3 py-1.5 font-mono text-[10px]",children:[r.ok?e.jsx(D,{className:"mt-px h-3 w-3 shrink-0 text-emerald-500","aria-hidden":"true"}):e.jsx(G,{className:"mt-px h-3 w-3 shrink-0 text-red-400","aria-hidden":"true"}),e.jsx("span",{className:"shrink-0 tabular-nums text-muted-foreground",children:h(r.zeit)}),e.jsx("span",{className:"shrink-0 font-semibold text-foreground",children:r.werkzeug}),e.jsx("span",{className:"shrink-0 tabular-nums text-muted-foreground",children:z(r.dauer_s)}),r.zeichen!=null&&e.jsxs("span",{className:"shrink-0 tabular-nums text-muted-foreground/60",children:[r.zeichen," Z."]}),r.fehler&&e.jsx("span",{className:"min-w-0 flex-1 truncate text-red-300/90",title:r.fehler,children:r.fehler})]},`${r.zeit}-${r.werkzeug}-${d}`))})]})]})}const J=["chat","coding","fast","heavy"];function se(){const l=L(),{data:s,error:o}=$(),{data:c}=R(),{showAlert:i,dialogElement:x}=F(),r=I(),d=o?String(o):"",[H,m]=q.useState(!1),E=(c==null?void 0:c.models)??[],f=t=>{var a;return((a=t==null?void 0:t.match(/:(\d+)/))==null?void 0:a[1])??""},b=f(s==null?void 0:s.gateway_url)||"8642",j=(s==null?void 0:s.pc_executor_url)??"",A=j.replace(/^https?:\/\//,""),P=f(j)||"7777";async function W(t){try{await _("/api/agent/brain",{method:"POST",body:JSON.stringify({model:t})}),i("Erledigt",`Hermes-Hirn zeigt jetzt auf das Alias '${t}'. Der Gateway-Dienst wurde neu gestartet.`),r.invalidateQueries({queryKey:u.agentStatus}),m(!1)}catch(a){i("Fehler",`Wechsel fehlgeschlagen: ${a.message||a}`)}}async function M(t){try{await _("/api/agent/brain/set",{method:"POST",body:JSON.stringify({model_id:t})}),i("Erledigt","Agent-Hirn gewechselt (warm gehalten). Gateway wurde neugestartet."),r.invalidateQueries({queryKey:u.agentStatus}),r.invalidateQueries({queryKey:u.models}),m(!1)}catch(a){i("Fehler",`Wechsel fehlgeschlagen: ${a.message||a}`)}}return e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"flex flex-col sm:flex-row justify-between sm:items-center gap-4",children:[e.jsxs("div",{children:[e.jsx("h1",{className:"text-2xl font-space font-bold tracking-tight bg-gradient-to-r from-foreground via-foreground to-primary bg-clip-text text-transparent",children:"Hermes Agenten-Cockpit"}),e.jsxs("p",{className:"text-sm text-muted-foreground",children:["Hermes ist ein autonomer Agent, der im Hintergrund der Box läuft (Port ",e.jsxs("code",{children:[":",b]}),") und seine eigene UI besitzt."]})]}),(s==null?void 0:s.hermes_ui_url)&&e.jsxs("a",{href:y(s.hermes_ui_url),target:"_blank",rel:"noopener",className:n("flex h-9 px-4 items-center gap-1.5 text-xs font-semibold rounded-lg transition-all cursor-pointer shadow-md shrink-0 self-start",s.hermes_ui_reachable?"bg-primary text-primary-foreground hover:opacity-90 shadow-primary/10":"border border-border/60 text-muted-foreground bg-background/20"),children:[e.jsx(O,{className:"h-4 w-4"}),e.jsx("span",{children:"Hermes-GUI öffnen"})]})]}),d&&e.jsxs("div",{className:"rounded-xl border border-red-500/20 bg-red-500/5 p-4 text-xs text-red-400 font-mono",children:["Status nicht lesbar (",d,")."]}),s&&e.jsxs("div",{className:"space-y-6",children:[e.jsxs("div",{className:"mc-card p-5",children:[e.jsxs("div",{className:"mb-4 flex items-center gap-2",children:[e.jsx(v,{className:"h-4.5 w-4.5 text-primary"}),e.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-foreground",children:"Agent-Fluss"})]}),e.jsxs("div",{className:"flex flex-col lg:flex-row lg:items-stretch gap-3",children:[e.jsxs("button",{onClick:()=>s.hermes_ui_reachable&&window.open(y(s.hermes_ui_url),"_blank"),title:s.hermes_ui_reachable?"Hermes-GUI öffnen":"Desktop-Gateway offline",className:"lg:w-40 shrink-0 rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/40 transition-all cursor-pointer flex flex-col justify-center",children:[e.jsxs("div",{className:"flex items-center gap-1.5",children:[e.jsx(p,{className:n("h-3.5 w-3.5",s.hermes_ui_reachable?"text-emerald-400":"text-amber-500")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:"Desktop & GUI"}),e.jsx("span",{className:n("ml-auto h-1.5 w-1.5 rounded-full animate-pulse",s.hermes_ui_reachable?"bg-emerald-500":"bg-amber-500")})]}),e.jsx("span",{className:"text-[10px] text-muted-foreground font-mono mt-0.5",children:"Hermes Desktop · Clients"})]}),e.jsx("div",{className:"hidden lg:flex items-center text-muted-foreground text-lg select-none",children:"→"}),e.jsxs("div",{className:"flex-1 flex flex-col gap-2.5",children:[e.jsxs("div",{className:"rounded-xl border border-primary/40 bg-primary/5 px-3.5 py-2.5 flex items-center gap-2",children:[e.jsx(v,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-xs font-semibold text-primary",children:"Agent Gateway"}),e.jsxs("span",{className:"text-[11px] font-mono text-muted-foreground",children:[":",b]}),e.jsxs("span",{className:n("ml-auto inline-flex items-center gap-1.5 text-[10px] font-bold uppercase font-mono px-2 py-0.5 rounded-full border",s.gateway_reachable?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-red-500/10 text-red-400 border-red-500/20"),children:[e.jsx("span",{className:n("h-1.5 w-1.5 rounded-full",s.gateway_reachable?"bg-emerald-500 animate-pulse":"bg-red-500")}),s.gateway_reachable?"online":"offline"]})]}),e.jsxs("div",{className:"grid gap-2.5 sm:grid-cols-3",children:[e.jsxs("button",{onClick:()=>m(!0),className:"rounded-xl border border-border/60 bg-background/30 p-3 text-left hover:border-primary/45 transition-all cursor-pointer",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(w,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Hirn"}),e.jsx("span",{className:"ml-auto text-[9px] text-primary/70 font-bold uppercase",children:"wechseln →"})]}),e.jsx("div",{className:"text-[11px] font-mono font-medium text-foreground truncate mt-1",title:s.brain_model,children:s.brain_model||"chat"})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(g,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"Verdrahtung"})]}),e.jsxs("div",{className:"text-[10px] font-mono mt-1 flex flex-wrap gap-x-2 text-muted-foreground",children:[e.jsxs("span",{children:["Config: ",s.has_config?"✓":"—"]}),e.jsxs("span",{children:["Skills: ",s.has_skills?"✓":"—"]}),e.jsxs("span",{children:["Memory: ",s.has_memories?"✓":"—"]})]})]}),e.jsxs("div",{className:"rounded-xl border border-border/60 bg-background/30 p-3",children:[e.jsxs("div",{className:"flex items-center gap-1.5 text-muted-foreground",children:[e.jsx(C,{className:"h-3.5 w-3.5 text-primary"}),e.jsx("span",{className:"text-[10px] font-bold uppercase tracking-wider",children:"PC"}),e.jsx("span",{className:n("ml-auto h-1.5 w-1.5 rounded-full",s.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")})]}),e.jsxs("div",{className:n("text-[11px] font-mono mt-1",s.pc_executor_reachable?"text-emerald-400":"text-muted-foreground"),children:[":",P," ",s.pc_executor_reachable?"verbunden":"offline"]})]})]})]})]})]}),e.jsxs("div",{className:"mc-card p-6 space-y-4",children:[e.jsxs("div",{className:"flex items-center justify-between",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(C,{className:"h-5 w-5 text-primary"}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"PC Verbindung"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:n("h-2 w-2 rounded-full",s.pc_executor_reachable?"bg-emerald-500 animate-pulse":"bg-amber-500")}),e.jsx("span",{className:"text-xs font-semibold text-foreground",children:s.pc_executor_reachable?"Erreichbar":"Nicht verbunden"})]})]}),e.jsxs("div",{className:"grid gap-6 md:grid-cols-2 text-xs text-muted-foreground leading-relaxed text-left",children:[e.jsxs("div",{className:"space-y-3",children:[e.jsxs("p",{children:["Der ",e.jsx("strong",{className:"text-foreground",children:"Hermes PC Executor"})," läuft auf ",e.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:A||"deinem Windows-PC"})," und ermöglicht Hermes den direkten Zugriff auf deinen Windows-PC — Shell-Befehle, Screenshots, Tastatureingaben."]}),e.jsxs("p",{children:["Hermes erreicht den PC über den MCP-Server ",e.jsx("code",{className:"text-foreground font-mono px-1 py-0.5 rounded bg-muted/40 border border-border/30",children:"hermes-pc-control"}),", der automatisch beim Gateway-Start verbunden wird."]})]}),e.jsx("div",{className:"space-y-3",children:s.pc_executor_reachable?e.jsxs("div",{className:"p-3.5 bg-emerald-500/5 border border-emerald-500/20 rounded-xl space-y-1",children:[e.jsxs("div",{className:"text-emerald-400 font-semibold text-xs flex items-center gap-1.5",children:[e.jsx("span",{className:"h-1.5 w-1.5 rounded-full bg-emerald-500 animate-pulse"}),"PC Executor verbunden"]}),e.jsxs("p",{className:"text-[10px]",children:["Hermes kann jetzt per Telegram oder Terminal Befehle auf TobisNicerPC ausführen. Nutze ",e.jsx("code",{className:"text-foreground",children:"pc_shell"}),", ",e.jsx("code",{className:"text-foreground",children:"pc_screenshot"})," oder ",e.jsx("code",{className:"text-foreground",children:"pc_open"}),"."]})]}):e.jsxs("div",{className:"space-y-2",children:[e.jsx("h4",{className:"text-xs font-bold text-foreground",children:"PC Executor starten"}),e.jsxs("p",{children:["Starte ",e.jsx("code",{className:"text-foreground font-mono",children:"start.bat"})," im Ordner ",e.jsx("code",{className:"text-foreground font-mono",children:"client\\hermes-pc\\"})," auf dem Windows-PC und lasse das Fenster offen."]}),e.jsx("div",{className:"p-3 bg-background/25 rounded-xl border border-border/30 font-mono text-[9px] text-cyan-300",children:"client\\hermes-pc\\start.bat"})]})})]})]}),!s.gateway_reachable&&e.jsxs("div",{className:"mc-card p-6 space-y-4 text-left",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(Q,{className:"h-5 w-5 text-amber-500"}),e.jsx("h3",{className:"text-sm font-bold uppercase tracking-wider text-foreground",children:"Hermes-Agent Diagnostics"})]}),e.jsxs("div",{className:"text-xs text-muted-foreground space-y-3 leading-relaxed",children:[e.jsx("p",{children:"Der Hermes-Dienst ist auf der Box derzeit offline oder kann sich nicht mit dem lokalen llama-swap verbinden."}),e.jsxs("p",{children:["Am schnellsten: In der System-Schublade unter ",e.jsx("strong",{children:"Dienste"})," den Eintrag"," ",e.jsx("strong",{children:"Hermes-Gateway"})," mit einem Klick neu starten (dort gibt es auch die Logs dazu)."]}),e.jsxs("button",{onClick:()=>l({to:".",search:t=>({...t,system:"wartung"})}),className:"flex h-9 items-center gap-1.5 rounded-lg border border-primary/40 bg-primary/10 px-4 text-[11px] font-bold uppercase tracking-wide text-primary transition-all hover:bg-primary/20 cursor-pointer",children:[e.jsx(g,{className:"h-3.5 w-3.5"})," Dienste-Übersicht öffnen"]}),e.jsxs("p",{children:["Weitere Einrichtungsdetails (Brain-Konfiguration, MCP-Kopplungen, SSH-Tunneling und Such-Engines) findest du in der Dokumentationsdatei:",e.jsx("code",{className:"ml-1 px-1.5 py-0.5 rounded bg-muted/40 text-foreground border border-border/30",children:"docs/HERMES_SETUP.md"}),"."]})]})]})]}),s&&H&&e.jsx("div",{className:"fixed inset-0 z-50 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 overscroll-contain",role:"dialog","aria-modal":"true","aria-label":"Hermes-Hirn konfigurieren",children:e.jsxs("div",{className:"w-full max-w-md rounded-2xl border border-border/80 bg-card p-6 shadow-2xl space-y-4 animate-in fade-in zoom-in-95 duration-200",children:[e.jsxs("div",{className:"flex items-center justify-between border-b border-border/20 pb-2",children:[e.jsxs("h3",{className:"text-xs font-bold uppercase tracking-wider text-primary flex items-center gap-1.5",children:[e.jsx(w,{className:"h-4 w-4"}),e.jsx("span",{children:"Hermes-Hirn konfigurieren"})]}),e.jsx("button",{onClick:()=>m(!1),className:"p-1 rounded hover:bg-accent text-muted-foreground hover:text-foreground cursor-pointer",children:e.jsx(U,{className:"h-4 w-4"})})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Lane / Gateway-Alias"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:J.map(t=>{const a=s.brain_model===t;return e.jsxs("button",{onClick:()=>W(t),className:n("px-3 py-1.5 rounded-lg text-xs font-mono font-semibold border transition-all cursor-pointer flex items-center gap-1.5",a?"border-primary/40 bg-primary/10 text-primary":"border-border/30 bg-background/20 text-foreground hover:bg-accent"),children:[t,a&&e.jsx(k,{className:"h-3.5 w-3.5"})]},t)})}),e.jsxs("p",{className:"text-[10px] text-muted-foreground/70",children:["Schlank & flexibel: das Hirn folgt dem Lane-Routing (z.B. ",e.jsx("code",{className:"text-primary",children:"chat"})," = fast↔heavy)."]})]}),e.jsxs("div",{className:"space-y-1.5",children:[e.jsx("div",{className:"text-[10px] font-bold uppercase tracking-wider text-muted-foreground",children:"Installiertes Modell (warm gehalten)"}),e.jsx("div",{className:"space-y-1.5 max-h-56 overflow-y-auto pr-1",children:E.map(t=>{var N;const a=t.role==="hermes";return e.jsxs("button",{onClick:()=>!a&&M(t.name),disabled:a||t.incomplete,className:n("w-full text-left px-3 py-2.5 rounded-lg text-xs flex items-center justify-between font-mono border transition-all",a?"border-indigo-500/40 bg-indigo-500/10 text-indigo-300":t.incomplete?"border-border/20 bg-background/10 text-muted-foreground/50 cursor-not-allowed":"border-border/30 bg-background/20 text-foreground hover:bg-accent cursor-pointer"),children:[e.jsxs("div",{className:"flex flex-col min-w-0",children:[e.jsx("span",{className:"font-semibold truncate max-w-[280px]",children:(N=t.name.split("/").pop())==null?void 0:N.replace(/\.gguf$/i,"")}),e.jsxs("span",{className:"text-[9px] text-muted-foreground mt-0.5",children:[t.capabilities.params_b?`${t.capabilities.params_b}B`:"?"," · ",t.capabilities.tools!=="no"?"Tools ✓":"ohne Tools",t.role&&` · Rolle: ${t.role}`]})]}),a?e.jsxs("span",{className:"text-[9px] font-bold uppercase text-indigo-300 shrink-0 flex items-center gap-1",children:[e.jsx(k,{className:"h-3.5 w-3.5"})," Aktiv"]}):e.jsx("span",{className:"text-[9px] font-bold uppercase text-primary/70 shrink-0",children:"Warm setzen →"})]},t.name)})})]}),e.jsxs("div",{className:"text-[10px] text-amber-400/80 flex items-start gap-1.5 border-t border-border/20 pt-2.5",children:[e.jsx("span",{children:"💡"}),e.jsxs("span",{children:["Für einen ",e.jsx("strong",{children:"Agenten"}),' sind Hermes-Modelle (natives Tool-Calling) meist die robustere Wahl. Neues Modell? Erst über „Modell-Manager → Modelle finden" laden.']})]})]})}),e.jsx(V,{}),x]})}export{se as AgentView};
|