Leviathan CLI
Один бинарник строит поисковый индекс по таблицам и логам, и агент получает в ответ несколько записей вместо сырой истории
- 882 ★ репозитория
- Последний коммит
- Apache-2.0
Расширенный доступ
Почему такой уровень
- Индекс делает полную копию данных в локальный файл, а режим HTTP открывает инструменты по сети.
Установка
- Работает в
В терминале, через 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 не станет.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыГрафовая база Cypher в одном бинарнике для агентов: CLI, встроенный движок, сервер с MCP и навык для Claude Code, Cursor и Codex.
Терминальный клиент баз данных на Rust с MCP и JSON CLI: агент читает схему и запускает запросы с правами профиля.
Графовая база с ветвями как в git: сервер отдает ее агентам по MCP на /mcp, а встроенный скилл учит агента схемам, запросам и политикам
CLI для десятков баз данных с режимом для агентов: JSON на выходе, режим только для чтения, лимиты и брокер, скрывающий пароли
CLI-агент для исследований в количественных инвестициях: читает брокерские отчеты, придумывает факторы и считает IC.
Локальный MCP-сервер, который превращает папку с документами в базу знаний с гибридным поиском для Claude Code и Cursor
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Авторизация | Звезды репозитория | Главное отличие |
|---|---|---|---|---|
| Leviathan (эта карточка) | нет | 882 | ||
| Mem0 | нет | 68 887 | Mem0 хранит память агента как сервис, а Leviathan прежде всего индексирует ваши таблицы и выгрузки. | |
| QMD | нет | не нужна | 31 078 | QMD ищет по заметкам и документам, а Leviathan работает с таблицами, логами и записями с группами и фильтрами. |
Коротко о README
Один бинарник на Rust под лицензией Apache-2.0 без зависимостей на время работы. В документации результаты тестов на шести размерах набора данных, быстрый старт на примере тикетов, таблица команд и коды выхода. Отдельные разделы посвящены подключению к агентам, удаленному серверу и памяти.