Skip to main content
Glama

wasurenagusa

Научите своего ИИ-агента учиться на ошибках.

npm version License: MIT Node.js Ko-fi

wasurenagusa (незабудка) — японский цветок, название которого означает «не забывай меня».


Проблема

ИИ-агенты для написания кода мощны, но страдают амнезией. Каждая сессия начинается с чистого листа — ваши проектные соглашения, прошлые решения и усвоенные уроки исчезают, как только сессия заканчивается.

Существующие решения либо требуют ручного труда, либо просто хранят «сырые» воспоминания, которые разрастаются до тех пор, пока не переполняют контекстное окно.

Related MCP server: memory-bank-mcp

Решение

wasurenagusa — это MCP-сервер, который не просто запоминает — он учится.

  1. Автоматически обнаруживает ошибки — отслеживает паттерны повторных попыток, разочарование пользователя и повторяющиеся сбои.

  2. Дистиллирует уроки в принципы — LLM сжимает сотни «сырых» записей в несколько применимых правил.

  3. Превращает негатив в позитив — генерирует positiveRule вместе с каждым принципом: «не делай X» превращается в «вместо этого делай Y». Исследования показывают, что LLM значительно лучше следуют утвердительным инструкциям, чем запретам (проблема «Розового слона»).

  4. Сжимает конфигурацию в темы — LLM группирует разрозненные настройки в связные резюме, сохраняя такие факты, как порты и пути.

  5. Внедряет только то, что важно — только консолидированная мудрость + активные настройки. Никакого мусора из шаблонов, никаких дубликатов.

  6. Гибридный поиск (полнотекстовый + семантический) — хранилище на базе SQLite с локальным выводом эмбеддингов (внешний API не нужен). Полнотекстовый поиск с поддержкой японского языка + векторный семантический поиск, объединенные и дедуплицированные. Работает полностью офлайн.

  7. Умное извлечение по тегам — взвешенные теги, сгенерированные LLM + композитный скоринг (свежесть, вес тега, частота доступа) оптимизируют приоритет извлечения без удаления данных.

  8. Стейшинг/восстановление памяти — временно выгружайте воспоминания из активного контекста, чтобы сэкономить место, и восстанавливайте их при необходимости. Идеально для длинных сессий с под-агентами.

Полная автоматизация через хуки Claude Code — никакой настройки после установки.

Реальное влияние

Из ежедневного использования автором в 8 производственных проектах (с обменом памятью между проектами):

1,581 "dont" entries   →  5-9 principles per project    (LLM consolidation)
  each with positiveRule  →  affirmative-only injection  (Pink Elephant fix)
29 config entries      →  4-5 thematic summaries        (LLM consolidation)
21,800 chars raw data  →  6,200 chars injected           (71% reduction)

Демонстрация

  1. Сессия 1: Claude использует порт 3000 — пользователь исправляет его на 8080.

  2. Хук остановки: wasurenagusa автоматически анализирует диалог и записывает ошибку.

  3. Сессия 2: Claude правильно использует порт 8080 без напоминаний.


Почему wasurenagusa

Большинство инструментов памяти хранят то, что произошло. wasurenagusa учит ваш ИИ почему что-то пошло не так — и гарантирует, что он никогда не повторит ту же ошибку.

Это не банк памяти. Это система обучения.

wasurenagusa

claude-mem

mcp-memory-service

CLAUDE.md

Авто-обнаружение ошибок

Да (повторы + тональность)

Нет

Нет

Нет

Авто-консолидация (LLM)

Да (негатив→принципы, конфиг→темы)

Нет

Да (на основе затухания)

Нет

Векторный семантический поиск

Да (локальный вывод, офлайн)

Да (ChromaDB)

Да (SQLite-vec / ChromaDB)

Нет

Уровни памяти (кратко/средне/долго)

Да (пороги косинусного расстояния)

Нет

Нет

Нет

Авто-продвижение (интенсивность)

