feat(memory): Kategorien 'user' + 'instruction' fuer universelles Agenten-Gedaechtnis
Gilt fuer alle Tools (Hermes, Cline, OpenCode) via MCP-Server. - user: wer der User ist, Praeferenzen, Arbeitsweise - instruction: Verhaltensregeln fuer alle KI-Tools Hermes-Agent speichert aktiv in diese Kategorien wenn er Neues lernt. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,8 @@
|
||||
)
|
||||
|
||||
const CAT: Record<string, { label: string; color: string }> = {
|
||||
user: { label: 'Über mich', color: '#a78bfa' },
|
||||
instruction:{ label: 'Verhalten', color: '#fb923c' },
|
||||
stable: { label: 'Stabil', color: 'var(--accent)' },
|
||||
versioned: { label: 'Versioniert', color: '#f59e0b' },
|
||||
ephemeral: { label: 'Temporär', color: 'var(--mut)' },
|
||||
@@ -120,6 +122,8 @@
|
||||
></textarea>
|
||||
<label>Kategorie</label>
|
||||
<select bind:value={newCategory} style="margin-bottom:14px">
|
||||
<option value="user">Über mich — Wer du bist, Präferenzen, Arbeitsweise</option>
|
||||
<option value="instruction">Verhalten — Wie alle KI-Tools sich verhalten sollen</option>
|
||||
<option value="stable">Stabil — Projektfakten, die sich selten ändern</option>
|
||||
<option value="versioned">Versioniert — Tech-Versionen (bei Updates überschreiben)</option>
|
||||
<option value="ephemeral">Temporär — Aktuelle Aufgabe (nach 7 Tagen gelöscht)</option>
|
||||
@@ -137,10 +141,12 @@
|
||||
<div class="flex gap-2" style="flex-wrap:wrap;align-items:center">
|
||||
<span style="font-size:11.5px;color:var(--mut);margin-right:4px">Filter:</span>
|
||||
{#each [
|
||||
['all', 'Alle', '', memories.length],
|
||||
['stable', 'Stabil', 'var(--accent)', countCat('stable')],
|
||||
['versioned', 'Versioniert', '#f59e0b', countCat('versioned')],
|
||||
['ephemeral', 'Temporär', 'var(--mut)', countCat('ephemeral')],
|
||||
['all', 'Alle', '', memories.length],
|
||||
['user', 'Über mich', '#a78bfa', countCat('user')],
|
||||
['instruction', 'Verhalten', '#fb923c', countCat('instruction')],
|
||||
['stable', 'Stabil', 'var(--accent)', countCat('stable')],
|
||||
['versioned', 'Versioniert', '#f59e0b', countCat('versioned')],
|
||||
['ephemeral', 'Temporär', 'var(--mut)', countCat('ephemeral')],
|
||||
] as [val, lbl, clr, cnt]}
|
||||
<span class="chip"
|
||||
role="button" tabindex="0"
|
||||
@@ -185,6 +191,8 @@
|
||||
bind:value={editContent}
|
||||
></textarea>
|
||||
<select bind:value={editCategory} style="margin-bottom:10px">
|
||||
<option value="user">Über mich</option>
|
||||
<option value="instruction">Verhalten</option>
|
||||
<option value="stable">Stabil</option>
|
||||
<option value="versioned">Versioniert</option>
|
||||
<option value="ephemeral">Temporär</option>
|
||||
@@ -230,8 +238,10 @@
|
||||
style="color:var(--accent)">Verbinden → Gedächtnis-MCP</a>.
|
||||
</div>
|
||||
<div class="card-sub" style="margin-top:8px;font-size:11.5px">
|
||||
Kategorien: <b style="color:var(--accent)">Stabil</b> = Projektfakten die sich selten ändern ·
|
||||
<b style="color:#f59e0b">Versioniert</b> = Tech-Versionen (bei Updates überschreiben) ·
|
||||
<b style="color:var(--mut)">Temporär</b> = aktuelle Aufgaben, nach 7 Tagen automatisch gelöscht
|
||||
<b style="color:#a78bfa">Über mich</b> = wer du bist, Präferenzen ·
|
||||
<b style="color:#fb923c">Verhalten</b> = Regeln für alle KI-Tools ·
|
||||
<b style="color:var(--accent)">Stabil</b> = Projektfakten ·
|
||||
<b style="color:#f59e0b">Versioniert</b> = Tech-Versionen ·
|
||||
<b style="color:var(--mut)">Temporär</b> = 7 Tage, dann weg
|
||||
</div>
|
||||
</div>
|
||||
|
||||
+20
-5
@@ -92,8 +92,14 @@ TOOL_DEFS = [
|
||||
"content": {"type": "string", "description": "Der zu speichernde Fakt"},
|
||||
"category": {
|
||||
"type": "string",
|
||||
"enum": ["stable", "versioned", "ephemeral"],
|
||||
"description": "stable=Projektfakten, versioned=Tech-Versionen, ephemeral=temporaer (7 Tage)",
|
||||
"enum": ["user", "instruction", "stable", "versioned", "ephemeral"],
|
||||
"description": (
|
||||
"user=Fakten ueber den User (Wer ist er? Wie arbeitet er?), "
|
||||
"instruction=Verhaltensregeln fuer alle KI-Tools, "
|
||||
"stable=Projektfakten, "
|
||||
"versioned=Tech-Versionen (bei Updates ueberschreiben), "
|
||||
"ephemeral=temporaer (7 Tage)"
|
||||
),
|
||||
},
|
||||
},
|
||||
"required": ["content"],
|
||||
@@ -295,16 +301,25 @@ Dein Zuhause (Bosgame M5):
|
||||
- Modelle: coder (Qwen3-30B-A3B), scout (Qwen3-8B), vision (Qwen3-VL)
|
||||
- Du laeuft als Teil von Mission Control
|
||||
|
||||
Gespeichertes Wissen:
|
||||
Gespeichertes Wissen (nach Kategorie):
|
||||
{memories}
|
||||
|
||||
Verhaltenregeln:
|
||||
Verhaltensregeln (fest):
|
||||
- Antworte praegnant auf Deutsch (max 2-3 Saetze wenn nicht ausdruecklich mehr gewuenscht)
|
||||
- Kuendige an was du tust bevor du es tust
|
||||
- Frag nach bevor du Dateien ueberschreibst oder Dienste neustartest
|
||||
- Nutze get_system_status() wenn du nicht sicher bist was gerade laeuft
|
||||
- Speichere wichtige Entscheidungen und Fakten per add_memory() ins Gedaechtnis
|
||||
- Bei einfachen Fragen: keine Tools, direkt antworten
|
||||
|
||||
Gedaechtnis-Kategorien (fuer add_memory):
|
||||
- user → Fakten ueber den User: Wer er ist, wie er arbeitet, was er bevorzugt
|
||||
- instruction → Verhaltensregeln die fuer ALLE KI-Tools gelten sollen
|
||||
- stable → Technische Projektfakten (IPs, Ports, Architektur)
|
||||
- versioned → Tech-Versionen (bei Updates ueberschreiben, nicht anhaengen)
|
||||
- ephemeral → Temporaerer Kontext (7 Tage, dann weg)
|
||||
|
||||
Speichere wichtige Erkenntnisse aktiv per add_memory() — besonders wenn der User
|
||||
etwas ueber sich selbst erwaehnt (→ user) oder Verhaltensregeln nennt (→ instruction).
|
||||
"""
|
||||
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
+1
-1
@@ -70,7 +70,7 @@ def get_memories(category: str = "") -> str:
|
||||
@mcp.tool()
|
||||
def add_memory(content: str, category: str = "stable", source: str = "agent") -> str:
|
||||
"""Speichert einen Fakt oder eine Entscheidung.
|
||||
category: stable=Projektfakten (selten aendern), versioned=Tech-Versionen (bei Updates ueberschreiben), ephemeral=temporaerer Kontext (nach 7 Tagen geloescht).
|
||||
category: user=Fakten ueber den User (Praeferenzen/Arbeitsweise), instruction=Verhaltensregeln fuer alle Tools, stable=Projektfakten, versioned=Tech-Versionen, ephemeral=temporaer (7 Tage).
|
||||
"""
|
||||
m = _post("/api/memory", {"content": content, "category": category, "source": source})
|
||||
return f"Gespeichert (ID: {m['id'][:8]}): {content}"
|
||||
|
||||
Vendored
+23
-23
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user