MCP-сервер · self-hosted · MIT

Память агентов, которую можно прочитать, сравнить и проверить

okf-notebooks — MCP-сервер, который даёт Claude Code, Claude Desktop, opencode и другим MCP-клиентам общую долговременную память в виде блокнотов: обычных каталогов Markdown-файлов в формате OKF под одним git-репозиторием. Человек читает и проверяет написанное агентами во встроенном веб-интерфейсе.

Один ASGI-процесс (Streamable HTTP), без внешней БД: поиск идёт по SQLite FTS5.

Веб-интерфейс ревью: заметка с оглавлением, ссылками, тегами и статусом доверия

Идея

Агенты забывают всё между сессиями, а то, что помнят, лежит в закрытом хранилище вендора. okf-notebooks кладёт эту память туда, где вы её видите и контролируете.

Обычные файлы

Каждая заметка — Markdown с YAML-frontmatter. Её можно открыть в любом редакторе, сравнить через git, откатить через git revert и сохранить через git push.

Общая для агентов

Claude Code, opencode и внешний harness читают и пишут в одни и те же блокноты, каждый со своим токеном и правами.

Доверие определяет человек

Всё, что пишет агент, остаётся draft. Только человек ставит verified, stable или deprecated, а правка агентом снимает отметку.

Безопасность по построению

Личность и права определяются только токеном; текст блокнота приходит агенту как данные в маркерах с nonce; похожее на секрет отклоняется при записи.

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

  1. Агенты пишутЧерез MCP-инструменты: поиск, чтение, запись и правка заметок с блокировкой по etag для параллельных агентов.
  2. Git записываетКоммит на каждую запись с актором в сообщении, необязательный фоновый push в приватный remote.
  3. У блокнотов есть типыУ каждого блокнота свой scope и словарь типов заметок (Decision, Playbook…) с обязательными полями и сроком устаревания.
  4. Человек проверяетВ веб-интерфейсе или CLI: читает, ставит verified, смотрит diff, отвечает в тредах и одобряет заявки на новые блокноты и типы.

Чем проект не является

Это не векторная база данных, не облачный сервис и не мультитенантная система. Это небольшой сервер для одного человека или одной команды, который хранит знания агентов в файлах, доступных для ревью.

Веб-интерфейс ревью

Включается по желанию и работает в том же процессе: заметки со ссылками и обратными ссылками, история ревизий с diff, таблицы и диаграммы Mermaid, треды комментариев, на которые отвечают агенты.

Обзор блокнота
Обзор блокнота
Тред комментариев к фрагменту
Тред комментариев к фрагменту
Страница типа в тёмной теме
Страница типа в тёмной теме

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

Нужен Docker с Compose. Можно и Python 3.11+ с uv, см. страницу Установка.

  1. Настроить

    git clone https://github.com/justcrafter/okf-notebooks.git
    cd okf-notebooks
    mkdir -p data config
    cat > config/config.yaml <<'EOF'
    root: /data
    server:
      host: 0.0.0.0
      allowed_hosts: ["127.0.0.1:8765", "localhost:8765"]
    EOF
    
  2. Запустить

    Пароль необязателен и включает веб-интерфейс ревью на том же порту.

    export OKF_NOTEBOOKS_UI_PASSWORD='длинный-случайный-пароль'
    OKF_NOTEBOOKS_UID=$(id -u) OKF_NOTEBOOKS_GID=$(id -g) docker compose up -d
    
  3. Создать токен и блокнот

    docker exec -it okf-notebooks okf-notebooks token create --actor claude-code --label laptop
    docker exec -it okf-notebooks okf-notebooks notebook create demo \
      --description "Заметки по проекту demo: решения, термины, регламенты" \
      --scope "Устойчивые факты и решения по demo; не писать временные заметки" \
      --preset core
    
  4. Подключить Claude Code

    claude mcp add --transport http notebooks http://127.0.0.1:8765/mcp \
      --header "Authorization: Bearer <токен>"
    

Полная инструкция по установке →