Да (счетчик доступа → интенсивность 5)

Нет

Нет

Нет

Нулевые усилия через хуки

Да

Да

Частично

Нет

Читаемое человеком хранилище

Нет (SQLite — авто-миграция из v1 Markdown)

Нет (SQLite)

Нет (SQLite-vec)

Да

Поддержка нескольких LLM

Gemini / OpenAI / Anthropic (эмбеддинги локальны)

Только Claude

Локально (MiniLM-L6-v2)

Н/Д

Эффективное извлечение токенов

Да (индекс → детали, экономия 70-90%)

Да (3 уровня)

Н/Д

Нет

Память между проектами

Да (топ-5 активных проектов)

Нет

Нет

Нет

Лицензия

MIT

AGPL-3.0

Apache-2.0

Н/Д


Как это работает

Session Start (Hook) — injection mode
  → Checks if consolidation is stale
  → Spawns background LLM worker if needed (non-blocking)
  → Spawns background embedding backfill worker (non-blocking)
  → Injects consolidated config + principles (layer 1) + recent 30-day entries (layer 2) + owner profile
  → Vector search injects semantically related short-term memories (layer 3)
  → Cross-project vector search injects related memories from other active projects (layer 4)
  → Only customized settings injected (defaults stripped)

Session Start (Hook) — agent mode
  → Injects dont summary + config index + owner profile (minimal footprint)
  → No vector search at startup (deferred to on-demand recall)

User Prompt (Hook) — agent mode
  → Injects 1-line reminder: "search memory if relevant"
  → Main agent spawns memory-recall sub-agent as needed
  → Sub-agent runs memory_search → returns summary only (no raw data in main context)
  → Survives compaction (re-injected on every user message)

During Session
  → memory_save auto-generates embedding via local inference (no API call)
  → memory_save enriches tags with LLM-assigned weights (0.0-1.0) (when API key available)
  → Theme shift triggers background re-tagging of related past entries
  → memory_search merges keyword + vector semantic + tag-weighted results
  → Vector hits increment access counts → auto-promote to intensity 5 at threshold

Session End (Hook)
  → LLM analyzes the conversation
  → Detects mistakes, frustration, retry patterns
  → Auto-saves lessons learned (with embedding)
  → Deduplicates against existing entries before saving
  → Updates active projects tracker (top 5 recent projects)

Background (async workers)
  → Consolidates "dont" entries → behavioral principles
  → Consolidates "config" entries → thematic summaries
  → Backfills embeddings for entries created before vector layer (20/run)
  → Results used in next session start

Быстрый старт

💡 Рекомендуется: Вставьте этот README в Claude Code и попросите его настроить wasurenagusa за вас. Он автоматически выполнит все действия ниже.

Предварительные требования

  • Node.js 18+

  • Claude Code (CLI)

  • Внешний API-ключ не требуется для основных функций памяти (эмбеддинги работают локально)

  • Опционально: API-ключ для консолидации/анализа LLM — Gemini / OpenAI / Anthropic

1. Установка

npm install -g wasurenagusa-mcp

Или из исходного кода:

git clone https://github.com/tsutushi0628/wasurenagusa-mcp.git
cd wasurenagusa-mcp
npm install && npm run build
npm link

npm run build автоматически выполняет chmod +x для CLI-точек входа. Ручная настройка прав не требуется.

2. Конфигурация

Создайте ~/.wasurenagusa/.env:

# Set at least one API key
GEMINI_API_KEY=your-key-here
# OPENAI_API_KEY=your-key-here
# ANTHROPIC_API_KEY=your-key-here

Переменная

Обязательно

Описание

GEMINI_API_KEY

Одна из трех

API-ключ Google Gemini

OPENAI_API_KEY

Одна из трех

API-ключ OpenAI

ANTHROPIC_API_KEY

Одна из трех

API-ключ Anthropic

LLM_PROVIDER

Нет

