# NousResearch/hermes-agent · Auxiliary model slot registration, UI, and plugin routing

## Open now

- 2 issues, 3 PRs open on GitHub.
- #22936: goal_judge auxiliary model missing from dashboard UI and hardcoded model suggestion in error message
- #45303: \[Bug\]: \`monitor\` and \`session_search\` auxiliary models missing from \`hermes model\` → Auxiliary picker
- PR #22938: fix(cli): add goal_judge to auxiliary model dashboards and remove hardcoded model suggestion
- PR #45306: fix(cli): add missing monitor task to auxiliary model picker (#45303)
- PR #45446: fix(cli): add monitor to auxiliary model picker (issue #45303)

These items address gaps in auxiliary model slot registration (session_search, monitor, goal_judge, etc.), fixes to dashboard and CLI pickers that used hardcoded or stale slot lists, and features enabling plugins to register and route through custom auxiliary model slots.

## TL;DR

- 20 member(s): 2 open issue(s), 6 closed issue(s), 3 open PR(s), 3 merged PR(s), 6 PR(s) closed without merging.
- A fix was merged to main in PR #28335. Verify it addresses your case.
- **Recommended:** read PR #28335 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `partially_resolved` · deciding PR(s): `pr-28335,pr-81980,pr-133566`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_PARTIAL`): some members are connected by structural evidence (shared changed files, or a closing/superseded reference); the rest are joined by an automated relevance judgement over their text.
- Members outside that structural core may belong to a different underlying problem.
- Pairwise link density `0.08`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Open related issues

- #22936: goal_judge auxiliary model missing from dashboard UI and hardcoded model suggestion in error message
- #45303: \[Bug\]: \`monitor\` and \`session_search\` auxiliary models missing from \`hermes model\` → Auxiliary picker

## Closed / duplicate issues

- #27925: fix(aux): remove stale session_search auxiliary-model menu entry
- #33348: session_search auxiliary slot missing from aux-task registries (_AUX_TASKS, _AUX_TASK_SLOTS)
- #39078: Bug: session_search missing from _AUX_TASK_SLOTS — Desktop settings 400 error
- #40880: Dashboard auxiliary model slots ignore plugins — frontend uses hardcoded list
- #44673: Let plugins register custom auxiliary model slots
- #64174: feat(plugins): route ctx.llm calls through plugin-registered auxiliary model slots

## Prior & competing PRs

- **#28335: fix(aux): remove stale session_search model menu entry (#27926)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `hermes_cli/main.py`, `tests/hermes_cli/test_aux_config.py`
  - fix hunks:
  - `hermes_cli/main.py`

    ```diff
    @@ -2142,7 +2142,6 @@ def _clear_stale_openai_base_url():
         ("vision", "Vision", "image/screenshot analysis"),
         ("compression", "Compression", "context summarization"),
         ("web_extract", "Web extract", "web page summarization"),
    -    ("session_search", "Session search", "past-conversation recall"),
         ("approval", "Approval", "smart command approval"),
         ("mcp", "MCP", "MCP tool reasoning"),
         ("title_generation", "Title generation", "session titles"),
    ```
  - `tests/hermes_cli/test_aux_config.py`

    ```diff
    @@ -42,12 +42,10 @@ def test_title_generation_present_in_default_config():
         assert tg["extra_body"] == {}
     
     
    -def test_session_search_defaults_include_extra_body_and_concurrency():
    -    ss = DEFAULT_CONFIG["auxiliary"]["session_search"]
    -    assert ss["provider"] == "auto"
    -    assert ss["model"] == ""
    -    assert ss["extra_body"] == {}
    -    assert ss["max_concurrency"] == 3
    +def test_session_search_no_longer_appears_in_auxiliary_model_config():
    +    """session_search is a direct DB-backed tool, not an auxiliary LLM task."""
    +    assert "session_search" not in DEFAULT_CONFIG["auxiliary"]
    +    assert "session_search" not in {key for key, _name, _desc in _AUX_TASKS}
     
     
     def test_aux_tasks_keys_all_exist_in_default_config():
    ```
