Skip to main content
Glama

Rekindle

npm tests license

Для пользователей Claude Code, которые тратят время на повторное объяснение контекста проекта каждую сессию.

npx rekindle init

Ваш ИИ забывает всё между сессиями. Rekindle это исправляет.


Rekindle init demo

Rekindle — это движок непрерывности MCP, который решает проблему ориентации в сессии, а не просто хранения данных. Ориентируйтесь в начале сессии, фиксируйте результаты в конце. Всё локально, всё на SQLite, ноль API-ключей.

v0.2.0 — уровень домена ориентации, инструмент end_session, типизированные записи непрерывности. Примечания к выпуску

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

Запуск npx rekindle init создает папку .rekindle/ в вашем проекте с базой данных SQLite, шаблоном идентификации и директорией транскриптов. Он выводит два блока для копирования:

  1. Конфигурация MCP — вставьте в ~/.claude.json (сообщает Claude Code, где находится сервер)

  2. Инструкции по загрузке — вставьте в CLAUDE.md вашего проекта (сообщает ИИ, как ориентироваться)

Затем заполните .rekindle/identity.md и начните новую сессию Claude Code.

Сессия 1 сохраняет. Сессия 2 помнит. Сессия 10 предвидит.


Проблема (43 сессии данных)

За 43 сессии мы измерили, что ИИ-ассистент не смог загрузить в начале сессии:

Метрика

Значение

Проанализировано сессий

43

Чистые запуски (весь контекст загружен)

33%

Критические сбои (5+ пробелов)

26%

Общее количество сбоев извлечения

173

Существующие инструменты памяти (Mem0, Letta, Zep) оптимизированы для точности извлечения: может ли ИИ найти то, что сохранил? Это необходимо, но недостаточно. Ни один из них не решает, загрузил ли ИИ правильный контекст для этой сессии или может ли он обнаружить, что пропустил.

Rekindle решает проблему ориентации в сессии: загрузка идентификации, недавнего контекста, состояния памяти и предупреждений о недостающем контексте до того, как ассистент начнет работу.

См. docs/gap-analysis.md для получения полного исследовательского набора данных.


Что он делает

Загрузка: ориентация в начале сессии

boot_report запускает конвейер ориентации до начала любой работы:

boot_report
  +-- Read identity document (who am I working with?)
  +-- Scan memory stats (what do I know?)
  +-- Find latest checkpoint (where did we leave off?)
  +-- Read last transcript (what actually happened?)
  +-- Detect gaps (what am I missing?)
  +-- Calculate orientation score (how oriented am I?)
  --> "Carrying forward: [context loaded, gaps identified, score: 80/100]"

Здоровый вывод:

## Orientation Score
100/100

+20  Identity document loaded
+20  Recent checkpoint exists
+20  Session transcript found
+20  Recent memories exist (last 7 days)
+10  Relationship/preference memories populated
+10  Project-scoped memories found

Разреженный вывод (отмечает, чего не хватает):

## Gaps Detected
- [critical] identity_missing: No identity document found
- [warning] checkpoint_missing: No recent checkpoint

## Orientation Score
20/100

 ✗  Identity document loaded (20pts)
 ✗  Recent checkpoint exists (20pts)
 ✗  Session transcript found (20pts)
+20  Recent memories exist (last 7 days)
 ✗  Relationship/preference memories populated (10pts)
 ✗  Project-scoped memories found (10pts)

Захват: замыкание цикла в конце сессии

end_session сохраняет структурированные записи непрерывности — не просто резюме:

Поле

Что фиксирует

checkpoint

На чем мы остановились (обязательно)

decisions

Что было решено и почему

open_loops

Нерешенные задачи или вопросы

constraints

Ограничения, которые нельзя нарушать

relational_delta

Что изменилось в рабочих отношениях

next_session_focus

На чем сосредоточиться в следующей сессии

preferences

Новые изученные предпочтения пользователя

warnings

Вещи, за которыми следующая сессия должна следить

Все записи хранятся с метаданными type, source и session_id. Следующий boot_report автоматически загружает контрольную точку.

Между сессиями: поиск и управление

Инструмент

Описание

store_memory

Сохранение с контентом, категорией, важностью (1-10) и областью проекта

search_memory

Полнотекстовый поиск с ранжированием BM25, усиленный важностью

list_memories

Просмотр воспоминаний, начиная с новых. Фильтр по категории или проекту

delete_memory

Удаление по ID

update_memory

Обновление контента, категории или важности

Категории: preference lesson context relationship general


Почему не просто CLAUDE.md?

Статический файл пассивен. Ваш ИИ читает его, но не может искать по нему, ранжировать, отслеживать, что было извлечено, или сказать вам, чего не хватает. Rekindle добавляет:

  • Поиск — полнотекстовый с ранжированием, взвешенным по важности

  • Структура — категоризация и охват проектов по воспоминаниям

  • Ориентация — проактивная загрузка контекста при загрузке, а не только по запросу

  • Обнаружение пробелов — отмечает недостающую идентификацию, пустые категории, устаревшие данные

  • Оценка — прозрачный чек-лист, чтобы вы знали, насколько ориентирован ИИ

  • Захват сессии — структурированное закрытие с контрольными точками, решениями и открытыми циклами