gemini (по умолчанию), openai или anthropic

LLM_MODEL

Нет

Переопределение модели по умолчанию

MEMORY_DIR

Нет

Директория памяти (по умолчанию: .wasurenagusa)

MAX_ENTRIES_PER_CATEGORY

Нет

Лимит записей на категорию до авто-архивации (по умолчанию: 100)

LOG_RETENTION_DAYS

Нет

Срок хранения логов в днях (по умолчанию: 30)

SLACK_WEBHOOK_URL

Нет

Slack-уведомления для автономных задач

3. Регистрация MCP-сервера

claude mcp add wasurenagusa -- wasurenagusa-mcp

4. Настройка хуков

⚠️ Обязательно — без этого шага память не будет внедряться при запуске сессии. Это самый часто пропускаемый шаг настройки.

Добавьте в ~/.claude/settings.json (или settings.local.json, если предпочитаете разделять хуки):

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 5
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 5
          }
        ]
      }
    ],
    "Stop": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-analyze",
            "timeout": 30
          }
        ]
      }
    ],
    "PreCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "wasurenagusa-context",
            "timeout": 15
          }
        ]
      }
    ]
  }
}

5. Начало использования

Запустите Claude Code. Это всё.

  • Первая сессия: директория .wasurenagusa/ создается автоматически.

  • После первого диалога: хук остановки анализирует и сохраняет важный контекст.

  • Со второй сессии: накопленная мудрость автоматически внедряется при старте.

Добавьте .wasurenagusa/ в ваш .gitignore — там хранятся специфичные для проекта данные памяти.


Категории памяти

Категория

Что хранит

Файл

config

API URL, порты, пути авторизации

memory.db

dont

Ошибки, анти-паттерны, разочарования

memory.db

decision

Архитектурные решения, выбор технологий

memory.db

log

Записи реализации, решенные ошибки

memory.db

snippet

Часто используемые команды и запросы

memory.db


Инструменты MCP

Инструмент

Описание

memory_get_context

Получить конфиг + консолидированные принципы (вызывается при старте)

memory_search

Легкий поиск по индексу (только ID, заголовок, теги). Используйте project: "active" для поиска по всем проектам

memory_get_detail

Получить полные детали по ID

memory_save

Явное сохранение записи памяти

memory_stash

Временная выгрузка памяти для экономии контекста

memory_restore

Восстановление выгруженной памяти в активный контекст

memory_delete

Удаление записей по ID

task_submit

Отправка автономной задачи для выполнения 24/7

task_status

Проверка статуса выполнения задачи

task_action_list

Список и управление ожидающими действиями человека

project_init

Инициализация стандартов качества проекта


Команды CLI

Команда

Цель

Кем вызывается

wasurenagusa-context

Вывод конфига + dont + векторной памяти в stdout

SessionStart / UserPromptSubmit / PreCompact Hook

wasurenagusa-analyze

LLM-анализ диалога и авто-сохранение

Stop Hook

wasurenagusa-backfill

Генерация эмбеддингов для записей без векторов

Фон (авто-запуск)

wasurenagusa-rebuild

Исправление поврежденных данных памяти

Вручную

wasurenagusa-spec-update

Авто-обновление документов спецификаций

cron / systemd timer

wasurenagusa-consolidate-all

Запуск консолидации по всем проектам

Вручную / Планировщик

wasurenagusa-scheduler

Установка/удаление ночного планировщика

Вручную


Режим вывода

wasurenagusa поддерживает два режима вывода для хука SessionStart, настраиваемых для каждого проекта через .wasurenagusa/config.json.

Режим

Описание

Лучше всего для

injection (по умолч.)

Внедряет полный текст памяти при старте

Сред без под-агентов (Cursor, Windsurf и т.д.)

agent

Внедряет минимальный индекс + напоминание о вызове памяти

Claude Code + Команды агентов

Конфигурация

Добавьте outputMode в .wasurenagusa/config.json вашего проекта:

