{
  "generated_at": "2026-06-21T16:21:48-04:00",
  "public_repo": "https://github.com/guberm/hermes-architecture",
  "host": {
    "primary": "Linux host /home/mg running Hermes gateway as a systemd service",
    "windows_remote": "windows-pc over SSH for Windows/desktop tasks",
    "timezone": "America/Toronto / Eastern Time"
  },
  "hermes": {
    "version_output": "Hermes Agent v0.17.0 (2026.6.19) · upstream 65a477f1 · local f7524d0d (+2 carried commits)\nProject: /home/mg/.hermes/hermes-agent\nPython: 3.11.15\nOpenAI SDK: 2.24.0\nUpdate available: 186 commits behind — run 'hermes update'",
    "primary_model": {
      "provider": "openai-codex",
      "default": "gpt-5.5",
      "base_url": "",
      "api_mode": "codex_responses"
    },
    "fallback_model": {
      "provider": "copilot",
      "model": "gpt-5.4"
    },
    "providers": {
      "lmstudio": {
        "name": "LM Studio Local",
        "base_url": "http://127.0.0.1:1234/v1",
        "api_mode": "chat_completions",
        "model": "gemma4unc",
        "models": {
          "gemma4unc": {
            "context_length": 65536
          }
        },
        "context_length": 65536
      },
      "nvidia": {
        "name": "NVIDIA NIM",
        "base_url": "https://integrate.api.nvidia.com/v1",
        "key_env": "NVIDIA_API_KEY",
        "api_mode": "chat_completions",
        "discover_models": true,
        "model": "meta/llama-3.3-70b-instruct"
      },
      "freekimi": {
        "name": "Free Kimi K2.6 local proxy",
        "base_url": "http://127.0.0.1:3271/v1",
        "api_mode": "chat_completions",
        "model": "cfbt-kimi",
        "context_length": 200000,
        "models": {
          "cfbt-kimi": {
            "context_length": 200000
          }
        }
      }
    },
    "custom_providers": [
      {
        "name": "cfbt-kimi",
        "base_url": "http://127.0.0.1:3271/v1",
        "model": "cfbt-kimi",
        "models": {
          "cfbt-kimi": {
            "context_length": 200000
          }
        }
      }
    ],
    "auxiliary": {
      "vision": {
        "provider": "auto",
        "model": "",
        "base_url": "",
        "timeout": 120,
        "extra_body": {},
        "download_timeout": 30
      },
      "web_extract": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 360,
        "extra_body": {}
      },
      "compression": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 300,
        "extra_body": {}
      },
      "skills_hub": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 30,
        "extra_body": {}
      },
      "approval": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 30,
        "extra_body": {}
      },
      "mcp": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 30,
        "extra_body": {}
      },
      "title_generation": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 30,
        "extra_body": {}
      },
      "tts_audio_tags": {
        "provider": "auto",
        "model": "",
        "base_url": "",
        "timeout": 30,
        "extra_body": {}
      },
      "triage_specifier": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 120,
        "extra_body": {}
      },
      "kanban_decomposer": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 180,
        "extra_body": {}
      },
      "profile_describer": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 60,
        "extra_body": {}
      },
      "curator": {
        "provider": "copilot",
        "model": "gpt-5.4",
        "base_url": "",
        "timeout": 600,
        "extra_body": {}
      },
      "monitor": {
        "provider": "auto",
        "model": "",
        "base_url": "",
        "timeout": 60,
        "extra_body": {}
      }
    },
    "delegation": {
      "model": "",
      "provider": "",
      "base_url": "",
      "api_mode": "",
      "inherit_mcp_toolsets": true,
      "max_iterations": 50,
      "child_timeout_seconds": 600,
      "reasoning_effort": "",
      "max_concurrent_children": 3,
      "max_async_children": 3,
      "max_spawn_depth": 1,
      "orchestrator_enabled": true,
      "subagent_auto_approve": false
    },
    "memory": {
      "memory_enabled": false,
      "user_profile_enabled": true,
      "write_approval": false,
      "memory_char_limit": 2200,
      "user_char_limit": 1375,
      "provider": "",
      "nudge_interval": 10,
      "flush_min_turns": 6
    },
    "stt": {
      "enabled": true,
      "provider": "local",
      "local": {
        "model": "base",
        "language": ""
      },
      "openai": {
        "model": "whisper-1"
      },
      "mistral": {
        "model": "voxtral-mini-latest"
      },
      "elevenlabs": {
        "model_id": "scribe_v2",
        "language_code": "",
        "tag_audio_events": false,
        "diarize": false
      }
    },
    "tts": {
      "provider": "edge",
      "edge": {
        "voice": "ru-RU-DmitryNeural"
      },
      "elevenlabs": {
        "voice_id": "pNInz6obpgDQGcFmaJgB",
        "model_id": "eleven_multilingual_v2"
      },
      "openai": {
        "model": "gpt-4o-mini-tts",
        "voice": "alloy"
      },
      "gemini": {
        "model": "gemini-2.5-flash-preview-tts",
        "voice": "Kore",
        "audio_tags": false,
        "persona_prompt_file": ""
      },
      "xai": {
        "voice_id": "eve",
        "language": "en",
        "sample_rate": 24000,
        "bit_rate": 128000
      },
      "mistral": {
        "model": "voxtral-mini-tts-2603",
        "voice_id": "[REDACTED]"
      },
      "neutts": {
        "ref_audio": "",
        "ref_text": "",
        "model": "neuphonic/neutts-air-q4-gguf",
        "device": "cpu"
      },
      "piper": {
        "voice": "en_US-lessac-medium"
      },
      "inworld": {
        "base_url": "https://api.inworld.ai",
        "endpoint": "/tts/v1/voice",
        "model_id": "inworld-tts-2",
        "voice_id": "Dennis",
        "audio_encoding": "MP3",
        "sample_rate_hertz": 24000,
        "payload_case": "camel",
        "delivery_mode": "BALANCED",
        "apply_text_normalization": "ON"
      },
      "use_gateway": false,
      "providers": {
        "inworld-tts2": {
          "type": "command",
          "command": "/home/mg/.local/bin/inworld-tts2-hermes {input_path} {output_path}",
          "output_format": "mp3",
          "voice_compatible": true,
          "max_text_length": 5000,
          "timeout_seconds": 180,
          "voice": "Ashley",
          "model": "inworld-tts-2"
        },
        "supertonic-local": {
          "type": "command",
          "command": "/home/mg/.local/bin/supertonic-hermes-tts {input_path} {output_path}",
          "output_format": "wav",
          "voice_compatible": false,
          "max_text_length": 3000,
          "timeout_seconds": 180,
          "voice": "M1",
          "model": "supertonic-3",
          "language": "ru"
        }
      }
    }
  },
  "gateway": {
    "status_summary": {
      "running": true,
      "pid_present": true,
      "service": "hermes-gateway.service",
      "detail": "Systemd gateway service is enabled/running on the Linux host."
    },
    "platforms": [
      "api_server",
      "homeassistant",
      "mattermost",
      "telegram",
      "whatsapp"
    ],
    "home_channels": "Configured privately; IDs are intentionally not published."
  },
  "mcp": {
    "servers": {
      "codegraph": {
        "command": "/home/mg/.nvm/versions/node/v22.19.0/bin/codegraph",
        "args": [
          "serve",
          "--mcp"
        ],
        "timeout": 120,
        "connect_timeout": 60,
        "enabled": true
      },
      "gbrain": {
        "url": "http://127.0.0.1:3131/mcp",
        "headers": {},
        "enabled": true,
        "timeout": 300,
        "connect_timeout": 60
      },
      "notebooklm": {
        "command": "npx",
        "args": [
          "-y",
          "notebooklm-mcp@latest"
        ],
        "env": {
          "NOTEBOOKLM_PROFILE": "standard",
          "NOTEBOOKLM_DISABLED_TOOLS": "cleanup_data,re_auth",
          "HEADLESS": "true",
          "BROWSER_CHANNEL": "chrome",
          "DISPLAY": ":0",
          "XDG_RUNTIME_DIR": "/run/user/1000"
        },
        "connect_timeout": 120,
        "timeout": 600,
        "enabled": true
      }
    },
    "list_output_sanitized": "MCP Servers:\n\n  Name             Transport                      Tools        Status    \n  ──────────────── ────────────────────────────── ──────────── ──────────\n  codegraph        /home/mg/.nvm/versions/no...   all          ✓ enabled\n  gbrain           http://127.0.0.1:3131/mcp      all          ✓ enabled\n  notebooklm       npx -y notebooklm-mcp@latest   all          ✓ enabled"
  },
  "tools": {
    "list_output_sanitized": "Built-in toolsets (cli):\n  ✓ enabled  web  🔍 Web Search & Scraping\n  ✓ enabled  browser  🌐 Browser Automation\n  ✓ enabled  terminal  💻 Terminal & Processes\n  ✓ enabled  file  📁 File Operations\n  ✓ enabled  code_execution  ⚡ Code Execution\n  ✓ enabled  vision  👁️  Vision / Image Analysis\n  ✗ disabled  video  🎬 Video Analysis\n  ✓ enabled  image_gen  🎨 Image Generation\n  ✗ disabled  video_gen  🎬 Video Generation\n  ✗ disabled  x_search  🐦 X (Twitter) Search\n  ✓ enabled  moa  🧠 Mixture of Agents\n  ✓ enabled  tts  🔊 Text-to-Speech\n  ✓ enabled  skills  📚 Skills\n  ✓ enabled  todo  📋 Task Planning\n  ✓ enabled  memory  💾 Memory\n  ✓ enabled  context_engine  🧩 Context Engine\n  ✓ enabled  session_search  🔎 Session Search\n  ✓ enabled  clarify  ❓ Clarifying Questions\n  ✓ enabled  delegation  👥 Task Delegation\n  ✓ enabled  cronjob  ⏰ Cron Jobs\n  ✓ enabled  homeassistant  🏠 Home Assistant\n  ✗ disabled  spotify  🎵 Spotify\n  ✗ disabled  yuanbao  🤖 Yuanbao\n  ✗ disabled  computer_use  🖱️  Computer Use (macOS)\n\nMCP servers:\n  codegraph  all tools enabled\n  gbrain  all tools enabled\n  notebooklm  all tools enabled"
  },
  "profiles": {
    "output_sanitized": "Profile          Model                        Gateway      Alias        Distribution\n ───────────────    ───────────────────────────    ───────────    ───────────    ────────────────────\n ◆default         gpt-5.5                      running      —            —"
  },
  "fallback": {
    "output_sanitized": "Primary:   gpt-5.5  (via openai-codex)\n\n  Fallback chain (1 entry):\n    1. gpt-5.4  (via copilot)\n\n  Tried in order when the primary fails (rate-limit, 5xx, connection errors).\n  Docs: https://hermes-agent.nousresearch.com/docs/user-guide/features/fallback-providers"
  },
  "scheduled_automation": {
    "active_job_categories": {
      "Backup & sync": 5,
      "GitHub & publishing": 6,
      "Other scheduled automation": 3,
      "Media/news monitoring": 3,
      "Knowledge & memory": 5,
      "Home automation": 2,
      "Private finance automation": 4,
      "Reliability watchdogs": 7
    },
    "note": "Exact job names are intentionally grouped for the public repo because some jobs reference private personal or client workflows."
  },
  "operational_surfaces": {
    "tasks": {
      "cron_total": 35,
      "execution_modes": {
        "no_agent": 24,
        "agent": 0,
        "unknown": 11
      },
      "public_categories": {
        "Backup & sync": 5,
        "GitHub & publishing": 6,
        "Home automation": 2,
        "Knowledge & memory": 5,
        "Media/news monitoring": 3,
        "Other scheduled automation": 3,
        "Private finance automation": 4,
        "Reliability watchdogs": 7
      },
      "jobs_public": [
        {
          "name": "Daily Hermes Backup",
          "category": "Backup & sync",
          "schedule": "0 3 * * *",
          "repeat": "∞",
          "next_run": "2026-06-22T03:00:00-04:00",
          "deliver": "configured private channel",
          "script": "daily_hermes_backup.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T03:00:45.103191-04:00  ok"
        },
        {
          "name": "Sync & Merge All",
          "category": "Backup & sync",
          "schedule": "0 */8 * * *",
          "repeat": "∞",
          "next_run": "2026-06-22T00:00:00-04:00",
          "deliver": "configured private channel",
          "last_run": "2026-06-21T16:16:28.279866-04:00  ok"
        },
        {
          "name": "Daily DB SQLite Google Drive Backup",
          "category": "Backup & sync",
          "schedule": "30 4 * * *",
          "repeat": "48/3650",
          "next_run": "2026-06-22T04:30:00-04:00",
          "deliver": "configured private channel",
          "script": "backup_sqlite_dbs_to_gdrive_daily.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T04:32:02.587075-04:00  ok"
        },
        {
          "name": "github-health-digest",
          "category": "GitHub & publishing",
          "schedule": "0 9 * * 1-5",
          "repeat": "∞",
          "next_run": "2026-06-22T09:00:00-04:00",
          "deliver": "configured private channel",
          "script": "github_health_digest.py",
          "workdir": "~",
          "last_run": "2026-06-19T09:01:28.905365-04:00  ok"
        },
        {
          "name": "Check Windows nightly cleanup logs",
          "category": "Other scheduled automation",
          "schedule": "15 2 * * *",
          "repeat": "∞",
          "next_run": "2026-06-22T02:15:00-04:00",
          "deliver": "configured private channel",
          "last_run": "2026-06-21T02:27:07.047923-04:00  ok"
        },
        {
          "name": "world-update-brief",
          "category": "Media/news monitoring",
          "schedule": "0 7,19 * * *",
          "repeat": "∞",
          "next_run": "2026-06-21T19:00:00-04:00",
          "deliver": "configured private channel",
          "workdir": "~/.hermes/scripts",
          "last_run": "2026-06-21T07:54:22.399881-04:00  ok"
        },
        {
          "name": "[Backup & sync task]",
          "category": "Backup & sync",
          "schedule": "every 180m",
          "repeat": "∞",
          "next_run": "2026-06-21T17:37:47.550093-04:00",
          "deliver": "configured private channel",
          "script": "[private script]",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T14:37:47.550093-04:00  ok"
        },
        {
          "name": "Auto-update guberm.github.io Projects",
          "category": "GitHub & publishing",
          "schedule": "every 1440m",
          "repeat": "∞",
          "next_run": "2026-06-22T14:36:49.053484-04:00",
          "deliver": "configured private channel",
          "script": "update_guberm_github_projects.py",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T14:36:49.053484-04:00  ok"
        },
        {
          "name": "Weekly memory-to-gbrain compaction",
          "category": "Knowledge & memory",
          "schedule": "0 5 * * 0",
          "repeat": "∞",
          "next_run": "2026-06-28T05:00:00-04:00",
          "deliver": "configured private channel",
          "last_run": "2026-06-21T05:04:43.642652-04:00  ok"
        },
        {
          "name": "Daily GBrain Google Drive Backup",
          "category": "Backup & sync",
          "schedule": "45 4 * * *",
          "repeat": "∞",
          "next_run": "2026-06-22T04:45:00-04:00",
          "deliver": "configured private channel",
          "script": "backup_gbrain_to_gdrive_daily.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T04:45:49.956581-04:00  ok"
        },
        {
          "name": "Daily RSS Bot Stats Report",
          "category": "GitHub & publishing",
          "schedule": "0 8 * * *",
          "repeat": "23/3650",
          "next_run": "2026-06-22T08:00:00-04:00",
          "deliver": "configured private channel",
          "script": "rss_bot_daily_report.py",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T08:01:07.108571-04:00  ok"
        },
        {
          "name": "SwitchBot Meter Pro hourly Google Sheet logger",
          "category": "Home automation",
          "schedule": "every 60m",
          "repeat": "∞",
          "next_run": "2026-06-21T16:55:50.288028-04:00",
          "deliver": "configured private channel",
          "script": "switchbot_meterpro_to_sheets.py",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T15:55:50.288028-04:00  ok"
        },
        {
          "name": "Home Assistant filtered 3-hour Google Sheet logger",
          "category": "Home automation",
          "schedule": "every 180m",
          "repeat": "∞",
          "next_run": "2026-06-21T16:50:49.421033-04:00",
          "deliver": "configured private channel",
          "script": "ha_entities_to_sheets.py",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T13:50:49.421033-04:00  ok"
        },
        {
          "name": "recheck-agentmemory-in-3-months",
          "category": "Knowledge & memory",
          "schedule": "once at 2026-09-01 08:43",
          "repeat": "0/1",
          "next_run": "2026-09-01T08:43:22-04:00",
          "deliver": "configured private channel"
        },
        {
          "name": "[Media/news monitoring task]",
          "category": "Media/news monitoring",
          "schedule": "20 8,20 * * *",
          "repeat": "∞",
          "next_run": "2026-06-21T20:20:00-04:00",
          "deliver": "origin",
          "workdir": "~",
          "last_run": "2026-06-21T08:22:25.775291-04:00  ok"
        },
        {
          "name": "[Private finance automation task]",
          "category": "Private finance automation",
          "schedule": "every 720m",
          "repeat": "∞",
          "next_run": "2026-06-21T21:16:20.990456-04:00",
          "deliver": "origin",
          "script": "[private script]",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T09:16:20.990456-04:00  ok"
        },
        {
          "name": "[Private finance automation task]",
          "category": "Private finance automation",
          "schedule": "0 8,14,20 * * *",
          "repeat": "39/3650",
          "next_run": "2026-06-21T20:00:00-04:00",
          "deliver": "origin",
          "workdir": "~",
          "last_run": "2026-06-21T14:08:14.624253-04:00  ok"
        },
        {
          "name": "Hermes cron auto-healer",
          "category": "Reliability watchdogs",
          "schedule": "every 15m",
          "repeat": "∞",
          "next_run": "2026-06-21T16:26:47.752664-04:00",
          "deliver": "origin",
          "script": "hermes_auto_healer.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:11:47.752664-04:00  ok"
        },
        {
          "name": "Review whether Claude-mem can be disabled",
          "category": "Knowledge & memory",
          "schedule": "once at 2026-06-22 09:00",
          "repeat": "0/1",
          "next_run": "2026-06-22T09:00:00-04:00",
          "deliver": "origin",
          "script": "gbrain_claude_mem_retirement_report.py",
          "workdir": "~"
        },
        {
          "name": "[Reliability watchdogs task]",
          "category": "Reliability watchdogs",
          "schedule": "every 720m",
          "repeat": "∞",
          "next_run": "2026-06-22T00:33:47.125874-04:00",
          "deliver": "origin",
          "script": "[private script]",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T12:33:47.125874-04:00  ok"
        },
        {
          "name": "Nightly GBrain update watchdog",
          "category": "Knowledge & memory",
          "schedule": "20 3 * * *",
          "repeat": "∞",
          "next_run": "2026-06-22T03:20:00-04:00",
          "deliver": "origin",
          "script": "gbrain_update_watchdog.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T03:20:41.296523-04:00  ok"
        },
        {
          "name": "[Private finance automation task]",
          "category": "Private finance automation",
          "schedule": "15 8,14,20 * * *",
          "repeat": "∞",
          "next_run": "2026-06-21T20:15:00-04:00",
          "deliver": "origin",
          "script": "[private script]",
          "workdir": "~",
          "last_run": "2026-06-21T14:16:10.642723-04:00  ok"
        },
        {
          "name": "[Private finance automation task]",
          "category": "Private finance automation",
          "schedule": "20 8,14,20 * * *",
          "repeat": "∞",
          "next_run": "2026-06-21T20:20:00-04:00",
          "deliver": "origin",
          "script": "[private script]",
          "workdir": "~",
          "last_run": "2026-06-21T14:22:04.707399-04:00  ok"
        },
        {
          "name": "Hermes Python env guard",
          "category": "Reliability watchdogs",
          "schedule": "every 120m",
          "repeat": "∞",
          "next_run": "2026-06-21T16:59:47.386903-04:00",
          "deliver": "origin",
          "script": "hermes_python_env_guard.py",
          "mode": "no-agent (script stdout delivered directly)",
          "last_run": "2026-06-21T14:59:47.386903-04:00  ok"
        },
        {
          "name": "ForgetMe YouTube new video monitor",
          "category": "Media/news monitoring",
          "schedule": "every 30m",
          "repeat": "∞",
          "next_run": "2026-06-21T16:39:47.529592-04:00",
          "deliver": "origin",
          "script": "forgetme_youtube_monitor.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:09:47.529592-04:00  ok"
        },
        {
          "name": "Hourly GBrain auto-healer",
          "category": "Knowledge & memory",
          "schedule": "every 60m",
          "repeat": "∞",
          "next_run": "2026-06-21T17:09:49.281976-04:00",
          "deliver": "origin",
          "script": "gbrain_hourly_healer.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:09:49.281976-04:00  ok"
        },
        {
          "name": "Update public Hermes architecture repo",
          "category": "GitHub & publishing",
          "schedule": "15 6 * * *",
          "repeat": "∞",
          "next_run": "2026-06-22T06:15:00-04:00",
          "deliver": "origin",
          "script": "update_hermes_architecture_repo.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T06:16:02.622558-04:00  ok"
        },
        {
          "name": "OpenSourceProjects.dev hourly review",
          "category": "GitHub & publishing",
          "schedule": "every 60m",
          "repeat": "∞",
          "next_run": "2026-06-21T16:35:47.534030-04:00",
          "deliver": "origin",
          "script": "opensourceprojects_review_notify.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T15:35:47.534030-04:00  ok"
        },
        {
          "name": "Telegram @github hourly review",
          "category": "GitHub & publishing",
          "schedule": "every 60m",
          "repeat": "∞",
          "next_run": "2026-06-21T17:14:48.221774-04:00",
          "deliver": "origin",
          "script": "telegram_github_review_notify.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:14:48.221774-04:00  ok"
        },
        {
          "name": "Glances system watchdog",
          "category": "Reliability watchdogs",
          "schedule": "every 15m",
          "repeat": "18/3650",
          "next_run": "2026-06-21T16:36:50.039151-04:00",
          "deliver": "origin",
          "script": "glances_watchdog.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:21:50.039151-04:00  ok"
        },
        {
          "name": "Daily React Doctor web watchdog",
          "category": "Reliability watchdogs",
          "schedule": "30 9 * * *",
          "repeat": "1/3650",
          "next_run": "2026-06-22T09:30:00-04:00",
          "deliver": "origin",
          "script": "react_doctor_web_watchdog.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T12:41:52.126160-04:00  ok"
        },
        {
          "name": "Private Hermes ops wiki updater",
          "category": "Other scheduled automation",
          "schedule": "every 360m",
          "repeat": "0/3650",
          "next_run": "2026-06-21T21:05:32.232571-04:00",
          "deliver": "origin",
          "script": "update_hermes_ops_wiki_quiet.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~"
        },
        {
          "name": "Hermes architecture public site watchdog",
          "category": "Reliability watchdogs",
          "schedule": "every 15m",
          "repeat": "1/3650",
          "next_run": "2026-06-21T16:28:47.350744-04:00",
          "deliver": "origin",
          "script": "ensure_hermes_arch_public_site.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:13:47.350744-04:00  ok"
        },
        {
          "name": "Hermes private ops wiki public route watchdog",
          "category": "Reliability watchdogs",
          "schedule": "every 15m",
          "repeat": "1/3650",
          "next_run": "2026-06-21T16:33:47.417884-04:00",
          "deliver": "origin",
          "script": "ensure_hermeswiki_public_site.sh",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:18:47.417884-04:00  ok"
        },
        {
          "name": "Telegram @notboring_tech hourly review",
          "category": "Other scheduled automation",
          "schedule": "every 60m",
          "repeat": "1/3650",
          "next_run": "2026-06-21T17:20:48.243468-04:00",
          "deliver": "origin",
          "script": "telegram_notboring_tech_review_notify.py",
          "mode": "no-agent (script stdout delivered directly)",
          "workdir": "~",
          "last_run": "2026-06-21T16:20:48.243468-04:00  ok"
        }
      ],
      "note": "Task names that expose personal/client workflows are replaced with category labels; schedules/scripts/modes are retained when safe."
    },
    "skills": {
      "total_detected": 213,
      "categories": {
        ".archive": 11,
        "apple": 6,
        "autonomous-ai-agents": 7,
        "creative": 34,
        "data-science": 2,
        "devops": 9,
        "ecc-imports": 4,
        "email": 2,
        "gaming": 2,
        "github": 11,
        "mcp": 1,
        "media": 7,
        "mlops": 19,
        "note-taking": 3,
        "personal": 5,
        "productivity": 20,
        "red-teaming": 1,
        "research": 13,
        "smart-home": 3,
        "social-media": 2,
        "software-development": 33,
        "uncategorized": 18
      },
      "public_examples": [
        {
          "name": "dspy",
          "category": "mlops",
          "description": "DSPy: declarative LM programs, auto-optimize prompts, RAG."
        },
        {
          "name": "fine-tuning-with-trl",
          "category": "mlops",
          "description": "TRL: SFT, DPO, PPO, GRPO, reward modeling for LLM RLHF."
        },
        {
          "name": "axolotl",
          "category": "mlops",
          "description": "Axolotl: YAML LLM fine-tuning (LoRA, DPO, GRPO)."
        },
        {
          "name": "unsloth",
          "category": "mlops",
          "description": "Unsloth: 2-5x faster LoRA/QLoRA fine-tuning, less VRAM."
        },
        {
          "name": "huggingface-hub",
          "category": "mlops",
          "description": "HuggingFace hf CLI: search/download/upload models, datasets."
        },
        {
          "name": "segment-anything-model",
          "category": "mlops",
          "description": "SAM: zero-shot image segmentation via points, boxes, masks."
        },
        {
          "name": "weights-and-biases",
          "category": "mlops",
          "description": "W&B: log ML experiments, sweeps, model registry, dashboards."
        },
        {
          "name": "evaluating-llms-harness",
          "category": "mlops",
          "description": "lm-eval-harness: benchmark LLMs (MMLU, GSM8K, etc.)."
        },
        {
          "name": "llama-cpp",
          "category": "mlops",
          "description": "llama.cpp local GGUF inference + HF Hub model discovery."
        },
        {
          "name": "obliteratus",
          "category": "mlops",
          "description": "OBLITERATUS: abliterate LLM refusals (diff-in-means)."
        },
        {
          "name": "serving-llms-vllm",
          "category": "mlops",
          "description": "vLLM: high-throughput LLM serving, OpenAI API, quantization."
        },
        {
          "name": "outlines",
          "category": "mlops",
          "description": "Outlines: structured JSON/regex/Pydantic LLM generation."
        },
        {
          "name": "strategic-reading",
          "category": "uncategorized",
          "description": "Read a book, article, transcript, or case study through the lens of a specific strategic problem you"
        },
        {
          "name": "gif-search",
          "category": "media",
          "description": "Search/download GIFs from Tenor via curl + jq."
        },
        {
          "name": "spotify",
          "category": "media",
          "description": "Spotify: play, search, queue, manage playlists and devices."
        },
        {
          "name": "youtube-content",
          "category": "media",
          "description": "YouTube transcripts to summaries, threads, blogs."
        },
        {
          "name": "article-enrichment",
          "category": "uncategorized",
          "description": "Transform raw article text dumps in the brain into structured pages with executive summary, verbatim quotes, key insights, why-it-matters, a"
        },
        {
          "name": "llm-wiki",
          "category": "research",
          "description": "Karpathy"
        },
        {
          "name": "blogwatcher",
          "category": "research",
          "description": "Monitor blogs and RSS/Atom feeds via blogwatcher-cli tool."
        },
        {
          "name": "external-service-due-diligence",
          "category": "research",
          "description": "Evaluate whether a third-party service or product is trustworthy, integrable, and compliant enough for automation, purchasing, or review for"
        },
        {
          "name": "academic-research-operations",
          "category": "research",
          "description": "Operate the academic research workflow from paper discovery through experiment-backed writing and submission."
        },
        {
          "name": "polymarket",
          "category": "research",
          "description": "Query Polymarket: markets, prices, orderbooks, history."
        },
        {
          "name": "skillpack-check",
          "category": "uncategorized",
          "description": "|"
        },
        {
          "name": "himalaya",
          "category": "email",
          "description": "Himalaya CLI: IMAP/SMTP email from terminal."
        },
        {
          "name": "chrome-extensions",
          "category": "uncategorized",
          "description": ">"
        },
        {
          "name": "pokemon-player",
          "category": "gaming",
          "description": "Play Pokemon via headless emulator + RAM reads."
        },
        {
          "name": "minecraft-modpack-server",
          "category": "gaming",
          "description": "Host modded Minecraft servers (CurseForge, Modrinth)."
        },
        {
          "name": "modern-web-guidance",
          "category": "uncategorized",
          "description": "|"
        },
        {
          "name": "concept-synthesis",
          "category": "uncategorized",
          "description": "Deduplicate and synthesize raw concept stubs into a tiered intellectual map (T1 Canon to T4 Riff), tracing idea evolution across sources ove"
        },
        {
          "name": "popular-web-designs",
          "category": "creative",
          "description": "54 real design systems (Stripe, Linear, Vercel) as HTML/CSS."
        },
        {
          "name": "humanizer",
          "category": "creative",
          "description": "Humanize text: strip AI-isms and add real voice."
        },
        {
          "name": "comfyui",
          "category": "creative",
          "description": "Generate images, video, and audio with ComfyUI — install, launch, manage nodes/models, run workflows with parameter injection. Uses the offi"
        },
        {
          "name": "pretext",
          "category": "creative",
          "description": "Use when building creative browser demos with @chenglou/pretext — DOM-free text layout for ASCII art, typographic flow around obstacles, tex"
        },
        {
          "name": "songwriting-and-ai-music",
          "category": "creative",
          "description": "Songwriting craft and Suno AI music prompts."
        },
        {
          "name": "touchdesigner-mcp",
          "category": "creative",
          "description": "Control a running TouchDesigner instance via twozero MCP — create operators, set parameters, wire connections, execute Python, build real-ti"
        },
        {
          "name": "design-md",
          "category": "creative",
          "description": "Author/validate/export Google"
        },
        {
          "name": "ideation",
          "category": "creative",
          "description": "Generate project ideas via creative constraints."
        },
        {
          "name": "baoyu-comic",
          "category": "creative",
          "description": "Knowledge comics (知识漫画): educational, biography, tutorial."
        },
        {
          "name": "p5js",
          "category": "creative",
          "description": "p5.js sketches: gen art, shaders, interactive, 3D."
        },
        {
          "name": "architecture-diagram",
          "category": "creative",
          "description": "Dark-themed SVG architecture/cloud/infra diagrams as HTML."
        }
      ],
      "note": "Examples omit personal/client-sensitive skill names; full local skill inventory remains private."
    },
    "hooks": {
      "shell_hooks_allowlist_present": false,
      "shell_hooks_allowlist_entries": 0,
      "claude_plugin_hook_files_detected": 23,
      "public_hook_file_examples": [
        ".claude/plugins/marketplaces/thedotmack/plugin/hooks/hooks.json",
        ".claude/plugins/marketplaces/thedotmack/cursor-hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-plugins-official/plugins/learning-output-style/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-plugins-official/plugins/security-guidance/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-plugins-official/plugins/hookify/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-plugins-official/plugins/ralph-loop/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-plugins-official/plugins/explanatory-output-style/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-code-warp/plugins/warp/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-code-plugins/plugins/learning-output-style/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-code-plugins/plugins/security-guidance/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-code-plugins/plugins/hookify/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-code-plugins/plugins/ralph-wiggum/hooks/hooks.json",
        ".claude/plugins/marketplaces/claude-code-plugins/plugins/explanatory-output-style/hooks/hooks.json",
        ".claude/plugins/marketplaces/ponytail/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.2.0/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.1.0/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.0.1/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.0.0/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.4.0/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.3.0/hooks/hooks.json",
        ".claude/plugins/cache/thedotmack/claude-mem/13.4.1/hooks/hooks.json",
        ".claude/plugins/cache/claude-code-warp/warp/2.0.0/hooks/hooks.json",
        ".claude/plugins/cache/ponytail/ponytail/4.6.0/hooks/hooks.json"
      ],
      "webhook_summary": "webhook platform not enabled",
      "note": "Hook contents and command bodies are not published; only hook surfaces/counts are documented."
    },
    "plugins": {
      "detected_plugins": [
        {
          "name": "browser-browser-use",
          "status": "not enabled"
        },
        {
          "name": "browser-browserbase",
          "status": "not enabled"
        },
        {
          "name": "browser-firecrawl",
          "status": "not enabled"
        },
        {
          "name": "chronos",
          "status": "not enabled"
        },
        {
          "name": "basic",
          "status": "not enabled"
        },
        {
          "name": "nous",
          "status": "not enabled"
        },
        {
          "name": "self-hosted",
          "status": "not enabled"
        },
        {
          "name": "disk-cleanup",
          "status": "not enabled"
        },
        {
          "name": "google_meet",
          "status": "not enabled"
        },
        {
          "name": "fal",
          "status": "not enabled"
        },
        {
          "name": "krea",
          "status": "not enabled"
        },
        {
          "name": "openai",
          "status": "not enabled"
        },
        {
          "name": "openai-codex",
          "status": "not enabled"
        },
        {
          "name": "xai",
          "status": "not enabled"
        },
        {
          "name": "alibaba-provider",
          "status": "not enabled"
        },
        {
          "name": "anthropic-provider",
          "status": "not enabled"
        },
        {
          "name": "arcee-provider",
          "status": "not enabled"
        },
        {
          "name": "bedrock-provider",
          "status": "not enabled"
        },
        {
          "name": "copilot-provider",
          "status": "not enabled"
        },
        {
          "name": "copilot-acp-provider",
          "status": "not enabled"
        },
        {
          "name": "custom-provider",
          "status": "not enabled"
        },
        {
          "name": "deepseek-provider",
          "status": "not enabled"
        },
        {
          "name": "gemini-provider",
          "status": "not enabled"
        },
        {
          "name": "gmi-provider",
          "status": "not enabled"
        },
        {
          "name": "huggingface-provider",
          "status": "not enabled"
        },
        {
          "name": "kilocode-provider",
          "status": "not enabled"
        },
        {
          "name": "kimi-coding-provider",
          "status": "not enabled"
        },
        {
          "name": "minimax-provider",
          "status": "not enabled"
        },
        {
          "name": "nous-provider",
          "status": "not enabled"
        },
        {
          "name": "novita-provider",
          "status": "not enabled"
        },
        {
          "name": "nvidia-provider",
          "status": "not enabled"
        },
        {
          "name": "openrouter-provider",
          "status": "not enabled"
        },
        {
          "name": "qwen-oauth-provider",
          "status": "not enabled"
        },
        {
          "name": "stepfun-provider",
          "status": "not enabled"
        },
        {
          "name": "xai-provider",
          "status": "not enabled"
        },
        {
          "name": "xiaomi-provider",
          "status": "not enabled"
        },
        {
          "name": "zai-provider",
          "status": "not enabled"
        },
        {
          "name": "langfuse",
          "status": "not enabled"
        },
        {
          "name": "nemo_relay",
          "status": "not enabled"
        },
        {
          "name": "discord-platform",
          "status": "not enabled"
        },
        {
          "name": "google_chat-platform",
          "status": "not enabled"
        },
        {
          "name": "irc-platform",
          "status": "not enabled"
        },
        {
          "name": "line-platform",
          "status": "not enabled"
        },
        {
          "name": "mattermost-platform",
          "status": "not enabled"
        },
        {
          "name": "ntfy-platform",
          "status": "not enabled"
        },
        {
          "name": "photon-platform",
          "status": "not enabled"
        },
        {
          "name": "raft-platform",
          "status": "not enabled"
        },
        {
          "name": "simplex-platform",
          "status": "not enabled"
        },
        {
          "name": "teams-platform",
          "status": "not enabled"
        },
        {
          "name": "security-guidance",
          "status": "not enabled"
        },
        {
          "name": "spotify",
          "status": "not enabled"
        },
        {
          "name": "teams_pipeline",
          "status": "not enabled"
        },
        {
          "name": "fal",
          "status": "not enabled"
        },
        {
          "name": "xai",
          "status": "not enabled"
        },
        {
          "name": "web-brave-free",
          "status": "not enabled"
        },
        {
          "name": "web-ddgs",
          "status": "not enabled"
        },
        {
          "name": "web-exa",
          "status": "not enabled"
        },
        {
          "name": "web-firecrawl",
          "status": "not enabled"
        },
        {
          "name": "web-parallel",
          "status": "not enabled"
        },
        {
          "name": "web-searxng",
          "status": "not enabled"
        },
        {
          "name": "web-tavily",
          "status": "not enabled"
        },
        {
          "name": "web-xai",
          "status": "not enabled"
        },
        {
          "name": "hermes-lcm",
          "status": "enabled"
        }
      ],
      "enabled_count_estimate": 3,
      "not_enabled_count_estimate": 68,
      "note": "Plugin descriptions are omitted from the public inventory because they may mention credential/environment surfaces."
    },
    "tools": {
      "toolset_counts_estimate": {},
      "enabled_rows_estimate": 21,
      "note": "CLI parsing is best-effort; full tool schemas are runtime-generated and not published."
    }
  },
  "local_models": {
    "lm_studio": {
      "base_url": "http://127.0.0.1:1234/v1",
      "models": [
        "mythosnanoq6",
        "qwythos9bq5",
        "gemma4coderq3",
        "gemma4coderq4",
        "oymuncq4",
        "openyourmind-gemma4-12b-it-abliterated",
        "gemma4unc",
        "text-embedding-nomic-embed-text-v1.5"
      ],
      "chat_smoke": "blocked_or_unavailable: {\n    \"error\": {\n        \"message\": \"Failed to load model \\\"gemma4unc\\\". Error: Model loading was stopped due to insufficient system resources. Under the current settings, this model requires approximately 14.36 GB of memory, and continuing"
    },
    "note": "Main Hermes remains openai-codex/gpt-5.5. LM Studio is configured as an optional local provider, not the default."
  }
}
