Haft CLI

Локальная память решений для ИИ-агентов: задачи, сравнение вариантов и доказательства хранятся в проекте, устаревшее помечается

  • 1 397 ★ репозитория
  • Последний коммит
CLI

Расширенный доступ

Почему такой уровень

  • Команда haft init дописывает конфигурацию агента, раздел в CLAUDE.md или AGENTS.md и каталоги со скиллами
  • Скиллы получают разрешения на Bash, чтение файлов и вызовы MCP
  • Запись WorkCommission создает ограниченное полномочие на работу для внешнего исполнителя
Все причины и проверки

m0n0x41d/haft

Установка

Ручная установка

curl -fsSL https://raw.githubusercontent.com/m0n0x41d/haft/main/install.sh | bash

Ставит текущий релиз haft. Затем в проекте выполните haft init с флагом нужного агента.

Доступ и проверки

Как мы проверяем

Расширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.

  • Команда haft init дописывает конфигурацию агента, раздел в CLAUDE.md или AGENTS.md и каталоги со скиллами
  • Скиллы получают разрешения на Bash, чтение файлов и вызовы MCP
  • Запись WorkCommission создает ограниченное полномочие на работу для внешнего исполнителя

Это чужой код. Посмотрите файлы в репозитории перед установкой.

Что делает

Haft — локальный слой управления для ИИ-агентов программиста, который хранит память проекта: какая задача решается, какие варианты сравнивали, что решил человек, чем это подтверждено и что устарело. Он не пишет код сам и не генерирует документацию. Инструмент построен на методологии First Principles Framework (FPF) Анатолия Левенчука и подтягивает ее первоисточник в контекст агента. Установщик install.sh ставит бинарник haft, а haft init --claude или haft init --codex прописывает MCP-сервер в .mcp.json или .codex/config.toml, кладет 12 скиллов (`h-frame`, `h-explore`, `h-compare`, `h-decide`, `h-verify`, `h-status` и другие) и вставляет управляемый раздел в CLAUDE.md или AGENTS.md. Записи лежат markdown-файлами в .haft/, а структурированный граф хранится в базе SQLite в ~/.haft/projects/. Через MCP-сервер haft serve агент получает 12 инструментов: заметки, постановка задачи, варианты и сравнение, записи решений с инвариантами и доказательствами, запросы к графу кода и к памяти проекта. Сервер сам проверяет аргументы и возвращает ошибку, если не хватает обязательных полей, нет равных условий сравнения или у прогноза нет verify_after. У доказательств есть срок годности: устаревшие помечаются для пересмотра.

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

Подходит, если

  • Агент предлагает крупную перестройку, а сначала нужно сформулировать задачу и критерии приемки скиллом `h-frame`
  • Выбор между вариантами надо зафиксировать с равными условиями сравнения и фронтом Парето, а не одной итоговой оценкой
  • Через месяц нужно проверить, остается ли прошлое решение верным, и увидеть, какие доказательства устарели
  • Нескольким сессиям агента нужна общая память о том, что решено и на каком основании
  • Перед правкой кода агент должен увидеть решения и инварианты, которые относятся к этому файлу или символу

Не подходит, если

  • Нужен агент, который сам исполняет задачи: во внешней версии v9 встроенных исполнителей нет, а полномочия на работу записываются для стороннего раннера
  • Нужен поиск по расшифровкам прошлых разговоров: Haft хранит типизированные записи о решениях, а не переписку
  • Вы работаете в Cursor, Gemini CLI, OpenCode, Grok, Hermes или Zed: автор называет эти адаптеры экспериментальными или устаревшими
  • Проекту не нужны лишние файлы: init создает каталог .haft в репозитории и базу SQLite в домашней папке

Пример запроса к агенту

Сформулируй задачу по замене очереди сообщений, сравни три варианта на равных условиях и покажи, какие решения проекта это затрагивает

Ограничения

  • Лицензия MIT. Автор добавил примечание: понятия FPF принадлежат Анатолию Левенчуку, а лицензия покрывает только программную часть.
  • Стабильными хостами названы Claude Code и Codex. Адаптеры для Grok, Pi, Hermes, Zed, Antigravity, Cursor, Gemini CLI и OpenCode экспериментальные или устаревшие. В Cursor сервер haft после init включают вручную в Settings, MCP.
  • Необязательный компонент haft-embed на Rust для старых путей семантического поиска может занимать 1–2 ГБ памяти. Отключить его можно строкой embedding.provider: none в ~/.haft/config.yaml.
  • Отдельная экспериментальная альфа haft10 рассчитана на macOS arm64 и Codex, подходит для новых проектов или копий и обычную установку не заменяет.
  • В версии 9 убраны встроенные команды haft run и haft harness, интерактивный агент и среда Open-Sleigh на BEAM.

