UserPromptSubmit recall regex is English-only: Chinese prompts never trigger auto-recall
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 1/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 82/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Ruhig
- Tech-Stack
- javascript
- Bereich
- backend
Rechercherichtung
Lies hooks/zcode-mem-hook.mjs, insbesondere die Definition von RECALL_PROMPT_RE in den Zeilen 8–9, und prüfe, wie der UserPromptSubmit-Hook sie verwendet. Das Issue enthält eine Regex-Änderung und Beispiel-Prompts zur Überprüfung: Chinesische Prompts zur Vergangenheit sollten einen Abruf auslösen, während ein nicht verwandter Prompt dies nicht tun sollte. Führe die relevanten Hook-Tests aus, falls vorhanden; im Issue wird keine Testdatei genannt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Summary
The UserPromptSubmit recall hook never fires for Chinese-language prompts, because RECALL_PROMPT_RE in hooks/zcode-mem-hook.mjs only matches English keywords. For users who work primarily in Chinese, the auto-recall feature is effectively dead.
Details
In plugin v0.2.0, hooks/zcode-mem-hook.mjs:8-9:
const RECALL_PROMPT_RE =
/\b(previous|prior|history|remember|decision|like before|regression|release|plugin|connector|sync|hook|thread|memory|context)\b/i;
A prompt like Nowledge Mem 的安装历史和配置 (clearly asking about installation history) does not match, so recall is skipped even when highly relevant memories exist in the store.
Verified fix
Adding a separate CJK alternative group (CJK has no \b word boundaries, so it must not be wrapped in \b(...)):
const RECALL_PROMPT_RE =
/\b(previous|prior|history|remember|decision|like before|regression|release|plugin|connector|sync|hook|thread|memory|context)\b|(之前|以前|上次|历史|记住|记忆|回忆|决策|上下文|还记得)/i;
Tested locally (Windows, plugin 0.2.0, nmem-cli 0.10.76):
- Prompt
Nowledge Mem 的安装历史和配置→ hook injected 2 relevant memories viaadditionalContext✅ - Unrelated prompt
帮我写个函数→ no recall triggered, no output ✅ (false-positive rate unchanged)
Suggestion
A keyword gate is inherently brittle across languages. A more robust long-term option might be to make the gate language-agnostic — e.g. always run a bounded top-3 recall on every prompt (cost is one local search), or derive the trigger from the context bundle rather than a keyword list. The regex patch above is a minimal stopgap.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 3
- Forks
- 1
- Ø Merge
- 1 Min.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus nowledge-co/zcode-plugin
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
nowledge-co/zcode-plugin#2 · 1 Kommentar ·
Alle Issues in nowledge-co/zcode-plugin
Ähnliche Issues
-
step.duration reflects only the last retry attempt (HelperStep.run() overwrites startTime)Evtl. vergeben @mirao hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
codeceptjs/CodeceptJS#5774 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Status: Unconfirmed
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 76/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
AllTheMods/ATM10-Aeronautics#151 ·
Maintainer antworten meist innerhalb von 4 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
feimacode/open-design-agent-kit#66 ·
Maintainer antworten meist innerhalb von 1 Tag