{
  "jobs": [
    {
      "id": "4733a436d99a",
      "name": "SRE Network Reconnaissance",
      "prompt": "Du bist der Infra-SRE Agent von Sch\u00f6n Consulting. F\u00fchre den w\u00f6chentlichen Network Reconnaissance Scan durch.\n\n1. Rufe den Scan-Skript auf: python3 /home/debian/.hermes/scripts/network-scan.py\n2. Lies die Ergebnisse aus /home/debian/.hermes/output/network_recon.json\n3. Erstelle einen professionellen SRE Report im CEO-Format f\u00fcr das Team.\n\nFormat:\n## \ud83d\udee1\ufe0f SRE Weekly Network Report \u2014 {date}\n\n### \ud83d\udd0d Summary\n- Total Hosts: X\n- Scan Duration: Xs\n- Segments: Hypervisor, Container, Smart Home\n\n### \ud83d\udccb Alive Hosts by Segment\n[compact table: IP | Ports | Service | Banner]\n\n### \u26a0\ufe0f Security Notes\n- [list any concerns like outdated SSH, open databases, unknown services]\n\n### \ud83c\udd95 New Services/Changes\n- [list notable changes from last week if detectable]\n\nHalte den Report knapp, datenbasiert und handlungsorientiert.",
      "skills": [
        "container-network-recon"
      ],
      "skill": "container-network-recon",
      "model": "vllm/moonshotai/kimi-k2.6",
      "provider": "noris",
      "base_url": null,
      "script": "network-scan.py",
      "schedule": {
        "kind": "cron",
        "expr": "0 8 * * 0",
        "display": "0 8 * * 0"
      },
      "schedule_display": "0 8 * * 0",
      "repeat": {
        "times": null,
        "completed": 9
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-04-21T07:27:10.049993+00:00",
      "next_run_at": "2026-06-28T08:00:00+00:00",
      "last_run_at": "2026-06-21T08:01:47.192360+00:00",
      "last_status": "error",
      "last_error": "RuntimeError: No LLM provider configured. Run `hermes model` to select a provider, or run `hermes setup` for first-time configuration.",
      "last_delivery_error": null,
      "deliver": "telegram:-5265906503",
      "origin": {
        "platform": "telegram",
        "chat_id": "223926918",
        "chat_name": "D S",
        "thread_id": null
      }
    },
    {
      "id": "f773f8c23230",
      "name": "Rechnungen-Organizer",
      "prompt": "# E-Mail-Organisator (Kompakt)\n\n[IMPORTANT: You are running as a scheduled cron job. DELIVERY: origin. SILENT: If nothing actionable found, respond with exactly \"[SILENT]\" and nothing else.]\n\n## 1. LESEN\nLade `~/.hermes/email-organizer/learning.json` (falls fehlend: initialisiere leeres JSON mit `{\"corrections\":[],\"patterns\":{\"structured_ignore_patterns\":[],\"last_scan\":\"\",\"total_scanned\":0}}`).\n\nHolt E-Mails:\n```bash\nhimalaya envelope list --folder INBOX --page-size 40 --output json 2>/dev/null\n```\n\n## 2. KLASSIFIZIERUNG (nur Betreff + Absender, KEIN body_preview - es ist leer)\n- **Rechnung**: Betreff oder Absender enth\u00e4lt \"rechnung\" (case-insensitive) \u2192 `Rechnungen_jjjj_mm`\n- **Bestellung**: Betreff enth\u00e4lt \"bestellt\", \"bestellung erfolgreich\" ODER Absender enth\u00e4lt \"bestellbestaetigung\" \u2192 `Rechnungen_jjjj_mm/Bestellungen_jjjj_mm`\n- **AMEX**: Absender `AmericanExpress@welcome.americanexpress.com` ODER Betreff enth\u00e4lt \"Online-Monatsabrechnung\" \u2192 `Rechnungen_jjjj_mm`\n- **Gutschrift**: Betreff enth\u00e4lt \"gutschrift\" \u2192 `Rechnungen_jjjj_mm/Gutschriften_jjjj_mm`\n- **Unsicher bei Absendern?** Body lesen: `himalaya message read ID 2>/dev/null` (nur bei Zweifeln)\n\n## 3. IGNORE-CHECK\nPr\u00fcfe `learning.json` \u2192 `patterns.structured_ignore_patterns`:\nWenn Absender matcht UND Betreff enth\u00e4lt ein keyword \u2192 **ignorieren**, Pattern nach M\u00f6glichkeit erweitern.\n\n## 4. AUSF\u00dcHREN\n```bash\n# Syntax: ZIEL zuerst, dann ID. Single-Quotes bei Pfaden mit \"/\"\nhimalaya message move 'Rechnungen_2026_06/Bestellungen_2026_06' 12345 2>/dev/null\n```\nHinweis: `move` erstellt fehlende Ordner automatisch.\n\n## 5. SELF-IMPROVEMENT \u2014 LERNEN\n**Unbedingt** `learning.json` aktualisieren und zur\u00fcckschreiben:\n- `last_scan`: heute (`date +%Y-%m-%d`)\n- `total_scanned`: Anzahl heute gescannter Mails\n- Neue ignorierte Absender (nicht in patterns vorhanden) \u2192 als neues `structured_ignore_patterns`-Objekt hinzuf\u00fcgen (name, sender, subject_keywords [], notes)\n- Neue Rechnungs-/Bestellungs-Absender \u2192 in `patterns.invoices` bzw. `patterns.orders` als neues Objekt (sender, subject_pattern, folder, note)\n\n## 6. AUSGABE (max. 5 Zeilen!)\n```\nGescannt: X | Rechnungen: Y | Bestellungen: Z | Ignoriert: B\nNeu gelernt: N Muster\n```\nWenn `X > 0` UND `Y=0` UND `Z=0`: Gib die Top-3 Absender der ignorierten Mails kurz an, damit der Nutzer bei Bedarf Patterns korrigieren kann.\n\nWenn `X=0` oder nichts passiert ist: `[SILENT]`",
      "skills": [],
      "skill": null,
      "model": "vllm/moonshotai/kimi-k2.6",
      "provider": "noris",
      "base_url": null,
      "script": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 9 * * *",
        "display": "0 9 * * *"
      },
      "schedule_display": "0 9 * * *",
      "repeat": {
        "times": 500,
        "completed": 63
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-04-26T16:34:56.913960+00:00",
      "next_run_at": "2026-06-27T09:00:00+00:00",
      "last_run_at": "2026-06-26T09:01:58.118300+00:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "223926918",
        "chat_name": "D S",
        "thread_id": null
      }
    },
    {
      "id": "722416c6ce96",
      "name": "memory-sync-daily",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "memory-sync.sh",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 22 * * *",
        "display": "0 22 * * *"
      },
      "schedule_display": "0 22 * * *",
      "repeat": {
        "times": null,
        "completed": 49
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-05-08T18:04:31.119126+00:00",
      "next_run_at": "2026-06-26T22:00:00+00:00",
      "last_run_at": "2026-06-25T22:00:01.724180+00:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "223926918",
        "chat_name": "D S",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "c77127dd9130",
      "name": "chefkoch-real-recipes-refill",
      "prompt": "Check the Chefkoch real recipe database at /home/debian/.hermes/profiles/nutrition-coach/real_recipes.jsonl and ensure the total recipe count reaches the target of 25000 lines. Report current count, delta, and whether the target is met. If below target, trigger the scraper to run and append missing recipes.",
      "skills": [],
      "skill": null,
      "model": "vllm/moonshotai/kimi-k2.6",
      "provider": "noris",
      "base_url": null,
      "script": null,
      "no_agent": false,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "0 6 * * *",
        "display": "0 6 * * *"
      },
      "schedule_display": "0 6 * * *",
      "repeat": {
        "times": null,
        "completed": 12
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-18T05:23:21.427749+00:00",
      "next_run_at": "2026-06-27T06:00:00+00:00",
      "last_run_at": "2026-06-26T06:00:43.106330+00:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "223926918",
        "chat_name": "D S",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "a884c342c49e",
      "name": "chefkoch-scraper-watchdog",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "run_scraper.sh",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "*/10 * * * *",
        "display": "*/10 * * * *"
      },
      "schedule_display": "*/10 * * * *",
      "repeat": {
        "times": null,
        "completed": 1217
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-18T09:27:20.890661+00:00",
      "next_run_at": "2026-06-26T20:50:00+00:00",
      "last_run_at": "2026-06-26T20:40:57.478937+00:00",
      "last_status": "error",
      "last_error": "Script not found: /home/debian/.hermes/scripts/run_scraper.sh",
      "last_delivery_error": null,
      "deliver": "local",
      "origin": {
        "platform": "telegram",
        "chat_id": "223926918",
        "chat_name": "D S",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    },
    {
      "id": "a74a96ad0c96",
      "name": "comfy-e2e-watcher",
      "prompt": "",
      "skills": [],
      "skill": null,
      "model": null,
      "provider": null,
      "base_url": null,
      "script": "comfy_e2e_watcher.sh",
      "no_agent": true,
      "context_from": null,
      "schedule": {
        "kind": "cron",
        "expr": "*/5 * * * *",
        "display": "*/5 * * * *"
      },
      "schedule_display": "*/5 * * * *",
      "repeat": {
        "times": null,
        "completed": 1169
      },
      "enabled": true,
      "state": "scheduled",
      "paused_at": null,
      "paused_reason": null,
      "created_at": "2026-06-22T18:34:14.816677+00:00",
      "next_run_at": "2026-06-26T20:50:00+00:00",
      "last_run_at": "2026-06-26T20:45:57.793487+00:00",
      "last_status": "ok",
      "last_error": null,
      "last_delivery_error": null,
      "deliver": "origin",
      "origin": {
        "platform": "telegram",
        "chat_id": "223926918",
        "chat_name": "D S",
        "thread_id": null
      },
      "enabled_toolsets": null,
      "workdir": null
    }
  ],
  "updated_at": "2026-06-26T20:45:57.793974+00:00"
}