Как отключить. Уберите сервер haft из .mcp.json или .codex/config.toml и удалите скиллы из ~/.claude/skills/ или ~/.agents/skills/ (при --local из .claude/skills/ или .agents/skills/ проекта). Раздел между метками `<!-- haft:start -->` и `<!-- haft:end -->` в CLAUDE.md или AGENTS.md удалите вручную. Записи в .haft/ и ~/.haft/projects/ остаются на диске.

Частые вопросы

Как поставить Haft для Claude Code?

Выполните команду из install.sh, затем запустите в проекте haft init --claude и перезапустите Claude Code. Скиллы попадут в ~/.claude/skills/, а с флагом --local в .claude/skills/ проекта. Сервер MCP прописывается в .mcp.json, а раздел о Haft появляется в CLAUDE.md.

Чем Haft отличается от файла с заметками для агента?

Записи типизированы: заметка, карточка задачи, решение, доказательство. Сервер MCP проверяет их и возвращает структурированные ошибки, если нет обязательных полей или равных условий сравнения. Запрос haft_query показывает решения и инварианты, которые относятся к файлу или символу.

Может ли агент принять решение за меня?

Нет. Вызов haft_decision с действием `decide` через MCP возвращает operator_confirmation_required, пока нет подтверждения хоста. Привязывающее решение записывается по прямой недвусмысленной просьбе человека, а скилл `h-commission` вызывается только вручную.

Что Haft делает с устаревшими доказательствами?

У доказательств есть уровни формальности F0–F9, уровни согласованности CL0–CL3 и срок годности. Оценка доверия R_eff падает с возрастом, а устаревшее помечается для пересмотра. После внедрения решения проверку запускают вызовом haft_decision с действием `measure`.

Как посмотреть состояние Haft в проекте?

Команда haft spec status показывает следующий шаг онбординга и отдельно состояние здоровья: структурные находки, дрейф и устаревание. Полный отчет дает `haft spec check --json`. Состояние ready не равно готовности к релизу.

Обсуждение

Вопросов и отзывов пока нет.

Официальный

Локальная память для ИИ-агентов программиста: хуки записывают ход каждой сессии, и Claude Code, Codex или Cursor находят прошлые решения через MCP

MCP-серверРасширенный доступ30 тыс.Звезды репозитория

Datalog-движок на Rust как рабочая память агента: факты с происхождением, правила вывода и MCP-сервер для Claude Code

MCP-серверРасширенный доступ341Звезды репозитория
Официальный

Общая память для группы ИИ-агентов с областями доступа, аудитом и графом знаний: MCP-сервер, Docker и облако

MCP-серверШирокий доступ541Звезды репозитория
Официальный

Локальная память для агентов: хранит переписку и файлы проекта дословно и находит нужное семантическим поиском через MCP

MCP-серверРасширенный доступ59,8 тыс.Звезды репозитория

Зашифрованная офлайн-память для ИИ-агентов: общее хранилище на вашем компьютере для Claude Code, Cursor, Codex и других

MCP-серверШирокий доступ578Звезды репозитория

Долговременная память для ИИ-агентов: файлы Markdown как источник истины, индекс SQLite как кэш, общая у Claude Code, Codex и других

CLIРасширенный доступ4,4 тыс.Звезды репозитория

Сравнение с похожими

Записи с тем же главным запросом: чем они отличаются.

ЗаписьОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Haft (эта запись)нет1 397
Episodic Memoryнет493ищет по смыслу в прошлых разговорах с агентом, а Haft хранит типизированные записи решений и доказательств
Basic Memoryнетне нужна4 389долговременная память в Markdown-файлах с графом связей и поиском, без записей решений с проверкой доказательств

Коротко о README

Описание открывают идеей FPF и установкой в одну строку, затем идут таблица того, что делает haft init для каждого агента, раздел о локальных следах и три поверхности: скиллы, CLI и MCP-сервер. Дальше таблицы двенадцати инструментов и двенадцати скиллов, работа с доказательствами и внешними исполнителями. В репозитории есть ALPHA.md, MIGRATION-v8.md и CHANGELOG.md, тесты на Go и каталог .haft с решениями самого проекта.

Бейдж для README

Сообщить о проблеме

Foxx AIHaft
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.