Leviathan CLI

Один бинарник строит поисковый индекс по таблицам и логам, и агент получает в ответ несколько записей вместо сырой истории

  • 882 ★ репозитория
  • Последний коммит
  • Apache-2.0
CLI

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

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

  • Индекс делает полную копию данных в локальный файл, а режим HTTP открывает инструменты по сети.
Все причины и проверки

elstongun/leviathan

Установка

В терминале, через SkillFoxx CLI

npx skillfoxx add cli/leviathan

Определит агенты на машине, покажет уровень доступа и зафиксирует версию.

Другие способы установки

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

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

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

  • Индекс делает полную копию данных в локальный файл, а режим HTTP открывает инструменты по сети.

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

Что делает

Leviathan читает JSONL, JSON, CSV, TSV, базы SQLite и вывод консольных клиентов любых баз и собирает из них один файл SQLite с полнотекстовым индексом. Агент задает вопрос обычными словами, а CLI возвращает короткие карточки результатов с цитатами. По замерам автора на миллионе синтетических записей медиана составляет 436 токенов на ответ, лучшая стратегия с grep тратит 107 122. Поля сопоставляются через конфиг: обязателен только `id`, остальное по желанию. Для группы записей, например клиента, работает поиск `-g` с разрешением имени, а при неоднозначной группе команда завершается с кодом 3 и не гадает. Есть фильтры `--where`, диапазоны дат, фразы в кавычках и исключения, точные счетчики и суммы через `aggregate`, а сборка индекса атомарная и пропускается, если данные не менялись. К агенту Leviathan подключается тремя путями. Скилл `skills/leviathan` кладется в `~/.claude/skills/` или вставляется в `AGENTS.md`. Команда `leviathan mcp` запускает MCP-сервер из пяти инструментов только для чтения, а `leviathan wrap <агент>` печатает или записывает конфиг для 24 агентов. Отдельный режим памяти хранит утверждения по ключу и отдает при запросе только то, что влезает в бюджет токенов.

Для кого. Тем, кто отдает агенту большие выгрузки: тикеты поддержки, заказы, журналы обслуживания, историю чатов, и не хочет, чтобы агент читал их целиком.

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

  • Агент ищет по выгрузке тикетов в формате CSV, и поиск через grep съедает контекст за одну сессию
  • В базе SQLite или Postgres накопилась история клиента, и по ней задают вопросы словами, без запросов SQL
  • Агенту нужны точные счетчики и суммы по месяцам, без оценки на глаз по первым страницам выдачи
  • Файл MEMORY.md разросся, и при старте сессии в контекст попадают устаревшие записи
  • Один индекс должен обслуживать сразу Claude Code, Cursor и Codex, не копируя данные между ними

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

  • Данных немного и они помещаются в контекст: индекс добавит лишний шаг без выигрыша
  • Нужен семантический поиск по смыслу: Leviathan ранжирует по BM25 и совпадению слов
  • Нужна живая запись в рабочую базу: индекс только читает копию данных, а запись возможна лишь в его собственный файл
  • Данные нельзя копировать даже локально: индекс создает отдельный файл со всем содержимым

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

Найди через leviathan в клиенте Acme тикеты про петлю входа после смены пароля и покажи решение из закрытого.

Ограничения

Цифры в 436 токенов и 245-кратной экономии получены на одном синтетическом журнале обслуживания, на ваших данных результат будет другим. Методику автор вынес в docs/BENCHMARKS.md.

Индекс лежит в одном файле SQLite и содержит копию данных. Если в выгрузке есть персональные сведения, файл нужно хранить так же бережно, как исходник. Сборка из базы идет через ее консольный клиент, учетные данные Leviathan не хранит.

Режим `leviathan serve --http` открывает инструменты по сети. Его включайте только с токеном или OAuth, как описано в docs/REMOTE.md. Установка через `cargo install` требует Rust 1.88 или новее, готовые бинарники лежат в релизах.

Как отключить. Удалите скилл из `~/.claude/skills/`, блок MCP из конфига агента и файл индекса. Бинарник снимается командой `cargo uninstall leviathan-index`.

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

Какие форматы данных принимает Leviathan?

JSONL, JSON, CSV, TSV и SQLite. Любую другую базу подключают через ее консольный клиент, выводя строки JSON в `leviathan index -`.

Нужен ли MCP, чтобы пользоваться инструментом?

Нет. Агент с доступом к оболочке вызывает CLI напрямую, а скилл занимает токены только в момент использования. MCP включается командой `leviathan mcp` по желанию.

Как подключить Leviathan к Claude Code?

Скопируйте `skills/leviathan` в `~/.claude/skills/` или выполните `leviathan wrap claude --apply`, чтобы записать конфиг MCP.

Что делает режим памяти?

Агент записывает утверждения командой `remember` с ключом, и новая запись заменяет старую по тому же ключу. При старте сессии выдается короткая сводка, а `recall` отдает только то, что влезает в бюджет.

Что будет, если группа указана неоднозначно?

Команда выведет кандидатов и завершится с кодом 3. Угадывать клиента Leviathan не станет.

Обсуждение

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

Графовая база Cypher в одном бинарнике для агентов: CLI, встроенный движок, сервер с MCP и навык для Claude Code, Cursor и Codex.

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

Терминальный клиент баз данных на Rust с MCP и JSON CLI: агент читает схему и запускает запросы с правами профиля.

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

Графовая база с ветвями как в git: сервер отдает ее агентам по MCP на /mcp, а встроенный скилл учит агента схемам, запросам и политикам

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

CLI для десятков баз данных с режимом для агентов: JSON на выходе, режим только для чтения, лимиты и брокер, скрывающий пароли

CLIШирокий доступ92Звезды репозитория

CLI-агент для исследований в количественных инвестициях: читает брокерские отчеты, придумывает факторы и считает IC.

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

Локальный MCP-сервер, который превращает папку с документами в базу знаний с гибридным поиском для Claude Code и Cursor

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

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

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

ИнструментОфициальныйАвторизацияЗвезды репозиторияГлавное отличие
Leviathan (эта карточка)нет882
Mem0нет68 887Mem0 хранит память агента как сервис, а Leviathan прежде всего индексирует ваши таблицы и выгрузки.
QMDнетне нужна31 078QMD ищет по заметкам и документам, а Leviathan работает с таблицами, логами и записями с группами и фильтрами.

Коротко о README

Один бинарник на Rust под лицензией Apache-2.0 без зависимостей на время работы. В документации результаты тестов на шести размерах набора данных, быстрый старт на примере тикетов, таблица команд и коды выхода. Отдельные разделы посвящены подключению к агентам, удаленному серверу и памяти.

Бейдж для README

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