Основные моменты v0.2.0

  • 7 инструментов MCP — добавлен end_session для структурированного закрытия сессии

  • Уровень домена ориентацииboot_report теперь является тонкой оберткой; вся логика в OrientationService, GapDetector, Scorer

  • Типизированные записи непрерывности — воспоминания несут type, source, session_id вместо префиксов контента

  • Оценка ориентации — 100-балльный аддитивный чек-лист по 6 критериям

  • Структурированные пробелы{ code, severity, message } с 8 кодами пробелов

  • 64 автоматизированных теста — модульные, интеграционные и производительности


Установка из исходного кода

git clone https://github.com/Skitchy/rekindle.git
cd rekindle
npm install
npm run build
node dist/init/cli.js init

Два опциональных хука на Python для Claude Code (только стандартная библиотека, ноль внешних зависимостей):

extract-session.py (Хук Stop): Извлекает транскрипт Markdown из JSONL сессии, когда сессия заканчивается.

pre-compact-capture.py (Хук PreCompact): Сохраняет последние 80 сообщений перед сжатием контекста.

{
  "hooks": {
    "Stop": [{
      "type": "command",
      "command": "python3 /path/to/rekindle/hooks/extract-session.py"
    }]
  }
}

Переменная

По умолчанию

Описание

REKINDLE_TRANSCRIPT_DIR

.rekindle/transcripts/

Где сохраняются транскрипты

REKINDLE_SESSIONS_DIR

Автоопределение

Директория сессий Claude Code

REKINDLE_HUMAN_NAME

Human

Имя для сообщений человека

REKINDLE_AI_NAME

Assistant

Имя для сообщений ИИ

REKINDLE_TIMEZONE

UTC

Часовой пояс для временных меток

  • Все данные локальны. Ничего не отправляется на внешние серверы.

  • Никаких сетевых вызовов. Сервер MCP общается через stdio. Никакого HTTP, никакой телеметрии, никакой аналитики.

  • Транскрипты содержат текст разговора. Не включайте захват транскриптов, если ваши сессии содержат секреты или учетные данные.

  • Захват транскриптов опционален. Хуки не установлены по умолчанию.

  • База данных SQLite — это обычный файл. Не зашифрована. Используйте шифрование диска на уровне ОС, если необходимо.

  • .rekindle/ игнорируется git. Команда init обрабатывает это автоматически.

  • boot_report читает локальные файлы. Пути не изолированы (песочница). Используйте только с клиентами MCP и промптами, которым вы доверяете.

Окружение

Статус

Claude Code (macOS)

Поддерживается, протестировано

Claude Code (Linux/WSL2)

Поддерживается, протестировано

Claude Code (Windows)

Поддерживается, протестировано

Claude Desktop

Не протестировано (использует тот же протокол MCP)

Cursor, Continue, Cline

Не протестировано (должно работать, если поддерживают MCP stdio)

rekindle/
  src/
    index.ts          MCP server entry point
    server.ts         Server setup, tool registration
    storage/
      sqlite.ts       SQLite + FTS5, schema migration, sessions
    orientation/
      types.ts        OrientationResult, Gap, ScoreItem
      GapDetector.ts  Structural gap detection (8 codes)
      Scorer.ts       Orientation scoring (6 criteria, 100pts)
      OrientationService.ts   Orchestrator
      OrientationRenderer.ts  Markdown + JSON output
    tools/
      boot-report.ts  Thin wrapper over OrientationService
      end-session.ts  Structured session close
      store.ts search.ts list.ts delete.ts update.ts
    init/
      cli.ts scaffold.ts templates/
  hooks/
    extract-session.py
    pre-compact-capture.py

Хранилище: SQLite + FTS5 через better-sqlite3. Ранжирование BM25, усиленное важностью. Типизированные записи с type, source, session_id.

Транспорт: stdio (стандартный MCP). Работает с Claude Code «из коробки».

Тесты

npm test

64 теста: CRUD хранилища + ранжирование FTS5, домен ориентации (обнаружение пробелов, оценка, сервис, рендеринг), интеграция MCP (все 7 инструментов) и производительность (поиск по 1000 воспоминаний менее чем за 100 мс).

Дорожная карта

v0.3: "Он думает сетями" — Распространение активации, семантический поиск через эмбеддинги, открытые циклы в отчетах о загрузке, инструменты анализа пробелов, тестовая обвязка.

Лицензия

MIT

Install Server
A
license - permissive license
A
quality
B
maintenance

Maintenance

Maintainers
1dResponse time
1dRelease cycle
2Releases (12mo)

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/Skitchy/rekindle'

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