- **#81980: feat(plugins): route ctx.llm through auxiliary slots**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `agent/auxiliary_client.py`, `agent/plugin_llm.py`, `contributors/emails/[redacted:email]`, `hermes_cli/plugins.py`, `tests/agent/test_plugin_llm_task_routing.py`, `website/docs/developer-guide/plugin-llm-access.md`, `website/i18n/zh-Hans/docusaurus-plugin-content-docs/current/developer-guide/plugin-llm-access.md`
- **#133566: feat(plugins): plugin aux slots inherit a built-in slot and show up in Dashboard/Desktop aux settings**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`; implication `superseded`
  - files: `agent/auxiliary_client.py`, `agent/auxiliary_task_config.py`, `apps/desktop/src/app/settings/aux-task-rows.tsx`, `apps/desktop/src/app/settings/model-settings.test.tsx`, `apps/desktop/src/app/settings/model-settings.tsx`, `apps/desktop/src/i18n/ar_settings.ts`, `apps/desktop/src/i18n/de.ts`, `apps/desktop/src/i18n/de_aux_tasks.ts`, `apps/desktop/src/i18n/en.ts`, `apps/desktop/src/i18n/en_aux_tasks.ts`, `apps/desktop/src/i18n/es.ts`, `apps/desktop/src/i18n/es_aux_tasks.ts`, `apps/desktop/src/i18n/fr.ts`, `apps/desktop/src/i18n/fr_aux_tasks.ts`, `apps/desktop/src/i18n/ja.ts`, `apps/desktop/src/i18n/ja_aux_tasks.ts`, `apps/desktop/src/i18n/ru.ts`, `apps/desktop/src/i18n/ru_aux_tasks.ts`, `apps/desktop/src/i18n/types.ts`, `apps/desktop/src/i18n/types_aux_tasks.ts` (+18 more)
- **#22938: fix(cli): add goal_judge to auxiliary model dashboards and remove hardcoded model suggestion**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `hermes_cli/config.py`, `hermes_cli/goals.py`, `hermes_cli/main.py`, `hermes_cli/web_server.py`
- **#27926: fix(aux): remove stale session_search model menu entry**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `87ace43f1e74064a14357a3e8fc76b84e8e58a9e`, `#28335`
- **#33371: fix(cli): register session_search in aux-task registries (#33348)**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `abf1af540193c30047ff3e7e759c330faf3a880f`, `d246f9a2785c61916b61deed5af64586d390eb44`, `#27590`, `#33348`
- **#39087: fix(desktop): remove stale session_search from auxiliary model settings UI**. closed without merge
  - maintainer direction: category `silent_close`; implication `active`
- **#40922: fix(web): include plugin auxiliary slots (#40880)**. closed without merge
  - maintainer direction: category `superseded_by_pr`; implication `superseded`; refs `#133566`, `#111524`, `#133566`, `#40880`, `#133566`
- **#45306: fix(cli): add missing monitor task to auxiliary model picker (#45303)**. open
  - maintainer direction: category `uncategorized`; implication `needs_llm`
  - files: `hermes_cli/main.py`, `tests/hermes_cli/test_aux_config.py`
- **#45446: fix(cli): add monitor to auxiliary model picker (issue #45303)**. open
  - maintainer direction: category `duplicate_of`; implication `duplicate`; refs `#45306`, `#45306`, `#45303`, `#30382`
  - files: `hermes_cli/main.py`
- **#65734: feat(plugins): route ctx.llm.complete(task=) through registered auxiliary slots (closes #44673)**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#81980`
- **#111524: fix(dashboard,desktop): surface plugin-registered auxiliary tasks in Models settings**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#40922`, `#133566`, `#40880`, `#133566`

## Fix status

- Merged to main in PR #28335 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-10-06`.
- Subsystem: `agent`
