iwe-org/iwe

Граф знаний на основе Markdown — LSP для вашего редактора, CLI и MCP-память для ваших AI-агентов

Агенты⭐ 1 677Rustпоследний релиз: iwe-v0.24.2
Открыть на GitHub ↗Сайт проекта ↗

Что это за инструмент

IWE — это инструмент на Rust, который превращает папку с Markdown-файлами в структурированный граф знаний с поддержкой LSP для редакторов и MCP/CLI для AI-агентов.

Зачем нужен

Инструмент решает проблему неструктурированных заметок, позволяя выполнять запросы к ним как к базе данных без переноса данных в специализированные системы. Он предоставляет AI-агентам доступ к контексту через структуру (связи и иерархию), а не через поиск по схожести, и обеспечивает прозрачность изменений через Git.

Что можно реализовать

  • Создание личной базы знаний с возможностью навигации по связям между заметками в IDE.
  • Предоставление AI-агентам (Claude, Gemini и др.) структурированного контекста через MCP для точных ответов на вопросы по истории решений.
  • Управление проектной документацией с валидацией структуры через OKF (Open Knowledge Format).
  • Рефакторинг и переименование заметок с автоматическим обновлением всех ссылок в графе.
  • Быстрый поиск и фильтрация заметок по YAML-frontmatter и тексту в CLI.

Ключевые возможности

  • Работа с обычными Markdown-файлами и Git, без проприетарных форматов и облачных зависимостей.
  • Поддержка LSP для VS Code, Neovim, Zed и Helix с функциями поиска, автодополнения и рефакторинга.
  • Интеграция с AI через CLI и MCP Server, позволяющая агентам запрашивать контекст по структуре графа.
  • Валидация изменений агентами: проверка заявленного диапазона изменений (scope) перед записью.
  • Высокая производительность: обработка 20 000 файлов менее чем за секунду на Rust.

👤 Кому подойдёт: Разработчики, инженеры по AI, технические писатели и исследователи, использующие Markdown для ведения заметок и интегрирующие AI-агентов в свои рабочие процессы.

Релизы

iwe-v0.24.2patch
🕐 19 ч назад · релиз на GitHub ↗

Исправлен критический сбой при загрузке документов с плоской структурой в iwe, iwes и iwec.

  • Fixed: Устранена ошибка переполнения стека при чтении документов с длинными последовательностями элементов без вложенности.
  • Fixed: CLI-инструмент iwe больше не аварийно завершает работу при открытии таких файлов.
  • Fixed: Сервер LSP iwec стабильно обрабатывает рабочие пространства с плоскими документами.
  • Fixed: MCP-сервер iwes больше не падает при загрузке workspace с аналогичной структурой.
iwe-v0.24.1patch
🕐 4 дн назад · релиз на GitHub ↗

Исправлены критические уязвимости выхода за пределы рабочей области и оптимизировано обновление файлов для сохранения истории изменений.

  • Fixed: Заблокирована возможность записи, удаления или перезаписи файлов за пределами рабочей области через ключи с '..' или абсолютным путём.
  • Fixed: Команда normalize больше не перезаписывает файлы без изменений, сохраняя время модификации и историю редактирования библиотеки.
  • Fixed: Ошибки записи на диск теперь корректно возвращаются как ошибки, а не вызывают панику или ложное сообщение об успехе.
  • Fixed: Исправлено поведение iwes: переименование и переход к определению теперь учитывают границы рабочей области, избегая висячих ссылок.
iwe-v0.24.0minor
🕐 12 дн назад · релиз на GitHub ↗

В iwe v0.24.0 добавлена фильтрация документов по префиксу ключа через оператор $startsWith.

  • Added: Добавлена возможность фильтрации документов по префиксу ключа с помощью оператора $startsWith.
  • Added: Поддержка фильтрации по префиксу доступна в CLI через флаг --filter и в инструменте MCP iwe_query.
  • Fixed: Исправлено сообщение об ошибке для некорректных выражений $key: теперь выводятся допустимые операторы.
iwe-v0.23.2patch
🕐 12 дн назад · релиз на GitHub ↗

Исправлена критическая ошибка форматирования: маркеры блоков больше не ломают параграфы при переносе строк.

  • Fixed: iwe normalize больше не превращает перенесённые параграфы в списки, заголовки или HTML, экранируя маркеры.
  • Fixed: textDocument/formatting в iwes исправлено: маркеры блоков корректно экранируются при обёртке строк.
  • Fixed: Библиотека liwe теперь экранирует маркеры списков, цитат, заголовков и HTML-теги, попавшие в начало строки.
iwe-v0.23.1minor
🕐 15 дн назад · релиз на GitHub ↗

Исправлена работа с внешними ссылками, регистронезависимые вики-ссылки и корректное форматирование Djot-документов.

  • Fixed: Ссылки с URI-схемами (tel, ftp, file) больше не считаются сломанными, а обрабатываются как внешние.
  • Fixed: Вики-ссылки теперь разрешаются без учёта регистра, например [[target]] открывает Target.md.
  • Fixed: Djot-документы корректно применяют preserve_newlines и wrap_column, сохраняя разрывы строк.
  • Fixed: Экранированные маркеры блоков в Djot больше не преобразуются в списки или заголовки.
