Erinnerungen & Routinen (A3): Wecker in MC2 + Hermes-Tools
- services/reminders.py: persistenter Store (/srv/models/mc2-reminders.json), Wecker-Loop feuert in Briefkasten (Lucy spricht) + Telegram; repeat daily/weekdays/weekly; naive Zeiten = Commander-TZ (Europe/Berlin, Box ist UTC); verpasste Einmal-Erinnerungen feuern verspätet nach (ehrlich markiert) - routers/reminders.py: GET/POST/DELETE /api/reminders - mcp_mc.py: reminder_create/list/delete (Guards, ISO aus Sofort-Kontext) - announce.notify_telegram als gemeinsamer Helper (sentry nutzt ihn jetzt) - requirements: tzdata (zoneinfo-Fallback, Windows-Dev) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
+4
-2
@@ -18,8 +18,8 @@ from fastapi.staticfiles import StaticFiles
|
||||
from starlette.requests import Request
|
||||
|
||||
from config import FRONTEND_DIST, VERSION
|
||||
from routers import agent, connect, gateway_proxy, health, maintenance, memory, models, routing, system, voice
|
||||
from services import sentry, warmer
|
||||
from routers import agent, connect, gateway_proxy, health, maintenance, memory, models, reminders as reminders_router, routing, system, voice
|
||||
from services import reminders, sentry, warmer
|
||||
|
||||
# Zentrales Logging — Level via MC_LOG_LEVEL (INFO default). Eine Konfiguration
|
||||
# für alle Module (logging.getLogger(__name__)).
|
||||
@@ -39,6 +39,7 @@ async def lifespan(app: FastAPI):
|
||||
log.info("Hirn-Re-Warm-Wächter aktiv (Intervall %ss, Hirn dynamisch aus Hermes-Config)", warmer.INTERVAL)
|
||||
if sentry.ENABLED:
|
||||
tasks.append(asyncio.create_task(sentry.sentry_loop()))
|
||||
tasks.append(asyncio.create_task(reminders.reminders_loop()))
|
||||
try:
|
||||
yield
|
||||
finally:
|
||||
@@ -73,6 +74,7 @@ app.include_router(connect.router)
|
||||
app.include_router(memory.router)
|
||||
app.include_router(agent.router)
|
||||
app.include_router(voice.router) # Sprache: STT/TTS-Proxy + Hermes-Agent-Chat (Voice-Tab)
|
||||
app.include_router(reminders_router.router) # Erinnerungen/Routinen (A3) — feuern in den Briefkasten
|
||||
app.include_router(gateway_proxy.router) # OpenAI-kompatibler /v1-Gateway (model:auto)
|
||||
app.include_router(maintenance.router)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user