Hafıza
Aktifmemory · v1.0.0
Claude'un kalıcı, aranabilir ve token-verimli hafızası. Her bölüm bir hatıra: tek satırlık özet + talep üzerine açılan gövde, tip/etiket/önem/otorite ile.
- Şema Sürümü:
- 1.0.0
Bölüm Tipleri
| ID | Ad |
|---|---|
| memory | Hatıra |
MCP Araçları
| Ad | Açıklama |
|---|---|
| memory_remember | Write a memory (a real decision / learning / fact). Two-tier: `summary` (ONE line — always returned by recall) + `body` (full markdown, fetched on demand). YOU distill the metadata at write time (summary, tags, importance 0..1, type) — the server never calls an LLM. type ∈ decision|learning|bug|convention|preference|fact|session-summary. TARGET BANK: pass bankId, OR scope='global' (project-independent rules → the one global bank), OR scope='project' (default) with projectKey (e.g. 'scenarion' → that project's bank); the bank is auto-created if missing. Rule of thumb for global vs project: 'would someone who doesn't know this project benefit from it on another project?' → yes = global. SECRETS (passwords/API keys/tokens) are REJECTED — never store them. Returns { sectionId, bankId, bankSlug, bankCreated, type }. |
| memory_recall | Recall memories as a RANKED list of one-line SUMMARIES within a token `budget` — never returns bodies (use memory_get for one). The cheap read tier. Ranks by lexical match (query) + importance + recency + authoritative. SCOPE: bankId (one bank), OR scope='global', OR scope='project' with projectKey (that project's bank + the global bank — the common case), OR scope='all' / nothing (every bank you own). `budget` defaults to 1500 tokens; the response says how many more matched so you can raise it. Returns { items:[{ sectionId, summary, type, tags, importance, authoritative, score, bankSlug }], usedTokens, totalMatched, more }. |
| memory_get | Fetch ONE memory's full content (summary + body + all metadata) + its version history — the 'open on demand' tier of the two-tier contract. Use after recall surfaces a sectionId you want to read in full. Caller must own the memory. Returns { sectionId, bankId, bankSlug, content:{ summary, body, type, tags, importance, status, authoritative, ... }, versions:[{ version, createdAt, summary }] }. |
| memory_brief | Build a session primer: the AUTHORITATIVE memories grouped by type (decisions / learnings / conventions / ...), one line each, within a token `budget`. The curated, live form of an auto-memory — read it at the start of a session to load context cheaply. SCOPE like recall (default: project bank + global bank when projectKey given, else all your banks). Returns { scope, bankCount, markdown, included, total, more }. |
| memory_update | Edit a memory in place → a new SectionVersion (history preserved). Patch any of: summary, body, type, tags, importance, status (active|superseded|archived), authoritative. At least one field required. Secrets in summary/body are REJECTED. Caller must own the memory. Returns { sectionId, versionId, version, contentChanged }. (To retire a memory without editing, use memory_forget.) |
| memory_forget | Soft-archive a memory: sets status='archived' (recall stops returning it) — it is NOT deleted and stays recoverable (user rule: 'old is never deleted, history preserved'). Writes a new SectionVersion. Caller must own the memory. Returns { sectionId, versionId, version, status }. (Permanent delete is a web-only, non-default action.) |
| memory_relate | Create a typed, directed graph edge FROM a memory to a target — the knowledge graph (Faz 3). type ∈ causes|relates|supersedes|refines|contradicts|part-of. The target is POLYMORPHIC: targetType ∈ memory|section|scenario, so a memory can link to another memory OR (cross-module) to a plan/todo/academy section or a whole scenario. Both ends must be owned by you. Self-edges rejected; the same (from,target,type) is idempotent at the DB level. Returns { relationId, fromSectionId, targetType, targetId, type }. |
| memory_graph | Traverse the memory knowledge graph from a memory. mode 'connected' (default) = memories reachable within `hops` (default 2); 'path' = shortest reasoning chain to `toSectionId`; 'subgraph' = nodes + edges around the memory (for visualisation). Undirected reachability over memory→memory edges; cross-module edges appear in subgraph output as leaves. Caller must own the memory. Returns mode-specific shapes with each node's summary. (Create edges with memory_relate.) |
| memory_maintain | Scan memories and return maintenance SUGGESTIONS — NEVER deletes or edits anything (user rule: human/Claude decides). Returns: `duplicates` (near-identical pairs by embedding cosine > 0.92 → consider merge/supersede), `stale` (active + non-authoritative + importance < 0.3 + older than 90d → review), `inconsistent` (status active but supersededBy is set → archive the old one), `unembedded` (active memories with no embedding → only match lexically; edit to re-embed). Scope like recall. Act with memory_update / memory_forget / memory_relate. |
| memory_rate | Thumbs up/down a memory → nudges its importance (manual reinforce). 'up' raises, 'down' lowers (by `delta`, default 0.1, clamped 0..1). Higher importance ranks higher in recall + brief — so useful memories sharpen and noise fades. Caller must own it. Returns { sectionId, importance, versionId, contentChanged }. |
| memory_mistake | Record a MISTAKE as a structured `learning` memory — the 'wrong-hypothesis → correction chain' (a tecrübe defteri entry). Captures: what you believed (hypothesis), why it was wrong (whyWrong), the correction, optional context. Future recalls surface it so the same mistake isn't repeated. Bank/scope like memory_remember (scope='project'+projectKey, or scope='global'). Secrets rejected. Returns { sectionId, bankId, bankSlug, type:'learning' }. |
Kullanım Modları
Bu modülün kullanım modu yok.
Örnek Senaryolar
Bu modüle ait yayınlanmış senaryo yok.