hermes - 💡(How to fix) Fix Bug: Holographic auto_extract only matches English patterns — useless for non-English users [1 pull requests]

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…

Root Cause

In plugins/memory/holographic/__init__.py (lines 360-368), the extraction patterns are hardcoded English-only:

_PREF_PATTERNS = [
    re.compile(r"\bI\s+(?:prefer|like|love|use|want|need)\s+(.+)", re.IGNORECASE),
    re.compile(r"\bmy\s+(?:favorite|preferred|default)\s+\w+\s+is\s+(.+)", re.IGNORECASE),
    re.compile(r"\bI\s+(?:always|never|usually)\s+(.+)", re.IGNORECASE),
]
_DECISION_PATTERNS = [
    re.compile(r"\bwe\s+(?:decided|agreed|chose)\s+(?:to\s+)?(.+)", re.IGNORECASE),
    re.compile(r"\bthe\s+project\s+(?:uses|needs|requires)\s+(.+)", re.IGNORECASE),
]

A Chinese user saying 我喜欢用Python or 我们决定用React will never match any of these patterns.

Fix Action

Fixed

Code Example

_PREF_PATTERNS = [
    re.compile(r"\bI\s+(?:prefer|like|love|use|want|need)\s+(.+)", re.IGNORECASE),
    re.compile(r"\bmy\s+(?:favorite|preferred|default)\s+\w+\s+is\s+(.+)", re.IGNORECASE),
    re.compile(r"\bI\s+(?:always|never|usually)\s+(.+)", re.IGNORECASE),
]
_DECISION_PATTERNS = [
    re.compile(r"\bwe\s+(?:decided|agreed|chose)\s+(?:to\s+)?(.+)", re.IGNORECASE),
    re.compile(r"\bthe\s+project\s+(?:uses|needs|requires)\s+(.+)", re.IGNORECASE),
]
RAW_BUFFERClick to expand / collapse

Problem

The auto_extract feature in the Holographic memory provider only matches English regex patterns, making it completely non-functional for users who communicate in Chinese, Japanese, Korean, or any non-English language.

Root Cause

In plugins/memory/holographic/__init__.py (lines 360-368), the extraction patterns are hardcoded English-only:

_PREF_PATTERNS = [
    re.compile(r"\bI\s+(?:prefer|like|love|use|want|need)\s+(.+)", re.IGNORECASE),
    re.compile(r"\bmy\s+(?:favorite|preferred|default)\s+\w+\s+is\s+(.+)", re.IGNORECASE),
    re.compile(r"\bI\s+(?:always|never|usually)\s+(.+)", re.IGNORECASE),
]
_DECISION_PATTERNS = [
    re.compile(r"\bwe\s+(?:decided|agreed|chose)\s+(?:to\s+)?(.+)", re.IGNORECASE),
    re.compile(r"\bthe\s+project\s+(?:uses|needs|requires)\s+(.+)", re.IGNORECASE),
]

A Chinese user saying 我喜欢用Python or 我们决定用React will never match any of these patterns.

Impact

  • auto_extract: true is configured but produces zero facts for non-English conversations
  • The feature is effectively dead for the majority of LLM users (Chinese is one of the most common languages)
  • Only manually-added facts via fact_store add are stored

Suggested Fix

  1. Use LLM-based extraction instead of regex patterns - send conversation to the model with a prompt like "Extract user preferences and project decisions from this conversation"
  2. Add multilingual regex patterns as a fallback (Chinese: 喜欢/偏好/习惯/决定/选用, Japanese: 好み/使いたい/決定, etc.)
  3. Also scan assistant messages - the assistant often synthesizes user preferences that the user never explicitly stated in English pattern form

Environment

  • Hermes Agent version: latest (2026-05-31)
  • Platform: Windows 11
  • Model: mimo-v2.5
  • Memory provider: holographic
  • auto_extract: true in config.yaml

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 Bug: Holographic auto_extract only matches English patterns — useless for non-English users [1 pull requests]