47f7a85510
Die Ampel-Nachruestung deckte 317/337 vorbestehende ruff-Verstoesse im ganzen Repo auf. Aufgeraeumt: - ruff.toml: intentionale Muster als Projekt-Politik ausgenommen (BLE001 blind-except, S110/S112 try-except-pass/continue, PLW1510 subprocess-best-effort, B008 FastAPI- Depends/File-Idiom, EXE001 Shebang, + wenige Stil-Regeln). __init__.py-Re-Exports geschuetzt (F401). - ruff --fix: 128 mechanische (Import-Sortierung, PEP585/604-Annotationen, tote Imports, ueberfluessige noqa) auto-behoben. - 12 echte Reste von Hand: PERF402/102, PLC3002 (Lambda->walrus), ISC004 (String-Concat geklammert), F841/RUF059 (ungenutzte Vars), PIE810 (startswith-Tuple), UP031 (f-string), UP035 (veraltete typing-Imports). Ergebnis: 'ruff check .' = 0, 'compileall' grün. Kein Verhaltenswechsel (nur Stil/Modernisierung). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
"""Agent-Endpoint: Hermes-Status + WebUI-Link (MC verlinkt nur, betreibt nicht)."""
|
|
|
|
from fastapi import APIRouter, HTTPException
|
|
from pydantic import BaseModel
|
|
from services.agent import agent_status, hermes_brain_info, set_agent_brain, update_brain_model
|
|
|
|
router = APIRouter(prefix="/api")
|
|
|
|
|
|
class BrainReq(BaseModel):
|
|
model: str
|
|
|
|
|
|
class SetBrainReq(BaseModel):
|
|
model_id: str
|
|
|
|
|
|
@router.get("/agent/status")
|
|
def status() -> dict:
|
|
return agent_status()
|
|
|
|
|
|
@router.get("/agent/brain")
|
|
def brain_info() -> dict:
|
|
"""Aktuelles Agent-Hirn (hermes) + bestes NousResearch-Hermes-Update."""
|
|
return hermes_brain_info()
|
|
|
|
|
|
@router.post("/agent/brain/set")
|
|
def set_brain(body: SetBrainReq) -> dict:
|
|
"""Setzt ein installiertes Modell als Agent-Hirn (Alias + warm-Gruppe + Config)."""
|
|
res = set_agent_brain(body.model_id)
|
|
if not res.get("ok"):
|
|
raise HTTPException(400, res.get("reason", "Fehler beim Setzen des Agent-Hirns"))
|
|
return res
|
|
|
|
|
|
@router.post("/agent/brain")
|
|
def set_brain_model(body: BrainReq) -> dict:
|
|
ok = update_brain_model(body.model)
|
|
return {"ok": ok}
|