hermes - ✅(Solved) Fix Hindsight Local - Hermes Doctor Not Detecting [1 pull requests, 1 comments, 2 participants]

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…
GitHub stats
NousResearch/hermes-agent#28653Fetched 2026-05-20 04:02:49
View on GitHub
Comments
1
Participants
2
Timeline
8
Reactions
0
Timeline (top)
labeled ×5commented ×1cross-referenced ×1renamed ×1

Fix Action

Fixed

PR fix notes

PR #28668: fix: respect mode filter in hermes memory status for Hindsight

Description (problem / solution / changelog)

Problem

hermes memory status shows ✗ HINDSIGHT_API_KEY as missing even when Hindsight is configured in local_embedded mode. This key is only required for cloud mode — local mode uses HINDSIGHT_API_LLM_API_KEY instead.

The schema in get_config_schema() correctly defines "when": {"mode": "cloud"} for the api_key field, but the status check at line 425 iterates ALL fields with env_var without respecting the when condition.

Fix

Filter required_fields by the current mode before checking env vars. Fields with "when": {"mode": "X"} are skipped when the current mode is not X.

Before vs After

ModeFieldBeforeAfter
local_embeddedHINDSIGHT_API_KEY✗ (wrongly flagged)Skipped (correct)
cloudHINDSIGHT_API_KEY✗ (correctly flagged)✗ (correctly flagged)
local_embeddedHINDSIGHT_API_LLM_API_KEY✓/✗✓/✗ (unchanged)

Tests

Verified syntax with py_compile.compile(). The change is minimal (10 lines added, 1 removed) and only affects the status display path — no runtime behavior change.

Changed files

  • hermes_cli/memory_setup.py (modified, +10/-1)
RAW_BUFFERClick to expand / collapse

Bug Description

hermes memory status shows ✗ HINDSIGHT_API_KEY as missing, but this flag is only required for the vectorize.io cloud service. Users running Hindsight in local_embedded mode do not need this env var. The status check does not distinguish between cloud-required vs local-required env vars.

Steps to Reproduce

  1. Set memory.provider: hindsight in ~/.hermes/config.yaml
  2. Configure Hindsight in local_embedded mode (no cloud API key)
  3. Set only HINDSIGHT_API_LLM_API_KEY (local LLM key) and HINDSIGHT_API_LLM_PROVIDER=minimax
  4. Run hermes memory status

Expected Behavior

Status shows HINDSIGHT_API_KEY as N/A or skipped, since it is a cloud-only requirement and the local daemon is functional.

Actual Behavior

Status shows ✗ HINDSIGHT_API_KEY as a missing requirement, even though hindsight-embed memory retain/recall work correctly and the local daemon is operational.

Environment

  • OS: Linux (WSL)
  • Hermes version: 0.13.0
  • Hindsight mode: local_embedded
  • Provider: minimax (local MiniMax/vLLM)

Suggested Fix

The status check should differentiate between cloud-required env vars (like HINDSIGHT_API_KEY) and local-required ones (like HINDSIGHT_API_LLM_API_KEY). For local_embedded mode, HINDSIGHT_API_KEY should not be flagged as missing.

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