iwe-v0.23.0majorbreaking
🕐 21 дн назад · релиз на GitHub ↗

MEMORY.md теперь использует гибкие запросы вместо глобального фильтра, добавлен JSON Schema для валидации.

  • Breaking: Срезы injection в MEMORY.md стали самостоятельными запросами с фильтрами и лимитами, убран глобальный knowledge_filter.
  • Added: Добавлена команда iwe docs query-schema для вывода JSON Schema языка запросов и их валидации.
  • Breaking: Удалены устаревшие настройки knowledge_filter, recency_field и источники recent/changed, бюджет токенов теперь настраивается на уровне среза.
  • Added: Обновлены параметры дистилляции: изменены названия ключей и логика работы напоминаний (remind_after_days).
  • Added: Библиотека liwe теперь поддерживает разрешение внешних ссылок на опубликованные схемы IWE по их URI.
iwe-v0.22.0majorbreaking
🕐 22 дн назад · релиз на GitHub ↗

Поля фронтматтера с префиксами _, #, @ теперь обычные; $-поля защищены от фильтрации, но сохраняются.

  • Breaking: Поля фронтматтера, начинающиеся на _, # или @, теперь обрабатываются как обычные: доступны для фильтрации, сортировки и обновления, больше не удаляются при записи.
  • Fixed: Поля с префиксом $ теперь корректно валидируются на этапе парсинга пути (InvalidPathSegment), вместо того чтобы вызывать ошибки времени выполнения или игнорироваться.
  • Added: Клиент iwec включает в результаты запроса все поля фронтматтера, включая те, что начинаются на $, которые ранее опускались.
  • Deprecated: Удалены устаревшие функции strip_reserved, is_reserved_segment и модуль query::frontmatter, замененные на is_operator_segment в query::document.
iwe-v0.21.0majorbreaking
🕐 22 дн назад · релиз на GitHub ↗

Полная переработка работы с памятью: дистилляция сессий, нормализация документов и новые настройки в MEMORY.md.

  • Breaking: Удалена автоматическая обработка транскриптов сессий; теперь требуется ручная дистилляция через команду `/iwe:distill`.
  • Added: Документы автоматически нормализуются и проверяются по схемам при записи, а также дублируются при совпадении с существующими.
  • Added: Добавлена команда `iwe normalize -k <key>` для точечной нормализации конкретных документов и новые настройки в MEMORY.md.
  • Added: Состояние памяти перенесено в `.iwe/claude/`, а процесс дистилляции стал интерактивным с поддержкой пакетного выбора.
  • Deprecated: Устарели параметры `sweep_threshold_lines`, `max_chunks_per_sweep` и другие, связанные со старой системой очистки.
iwe-v0.20.1minor
🕐 27 дн назад · релиз на GitHub ↗

MCP-сервер расширил поддержку протокола до 2026 года и исправил ошибки инициализации.

  • Added: Поддержка ревизий MCP-протокола расширена с 2025-06-18 до 2026-07-28, включая метод server/discover.
  • Fixed: Запрос initialize без protocolVersion теперь возвращает корректную ошибку JSON-RPC вместо молчаливого завершения.
  • Fixed: Исправлена переговорная логика: сервер больше не эхом возвращает неизвестную версию, а предлагает поддерживаемую.
iwe-v0.20.0minorbreaking
🕐 28 дн назад · релиз на GitHub ↗

iwe v0.20.0: интеграция памяти Claude Code, строгая валидация config.toml и исправления валидации схем.

  • Added: iwe теперь поддерживает память между сессиями Claude Code: автоматический сбор, дистилляция и хранение транскриптов.
  • Breaking: Неизвестные ключи в .iwe/config.toml теперь вызывают ошибку парсинга, а не игнорируются, что может помешать запуску LSP.
  • Added: Добавлена команда iwe delete -k для удаления записей по ключу и скрытые команды iwe internal для управления памятью.
  • Fixed: Исправлено чтение схем из корня проекта, что устранило ошибки валидации при использовании library.path.
  • Added: Добавлены команды iwe internal claude prompt и iwe docs agent для вывода инструкций агента и политик использования CLI.
iwe-v0.19.1patch
🕐 1 мес назад · релиз на GitHub ↗

Технический релиз iwe-v0.19.1: переиздание npm-пакетов для публикации сервера MCP в официальном реестре.

  • Added: Сервер MCP теперь можно установить напрямую из официального реестра по адресу io.github.iwe-org/iwe.
  • Added: npm-пакеты переизданы с корректными метаданными обладания, требуемыми официальным реестром MCP.
  • Внешние изменения для CLI, LSP-сервера и инструментов MCP отсутствуют.
iwe-v0.19.0minor
🕐 1 мес назад · релиз на GitHub ↗

Добавлена инициализация OKF-бандлов и поддержка gitignore-стиля с отрицаниями в схемах.

  • Added: Команда iwe init --okf автоматически создаёт структуру OKF v0.2 бандла, схемы и конфигурацию.
  • Added: В паттернах match схем добавлена поддержка отрицаний через !, работающих по принципу gitignore.
  • Added: Библиотеки liwe и diwe теперь корректно обрабатывают negated-паттерны для управления валидацией документов.