{
  "outputMode": "agent"
}

Если файл отсутствует или outputMode не задан, по умолчанию используется "injection" (полная обратная совместимость).

Рекомендуемые правила CLAUDE.md для режима агента

При использовании режима "agent" с командами агентов Claude Code, добавьте эти правила в CLAUDE.md вашего проекта:

- Read/write memories via sub-agents (memory_search / memory_get_detail / memory_save)
- Do not bring raw memory data into the main context
- When system-reminder suggests memory recall, spawn a sub-agent to run memory_search and return summary only

Продвинутые функции

Уровни векторной памяти

wasurenagusa представляет систему памяти, вдохновленную биологическими принципами, на базе локальных эмбеддингов. Каждое воспоминание преобразуется в 384-мерный вектор, что позволяет выполнять поиск по смыслу, выходящий далеко за рамки простого сопоставления ключевых слов.

Трехуровневая архитектура с порогами косинусного расстояния:

Уровень

Порог

Вариант использования

Краткосрочная

≤ 0.2

Высокая релевантность — авто-внедрение при старте

Среднесрочная

≤ 0.45

Контекстуально связанная — всплывает при memory_search

Долгосрочная

≤ 0.7

Слабо связанная — доступна, но не показывается проактивно

Автоматическое продвижение: Каждый раз, когда воспоминание извлекается через векторный поиск, счетчик доступа увеличивается. После 5 извлечений воспоминание автоматически переходит в intensity: 5, гарантируя, что часто нужные знания получают максимальный вес при консолидации.

Как это работает:

memory_save
  → Text → local inference (Hugging Face Transformers) → embedding → SQLite (sqlite-vec)

memory_search "authentication setup"
  → Full-text search (FTS5, Japanese support) ─┐
  → Embed query → vector similarity search     ─┤→ merge, deduplicate → results
                                                └→ increment access count
                                                   → auto-promote if threshold met

SessionStart Hook
  → Embed project name → short-tier search → inject related memories

Внешний API не требуется — эмбеддинги генерируются локально через @huggingface/transformers. Данные хранятся в SQLite с sqlite-vec для векторной индексации. Работает полностью офлайн.

Автоматическая миграция из v1 — существующие Markdown-файлы памяти автоматически переносятся в SQLite при первом запуске.

Умное извлечение по тегам

Умное извлечение по тегам повышает точность поиска тремя механизмами — без удаления или забывания данных:

  1. Взвешенное обогащение тегами при сохранении — при сохранении памяти LLM генерирует описательные теги и присваивает каждому вес (0.0-1.0). Конкретные факты (порты, API) получают высокий вес; общие категории — низкий.

  2. Фоновая перемаркировка при смене темы — при обнаружении новой темы фоновый процесс обновляет теги связанных прошлых записей.

  3. Композитный скоринг — результаты поиска ранжируются по смеси свежести, веса тега и частоты доступа.

Память между проектами

wasurenagusa автоматически отслеживает 5 последних использованных проектов и ищет релевантный контекст в их памяти.

**Как это работает

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A self-hosted MCP server that provides AI assistants with a shared, persistent SQLite-backed memory for storing and retrieving project context, decisions, and discoveries. It enables cross-session continuity and team-wide knowledge sharing to keep AI coding tools aligned and informed.
    3
    MIT
  • A
    license
    B
    quality
    B
    maintenance
    An MCP server that gives AI assistants persistent memory across sessions. It stores project context, decisions, and progress in structured markdown files as well as a knowledge graph and sequential thinking for better memory storage.
    36
    37
    1
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local MCP server that gives AI assistants a long-term memory by capturing sessions verbatim and surfacing relevant context automatically.
    14
    794
    MIT

View all related MCP servers

Related MCP Connectors

  • Cloud-hosted MCP server for durable AI memory

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • An MCP memory server. One memory your agents share — across models, devices and apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tsutushi0628/wasurenagusa-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server