hermes - 💡(How to fix) Fix Dashboard Cron UI missing model/provider visibility and edit support

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

  • State badge (enabled/paused/error)
  • Last error (if any)
  • Warn if job's pinned model no longer exists in available models

Root Cause

  1. Debugging — When a job fails or produces unexpected output, knowing which model ran it is essential for troubleshooting

  2. Cost control — Users may unintentionally leave jobs pinned to expensive models, or want to pin high-priority jobs to better models

  3. Migration — When switching default models in config.yaml, users need to know which jobs have explicit overrides vs. config defaults

  4. Transparency — Model assignment is a core part of job configuration (alongside schedule and prompt)

  5. Safety — Manual JSON editing risks syntax errors, scheduler conflicts, and data loss

Fix Action

Fix / Workaround

Workarounds (Current)

Code Example

{
  "id": "8182a23fb898",
  "name": "admin: weekly-maintenance-checkin",
  "model": "qwen3.5:397b",
  "provider": "ollama-cloud",
  "schedule": { "expr": "0 4 * * 0" },
  "deliver": "origin"
}

---

# Inspect model assignments
cat ~/.hermes/cron/jobs.json | jq '.jobs[] | {id, name, model, provider}'

# Stop gateway before editing
hermes gateway stop

# Edit jobs.json manually
# Then restart
hermes gateway start

# Verify
hermes cron list --all
RAW_BUFFERClick to expand / collapse

title: "Dashboard Cron UI missing model/provider visibility and edit support" labels: ["enhancement", "comp/dashboard", "comp/cron"] assignees: []

Problem

The Hermes Dashboard (port 9119) Cron tab does not display or allow editing of model and provider fields for cron jobs. These fields exist in the backend (~/.hermes/cron/jobs.json) but are not exposed in the Dashboard UI.

Scope: This issue is specifically about the Dashboard (hermes dashboard, port 9119), not Workspace or other third-party UIs.

Current Behavior

Create Form

The "New Job" form in Dashboard accepts:

  • Name (optional)
  • Prompt (required)
  • Schedule (required)
  • Delivery target (local/telegram/discord/slack/email)

Missing: No fields for model or provider. Jobs created via Dashboard always have null for both fields, meaning they use the config.yaml default at runtime.

Job List View

Each job card displays:

  • Job name
  • Prompt (truncated)
  • Schedule expression
  • State badge (enabled/paused/error)
  • Delivery target
  • Last run time
  • Next run time
  • Last error (if any)

Missing: No indication of which model/provider a job uses.

Edit Support

Dashboard does not support editing existing cron jobs. Users can only:

  • Pause/Resume
  • Trigger now
  • Delete

To change model, provider, prompt, or schedule, users must edit ~/.hermes/cron/jobs.json manually via CLI/text editor.

Expected Behavior

Job List View

Display model and provider for each job:

  • If model is null → show "default (qwen3.5:397b)" or similar
  • If model is explicit → show the pinned model name

Create Form

Add optional fields for:

  • Model (dropdown or text input)
  • Provider (dropdown or text input)
  • Leave empty to use config default

Edit Support

Allow editing existing jobs:

  • Change model/provider
  • Change prompt
  • Change schedule
  • Change delivery target

Why This Matters

  1. Debugging — When a job fails or produces unexpected output, knowing which model ran it is essential for troubleshooting

  2. Cost control — Users may unintentionally leave jobs pinned to expensive models, or want to pin high-priority jobs to better models

  3. Migration — When switching default models in config.yaml, users need to know which jobs have explicit overrides vs. config defaults

  4. Transparency — Model assignment is a core part of job configuration (alongside schedule and prompt)

  5. Safety — Manual JSON editing risks syntax errors, scheduler conflicts, and data loss

Backend Reality

Jobs store model/provider in ~/.hermes/cron/jobs.json:

{
  "id": "8182a23fb898",
  "name": "admin: weekly-maintenance-checkin",
  "model": "qwen3.5:397b",
  "provider": "ollama-cloud",
  "schedule": { "expr": "0 4 * * 0" },
  "deliver": "origin"
}
  • null = uses config.yaml default at execution time
  • Explicit value = pinned to that model regardless of config changes

Suggested Implementation

Phase 1 (Minimal):

  • Add read-only display of model/provider in job cards
  • Show "default" when fields are null, or explicit value when set

Phase 2 (Full):

  • Add model/provider fields to create form
  • Add edit modal/page for existing jobs
  • Allow clearing overrides (reset to default)

Phase 3 (Bonus):

  • Show config.yaml current default alongside job assignments
  • Warn if job's pinned model no longer exists in available models

Workarounds (Current)

# Inspect model assignments
cat ~/.hermes/cron/jobs.json | jq '.jobs[] | {id, name, model, provider}'

# Stop gateway before editing
hermes gateway stop

# Edit jobs.json manually
# Then restart
hermes gateway start

# Verify
hermes cron list --all

Environment

  • Hermes Agent: v0.13.0
  • Dashboard: Built-in web UI (port 9119)
  • Backend: cron/scheduler.py, ~/.hermes/cron/jobs.json
  • Frontend: web/src/pages/CronPage.tsx

Related

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Dashboard Cron UI missing model/provider visibility and edit support