caveman

by JuliusBrussee (community) · Claude Code, OpenCode, любой агент с поддержкой кастомных инструкций

Skill AI Assistants Open Source v2.7.0 · 15.09.2026 активный

Инструкционный файл для AI-агентов, который заставляет модель писать код и объяснения предельно упрощённым «телеграфным» языком — без вводных слов и воды. Экономит токены и деньги на каждом запросе: в независимых замерах даёт заметное сокращение стоимости и длины ответов без потери точности.

v2.7.0
15.09.2026 current

Установка
# Claude Code (CLI):
npx skills add JuliusBrussee/caveman -g

# Ручная установка (любой агент):
git clone https://github.com/JuliusBrussee/caveman.git
# скопировать SKILL.md в директорию инструкций вашего агента

# OpenCode — ~/.config/opencode/opencode.json:
# добавить путь к SKILL.md в секцию instructions/rules
показать оригинал переведено ИИ

Caveman

почему использовать много токенов, если несколько справятся

Ваш AI-кодинговый агент выставляет счёт за каждое слово и пишет так, будто знает, что это важно. Caveman заставит его прекратить.

ThePrimeagen reacts to Caveman: No way this actually works

▶️ Реакция ThePrimeagen: "Ни за что это работает на самом деле"

GitHub stars npm downloads middleware on npm middleware on PyPI 30+ agents 10 native wrap profiles License skills.sh

🏆 #1 в GitHub Trending · Июль 2026  ·  🥇 #1 Репозиторий дня на Trendshift · Апрель 2026

#1 на Hacker News · 904 очка · 366 комментариев  ·  #8 Продукт дня на Product Hunt

📄 Упомянуто в CAVEWOMAN, исследовательской работе Adobe, где измерялось, что стиль "кавеман" снижает затраты на 1,4–2,4 раза, до 3 раз  ·  🧪 Тестировалось JetBrains на 86 реальных задачах программирования: "качество не страдает измеримо"

Caveman - why use many token when few do trick | Product Hunt JuliusBrussee%2Fcaveman | Trendshift

⚡ Одна команда, без аккаунта, без API-ключа. npx skills add JuliusBrussee/caveman -g → Быстрый старт


Посмотреть · Быстрый старт · Цифры · Сравнение · В дикой природе · Скилл · Прокси · Обёртка · Ваше приложение · Когда пропускать · Документация


🪨 Посмотреть

🗣️ Обычный агент · 69 токенов Агент-кавеман · 19 токенов
> Причина, по которой ваш компонент React перерисуется, вероятно, в том, что вы создаёте новый объект ссылок на каждом цикле рендеринга. Когда вы передаёте объект встроенно как пропс, React выполняет поверхностное сравнение и видит его как новый объект каждый раз, что приводит к перерисовке. Я бы рекомендовал использовать `useMemo`, чтобы закешировать объект. > Новый объект ссылок на каждом рендере. Встроенный объект пропс = новая ссылка = перерисовка. Обёртка в `useMemo`.

Тот же диагноз. То же решение. То же useMemo. Единственное, что умерло, — это лишние слова.

Код, команды, пути к файлам и точные сообщения об ошибках никогда не становятся "кавеманскими". Изменяется только проза вокруг них. Предупреждения о безопасности и подтверждения типа "вы уверены?" возвращаются полными предложениями, а затем кавеман продолжает работу.

Кавеман не делает мозг меньше. Кавеман делает рот меньше.

Половина удовольствия в том, что ваш агент говорит, будто только что открыл огонь. Другая половина в том, что он всё равно прав.


🌍 Зачем это существует

Токен — это то, за что AI-сервисы берут плату, примерно три четверти слова. Ваш агент платит за каждый токен, который он пишет, и за каждый токен, который он читает. Большинство агентов пишут как в сопроводительном письме и читают как из шланга.

Кавеман решает обе проблемы: в агенте, который вы запускаете, и в том, который вы создаёте:

  • Скилл уменьшает то, что агент говорит. Один файл правил. Бесплатно навсегда. Работает в 30+ агентах.
  • Прокси уменьшает то, что агент читает: логи, вывод тестов, JSON, диффы, результаты поиска. Запускается на вашем компьютере. Каждый сжатый байт сохраняется в резервной копии, чтобы агент всегда мог вернуть оригинал.
  • Промежуточное ПО делает то же самое внутри вашего собственного кода: одна обёртка вокруг вызова LangChain, Vercel AI SDK, OpenAI или Anthropic, который вы уже делаете. Результаты инструментов сжимаются до того, как модель их увидит, оригинал остаётся в истории, а модель может запросить его обратно.

Началось как шутка в пятницу апреля 2026 года. Набрало 4000 звёзд за неделю. Теперь более 100 000, с исследовательской работой, тестом JetBrains и видео-реакцией Primeagen. Шутка стала серьёзной. Голос — нет.


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

Кавеман бывает двух размеров. Начните с малого.

Маленький камень: скилл

Файл правил, который заставляет вашего агента отвечать на манер кавемана. Лицензия MIT, бесплатно навсегда, работает в 30+ агентах (Claude Code, Codex, Gemini, Cursor, Windsurf, Cline, Copilot и др.). Одна команда:

npx skills add JuliusBrussee/caveman -g
```>

Наберите `/caveman`, если ваш агент не активируется сам. Это вся установка. Один камень.

### Большой камень: прокси
---
Работает на вашем устройстве между вашим агентом и поставщиком ИИ, уменьшая то, что агент *читает* перед каждым вызовом. MIT CLI, BSL-1.1 для времени выполнения:

```bash
npm install -g @caveman-ai/cli && caveman setup --install
caveman claude        # or codex · gemini · aider · kilo · qwen · opencode · hermes · openclaw · pi

Ваше собственное приложение: промежуточное ПО

Строите агента на коде вместо запуска в терминале? Та же самая оптимизация, обёртка вокруг вызова, который вы уже делаете. MIT-клиент, альфа-версия на сегодня:

npm install @caveman-ai/middleware @caveman-ai/sdk        # TypeScript, plus your framework (ai, openai, …)
pip install 'caveman-middleware[langchain]' caveman-sdk   # Python 3.13+, swap the extra for your framework

Шесть строк кода и локальное время выполнения. Полное руководство ниже.

Они накладываются друг на друга. Большинство начинают с маленького камня и переходят к большему.

Другие входы в пещеру · полный инсталлятор, Windows, одиночные агенты, деинсталляция


Полный инсталлятор подключает хуки для Claude Code и строку состояния, находит все поддерживаемые агенты на вашем устройстве и пропускает те, которые у вас нет. Безопасно перезапускать. Требуется Node.js 22.13+.

curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.7.0/install.sh | bash

Windows, PowerShell 5.1+:

irm https://raw.githubusercontent.com/JuliusBrussee/caveman/v2.7.0/install.ps1 | iex

Просто один агент:

# Claude Code
claude plugin marketplace add JuliusBrussee/caveman && claude plugin install caveman@caveman

# Gemini CLI
gemini extensions install https://github.com/JuliusBrussee/caveman

# Oh My Pi (OMP)
npx -y github:JuliusBrussee/caveman -- --only omp

# Qwen Code CLI, then its Caveman wrapper
npm i -g @qwen-code/qwen-code
caveman qwen

# Codex, Cursor, Windsurf, Cline, and other skills-compatible agents
npx skills add JuliusBrussee/caveman --skill '*' -a codex --yes -g  # replace codex with your agent profile

Установка сломалась? Откройте вашего агента в этом репозитории и скажите: "Прочитайте CLAUDE.md и INSTALL.md, установи caveman для меня." Агент прочитает репозиторий, агент починит свой собственный "мозг". Змея съедает хвост.

Передумали: npx -y github:JuliusBrussee/caveman -- --uninstall

Полная матрица из 30+ агентов, пробные запуски, флаги и верификация доступны в INSTALL.md.

⏰ Первые пять минут

Маленький камень. Навык, сразу после npx skills add:

  1. Задайте вопрос. Любой вопрос по кодированию. Посмотрите, как исчезает преамбула, а ответ остаётся.
  2. Регулируйте настройки. /caveman lite для лаконичного, но вежливого. /caveman ultra для лаконичного. /caveman wenyan для классического китайского, потому что кто-то спросил.
  3. Фиксируйте коммиты как пещерный человек. /caveman-commit пишет коммит по конвенции за одну строку.
  4. Проверяйте как пещерный человек. /caveman-review выдаёт одно наблюдение на строку: L42: 🔴 null deref. Защитите это.
  5. Сжимайте файлы памяти. /caveman-compress CLAUDE.md обрезает текст, сохраняет все заголовки, пути и команды, а оригинал резервирует.
  6. Вернитесь домой. Скажите stop caveman. Возвращается нормальный текст. Никаких обид.

Большой камень. Прокси, сразу после npm install -g @caveman-ai/cli:

  1. Узнайте, куда уходят ваши токены. caveman learn читает месяцы истории агента, уже находящиеся на вашем диске локально, и ранжирует ваши "стоки" токенов по убыванию с однострочным исправлением за каждым. Сделайте это перед всем остальным. Это самые полезные пять минут в этом README.
  2. Позвольте ему исправить их. caveman learn implement передаёт каждое исправление Claude Code или Codex по одному диффу за раз, применяемому только по вашему "да", и отменяет всё, что не снизило токены за ход.
  3. Обёртывайте вашего агента. caveman claude (или codex, gemini, aider, opencode, pi, …) ставит прокси перед ним. Логи, вывод тестов, JSON и диффы сжимаются до того, как поставщик их увидит. Оригиналы остаются на диске, и агент может вернуть любой из них обратно.
  4. Сжимайте шумные данные. caveman shrink -- pnpm test сжимает вывод команды. caveman browse <url> даёт агенту сжатый вид веб-страницы вместо дампа доступности в 15 000 токенов.
  5. Докажите на своей работе. caveman trial -- claude запускает реальную сессию с и без caveman, затем caveman trial report показывает разницу. Этот A/B перекрывает все числа на этой странице. Для теста нужен свой прокси, поэтому если вы уже выполнили шаг 3, он скажет вам сначала запустить caveman disable claude, а затем caveman enable claude после. Caveman лучше сказать "не могу измерить это", чем выдать отчёт, полный нулей.
  6. Сжимайте самого caveman. caveman convert --dry-run показывает, какие установленные навыки становятся дешевле как PNG-страницы, которые модель читает как изображение. Преобразуйте прибыльные, откатитесь байт в байт в любое время.
  7. Наблюдайте за счётом. caveman stats для истории и оценок. /caveman-stats внутри Claude Code для этой сессии.

📊 Цифры

Каждое число ниже либо из зафиксированного запуска в этом репозитории, либо от названного третьего лица. Ничего округлённого вверх. Где число маленькое, об этом сказано. Где строка красная, она остаётся красной.

Что экономит навык (писать меньше)

Кто измерял Что измеряли Результат
Adobe Research (CAVEWOMAN, arXiv 2606.24083) Восемь моделей, пять наборов данных, пять уровней сжатия Стиль caveman на стороне вывода сокращает реальные затраты в 1.4–2.4 раза на модель, до 3× в лучшем случае
JetBrains 86 реальных задач по кодированию, парный A/B, Claude Code 2.1.200. Только навык, без прокси (июль 2026, до появления прокси) На 8.5% меньше токенов в выводе, примерно на 10% затрат. Нет обнаруживаемых изменений качества (тест знаков p = 0.82)
Этот репозиторий (зафиксированный снимок оценки) Десять вопросов для разработчиков, навык против простого Answer concisely. (контроль), claude-opus-4-6 На 50% меньше токенов в выводе в медиане поверх лаконичного контроля. Только длина, не корректность
Прочтите эти три документа вместе, и вы получите честную картину. Диалог в стиле чата: большой отсев. Сессии кодирования с агентным подходом, где большинство токенов — это код и вызовы инструментов, к которым навык не прикасается: высокие однозначные цифры на выходе, качество на прежнем уровне.

Число от JetBrains — причина существования прокси. Они измерили навык в одиночку в июле 2026 года, до выхода прокси. Их вывод заключался в том, что счет агента состоит mostly из чтения, а не написания, и никакой стиль общения это не исправит. Поэтому мы создали инструмент, который сокращает чтение. Таблица ниже — то, что это изменило.

Другое открытие из статьи Adobe также важно: сжатие промпта человека в "язык пещерного человека" заставляет модели отвечать длиннее и хуже. Caveman никогда не переписывает ваши промпты. Только "рот" агента.

Правила добавляют токены на каждом вызове, и окупается ли более короткий вывод зависит от вашего агента, кэширования и тарификации. Полный расчет: docs/HONEST-NUMBERS.md.

Ни один проверенный результат бенчмарка API пока не опубликован здесь. Запустите uv run python benchmarks/run.py, чтобы сгенерировать новый результат, затем проверьте сырые пары ответов и качество перед публикацией сгенерированной таблицы.

Что сохраняет прокси (меньше чтения)

Ваш агент перечитывает логи, вывод тестов, диффы и половину вашего репозитория весь день. Прокси сжимает этот поток до того, как он достигнет провайдера. Зафиксированный бенчмарк Claude Code на 54 запусках, токены ввода по данным провайдера, три запуска на каждый случай, каждый ответ проверен против точного оракула:

Случай Прямой Claude Code Через caveman Изменение
Поиск выбросов в CSV 165,823 74,484 -55.1%
Игла в стоге сеней (логи) 148,807 74,068 -50.2%
Дрейф конфигурации YAML 132,124 71,027 -46.2%
Сбой в выводе тестов 150,377 108,514 -27.8%
Дрейф JSON при деплое 147,975 108,939 -26.4%
Предупреждение HTML дашборда 140,687 154,641 +9.9%
Итого 885,793 591,673 -33.2%

18 из 18 проверок ответов прошли. Интервал доверия 95% для кластеров случаев: 14.6% до 48.5%. В том же наборе Headroom сэкономил 6.7% и провалил 3 из 18 проверок. Метод, хеши происхождения и лимиты: docs/WRAP-BENCHMARK.md. Сырые артефакты harness не включены в этот чек-аут, поэтому рассматривайте это как зафиксированный отчет, а не публичную воспроизводимость.

Примечание от maintainer. Строка с HTML остается красной, и так и будет. В этом случае не применялось сжатие, поэтому caveman оплатил собственные накладные расходы и ничего не выиграл. День, когда я скрою красную строку, — это день, когда вы должны перестать доверять зеленым.

Все, что еще сжимает caveman

Поле применения Измерено Значение
Страницы браузера Фокусированный вопрос к таблице из 200 строк против снимка Playwright ARIA 121 токен против 15,704. В 129,8 раз меньше. Маленькие формы теряют 2,3×; об этом говорит бенчмарк
Файлы в памяти (/caveman-compress) Пять реальных фикстур в стиле CLAUDE.md В среднем на 46% меньше, заголовки, код, пути и URL проверены на целостность
Сам навык (режим пикселей) Визуализация в PNG-страницы, которые модель читает как изображение С 1,069 до 415 оцененных токенов, сокращение на 61%
Префикс вашего harness (subagent-tax) То, что каждый суб-агент пересылает перед любой работой На одном реальном устройстве 219K из 267K-символьного запроса были схемами инструментов. Запустите на своем

🧮 Как это сравнивается

Многие инструменты в долине обещают экономию токенов. Они работают на разных уровнях, поэтому сначала — что каждый из них затрагивает, а затем — что было измерено. Каждая цитата ниже взята из README или страницы GitHub этого инструмента на 2026-09-19.

Что затрагивает каждый инструмент

Инструмент Что сжимает Можно вернуть оригинал? Отправляет данные домой
Caveman Что агент говорит (навык) и что он читает: вывод инструментов, логи, JSON, диффы, вывод тестов, веб-страницы (прокси) Всегда. Байт-в-байт оригинал в локальной SQLite, одна ручка для восстановления CLI: анонимные подсчеты включены по умолчанию, caveman telemetry off. Навык и хуки: никогда
RTK Только вывод команд оболочки: ls, cat, grep, git, запуск тестов. Вызовы инструментов Read и Grep обходят его Если команда завершилась с ошибкой или была обрезана, или по опции для успешных запусков Выключено по умолчанию, опция включения
Headroom Вывод инструментов, логи, файлы и история через локальный прокси Да, обратимый кэш Включено по умолчанию, HEADROOM_BEACON=off
context-mode Вывод инструментов, запускается в песочнице, чтобы сырые данные никогда не попадали в контекст Соответствующие разделы из поискового индекса, но не весь оригинал Никогда
pxpipe Текстовый контекст, перерендеривается в изображения, которые модель читает Нет. "Это потери." Промахи молчаливы Только локальный лог
### Что написано на банке и кто проверял
Инструмент Что написано на банке Кто проверял, на чём Результат
Caveman Только то, что измеряет эта страница Этот репозиторий, закреплённая коллекция из 54 запусков Claude Code, каждая ответ проверена против известного правильного ответа 33.2% меньше входных токенов, 18/18 ответов правильных
Caveman, только навык JetBrains, 86 реальных задач по программированию, парное A/B-тестирование 8.5% меньше выходных токенов, качество без изменений (тест знаков p = 0.82)
RTK "Сокращает до 90% выход bash, который читает ваш агент". В их README добавлено: "это не то же самое, что сократить счёт на 90%" JetBrains, та же лаборатория, тот же метод, 86 задач, 425 оплаченных тестов +7.6% медианная стоимость на задачу при низких затратах на рассуждение (p = 0.004), +0.1% при высоких. Качество ничья
Headroom "На 20% меньше токенов для агентов-кодировщиков, на 60–95% меньше токенов для JSON" Этот репозиторий, та же коллекция из 54 запусков, как выше 6.7% меньше входных токенов, 15/18 ответов правильных
context-mode "315 КБ становится 5.4 КБ. Сокращение на 98%." Только собственные данные по размеру. Нет опубликованной проверки качества —
pxpipe "~59–70% более низкая итоговая стоимость" Собственные запуски на SWE-bench Lite: 10/10 в обоих случаях. Pro: 14/19 с, 15/19 без, и их перезапуск одного разбиения говорит о вариативности от запуска к запуску

Одинаковая коллекция, одна и та же модель, одни и те же вопросы

Единственное место, где два из этих инструментов запускались бок о бок против одних и тех же известных правильных ответов. Claude Code 2.1.223, claude-sonnet-5, Headroom 0.33.0, шесть нагрузочных тестов в форме агентов, по три запуска каждого, токены на входе по данным провайдера:

Вариант Правильные ответы Токены на входе от провайдера vs прямой вызов 95% интервал
Прямой вызов Claude Code 18/18 885,793 базовый уровень
Caveman wrap + skill 18/18 591,673 -33.2% 14.6% до 48.5%
Headroom wrap 15/18 703,202 на 15 правильных запусках -6.7% на этих 15 -0.7% до 17.9%

Caveman использовал меньше токенов в 15 из 18 парных запусков. 703,202 токенов Headroom покрывают только 15 запусков, где он дал правильные ответы, поэтому его 6.7% рассчитано именно против этих 15 прямых запусков, а не против общего числа 885,793. Три неудачных запуска с YAML остаются в таблице, но не учитываются. Красная строка Caveman (HTML +9.9%) находится в таблице по отдельным случаям выше и остаётся красной. Мы сами проводили этот тест, и сырые артефакты harness пока не опубликованы, поэтому это закреплённый отчёт, а не то, что можно перезапустить из этого репозитория. Методология и хеши: docs/WRAP-BENCHMARK.md.

RTK, context-mode и pxpipe не участвовали в этом тесте. RTK переписывает вывод оболочки, а в этой коллекции данные передаются агенту через вызов инструмента, а не через оболочку, поэтому RTK остался бы без дела. Разные слои, разные тесты. Что касается остальных, то всё честно: телеметрия RTK — по умолчанию отключена, наша — включена, context-mode никуда ничего не отправляет, а pxpipe тестировался на SWE-bench, где мы не проводили тестов. Сравнивайте их по своему усмотрению. В README Headroom упоминается caveman как инструмент, который они с удовольствием запускают за собой.


📣 В дикой природе

**ThePrimeagen** · *"Никак не думаю, что это действительно работает"*
[Полная реакция на The PrimeTime →](https://www.youtube.com/watch?v=L29q2LRiMRc) **Adobe Research** · [CAVEWOMAN: Как большие языковые модели ведут себя при сжатии входных и выходных данных](https://arxiv.org/abs/2606.24083)
Adeyemi, Rossi, Dernoncourt · arXiv, июнь 2026 г. · ссылается на этот репозиторий. Этот стиль теперь стал эталонным регистром. **JetBrains** · [Общение с ИИ-агентами на языке "пещерного человека" экономит 65% токенов. Мы проверили.](https://blog.jetbrains.com/ai/2026/07/speak-to-ai-agents-like-cavemen-tosave-tokens/)
Самое строгое внешнее A/B-тестирование на данный момент, проведённое только на навыке до появления прокси. Их вердикт: *"Используйте, если вам нравится. Это весело, и это не ухудшает качество измеримым образом."* Их 8.5% — это число, которое заставило нас создать прокси.
**Hacker News** · [#1, 904 очка, 366 комментариев](https://news.ycombinator.com/item?id=47647455) **The New Stack** · [Перевод Claude Code на "пещерный язык" может не сэкономить столько токенов, сколько вы думаете](https://thenewstack.io/caveman-mode-token-savings/)
Справедливый заголовок. Мы всё равно ссылаемся на него. См. [Числа](#-the-numbers). **GitHub Trending** · #1 в общем рейтинге, июль 2026
**Trendshift** · #1 Репозиторий дня (апрель 2026) · #1 JavaScript-репозиторий месяца (апрель) · #1 Go-репозиторий месяца (июль) **Product Hunt** · #8 Продукт дня

Star History Chart

💬 Навык, разобранный по частям

Один файл правил, один стиль общения, плюс небольшой набор инструментов. Команды /caveman lite|full|ultra|wenyan-lite|wenyan-full|wenyan-ultra устанавливают интенсивность. /caveman off или normal mode отключает его.

Уровень Один и тот же вопрос: "Почему мой компонент React перерисовывается?"
lite Ваш компонент перерисовывается, потому что вы создаёте новый объект при каждом рендере. Обёрните его в useMemo.
full (по умолчанию) Новый объект при каждом рендере. Встроенный объект в пропсах = новый объект = перерисовка. Обёрните в useMemo.
ultra Встроенный объект в пропсах, новый объект, перерисовка. Используйте useMemo.
wenyan-full 每繪新生對象參照,故重繪;以 useMemo 包之則免。

Три вещи, которые навык никогда не сделает: сократить ваш код, перефразировать сообщение об ошибке или игнорировать предупреждение о безопасности. Он переходит к полным предложениям для всего, что необратимо, а затем снова поднимает "клуб" (возвращается к сокращённому стилю).

Всё, что в наборе · сообщения коммитов, ревью, подагенты, рабочие паттерны


Инструмент / команда Что вы получаете
/caveman [lite\|full\|ultra\|wenyan-lite\|wenyan-full\|wenyan-ultra\|off] Краткие ответы с интенсивностью по вашему выбору.
cavecrew-investigator, cavecrew-builder, cavecrew-reviewer Сжатые настройки подагентов для поиска, редактирования и ревью кода.
/caveman-commit Лаконичные сообщения коммитов по конвенции.
/caveman-review Однострочные, действенные находки для ревью.
/caveman-compress <file> Более компактные файлы Markdown с сохранением оригиналов.
/caveman-stats Записанное использование токенов Claude Code; экономия неизвестна без измеренного сравнения.
/caveman-help Напоминание на один экран о всех режимах и командах.
investigate-first, lean-build, surgical-patch, safe-refactor, migration, verify-and-stop Рабочие паттерны, которые пишут меньше кода, чтобы агент начислял меньше токенов. Ваш агент сам выбирает их при подходящей задаче.
/caveman-setup, /caveman-discover, /caveman-learn, /caveman-manage, /caveman-optimize, /caveman-explore, /caveman-evidence-review Управление движком caveman и прокси: настройка, поиск расхода токенов, действия на основе найденного.

🔧 Прокси, разобранный по частям

Один локальный процесс. Ваш агент общается с ним, а он — с вашим провайдером. Никакого сервера Caveman в цепочке, и ваш логин Claude Pro/Max передаётся в Anthropic без изменений. Оригиналы всего, что сжимается, хранятся в SQLite-файле на вашем устройстве с возможностью восстановления, так что агент всегда может запросить полную версию обратно.

 Your agent  (Claude Code · Codex · Gemini · Aider · opencode · Pi · …)
      │   tool output · logs · JSON · diffs · search results
      ▼
 ┌────────────────────────────────────────────────────┐
 │  caveman proxy   (your machine, your keys)          │
 │  detect() → json · log · code · diff · search · text│
 │  originals → local SQLite, recovery handle returned │
 └────────────────────────────────────────────────────┘
      │   smaller prompt, same answer
      ▼
 Your provider  (Anthropic · OpenAI · Google · Bedrock · Vertex · Azure · OpenRouter)

Весь коллектив? Один контейнер. Одинаковый прокси в вашем VPC, один общий токен, ключи остаются на сервере. Развернуть →

Terminal demo: caveman compress reads a large JSON payload and emits a much smaller compressed version, byte-exact recoverable

Что движок сохраняет по типу полезной нагрузки · и диаграмма стека обёртки


coding agent talks to a local caveman proxy that forwards upstream to the provider with auth passed through byte-exact; a CCR store below the proxy keeps the original bytes and returns a recovery handle to the agent; an MCP toolkit side-channel gives the agent caveman_retrieve, toon encode/decode, and browse

detect() определяет тип каждого пакета данных и направляет его в компрессор, который сохраняет то, на чём зависят ответы:

Определённый тип Сохраняет Экономия целей
json ключи, структура, поддеревья ошибок/сообщений; свёртывает повторяющиеся массивы 70-90%
log ошибки, трассировки стека, первые/последние строки; отбрасывает INFO и шум прогресса 85-95%
code импорты, сигнатуры, типы; опускает тела функций, синтаксис остаётся корректным 40-70%
diff заголовки файлов/кусков и изменённые строки; опускает повторяющийся контекст 60-80%
search-result верхние/нижние совпадения плюс диагностические/безопасные совпадения 80-95%
text / HTML заголовки, открывающий/закрывающий контекст, важные разделы 50-80%

contextwindow.Pack() дополнительно подгоняет кандидатный контекст под бюджет токенов по релевантности BM25, актуальности и сигналу ошибки, возвращая в исходном порядке, чтобы хронология сохранилась.

Любой хост MCP получает те же возможности через пять инструментов: caveman_compress, caveman_retrieve, caveman_stats, caveman_toon_encode, caveman_toon_decode.

Куда уходят ваши токены

Месяцы истории вашего агента уже лежат на вашем диске. caveman learn считывает их локально, в режиме только для чтения, без аккаунта, и ранжирует ваши "стоки" токенов по принципу "худшие сначала", с однострочным исправлением за каждым.

caveman learn             # Claude Code + Codex + Gemini CLI + opencode; aider via CAVEMAN_AIDER_ROOT
caveman learn implement   # hand the fixes to Claude Code or Codex, one diff at a time, applied only on your yes

Caveman Learn report: TLDR summary and savings cards on the left; ranked token sinks with an expanded fix and a session context depth histogram on the right

implement переизмеряет после каждого изменения и откатывает всё, что не снизило количество токенов за ход. Caveman никогда не делает вашего агента глупее, чтобы сделать его дешевле.

Дополнительные команды

caveman explore install         # read-only FastContext subagent: finds code as path:line
caveman shrink -- pnpm test     # compress noisy command output, byte-exact recoverable
caveman browse <url>            # local Chrome over a compressed a11y tree
caveman mem remember|recall     # durable memory; `mem recover <handle>` = original bytes
caveman trial -- claude         # A/B a real session, then `trial report` (needs `disable` first)
caveman toon encode|decode      # the TOON re-encoder, standalone
caveman stats                   # token history, API estimates, subscription equivalents

Режим пикселей

Caveman "пожирает свой хвост". Каждый навык, который вы устанавливаете, становится текстом подсказки, который агент перезагружает при каждом вызове. caveman convert рендерит тело навыка в PNG-страницы на месте, и модель читает их как изображения. На навыке caveman: с 1,069 до 415 оценённых токенов, сокращение на 61%.

caveman convert --dry-run        # every installed skill, with the token math, no writes
caveman convert --agent claude   # convert the profitable ones
caveman convert --revert         # byte-identical restore from SKILL.orig.md

Конвертация срабатывает только тогда, когда страницы превосходят текст. Любая ошибка оставляет навык байт-в-байт идентичным и называет ворота, которые сказали "нет".

Обёртка для любого агента

caveman <agent> включает прокси навсегда и запускает агента. caveman wrap <agent> запускает одну сессию и не оставляет следов. Он никогда не редактирует ваши файлы конфигурации.

В управляемом режиме обёртка также отправляет репозиторий (владелец/имя на github.com) и текущую ветку как x-cave-tags, чтобы Cloud мог связать расходы сессии с изменением, которое она доставила. Имена веток могут нести имя человека; если это неприемлемо, запустите вне чек-аута или задайте свои собственные x-cave-tags в ANTHROPIC_CUSTOM_HEADERS, и обёртка сохранит их.

Агент Поставщик Как обёртывается
Claude Code Anthropic переменные окружения
OpenAI Codex CLI OpenAI переменные окружения (API-ключ) · эфемерный CODEX_HOME (авторизация ChatGPT)
Gemini CLI Google переменные окружения
Aider OpenAI/Anthropic переменные окружения
Kilo Code Kilo Code KILO_CONFIG_CONTENT, ваш kilo.json остаётся нетронутым
Qwen Code QwenLM эфемерный наложенный системный конфиг, исходные настройки нетронуты
opencode sst встроенный конфиг через переменные окружения, ваш opencode.json нетронут
Hermes Agent Nous Research --provider custom + переменные окружения
OpenClaw OpenClaw эфемерный объединённый конфиг, ваш конфиг только для чтения
Pi pi.dev встроенное расширение, ваш конфиг ~/.pi нетронут

Мелкий шрифт · протестированные версии, стандартная комплектация, рецепты SDK


Тестировалось на реальных сессиях с Hermes v0.18.0, OpenClaw 2026.6.11, Pi 0.84.2, Kilo Code 7.5.6 (CLI, а не расширение редактора), и Qwen Code 0.22.3. Постоянные сокращения фиксируются и обратимы с помощью caveman disable <agent>.

OpenClaw, к слову, — это омар. Клешня омара всё ещё остра. Рот омара теперь маленький.

По умолчанию обёртка передаёт агенту пять инструментов MCP, сервер для просмотра (когда Chrome разрешается), сжатие вывода команд для Claude, opencode, Gemini, Hermes и OpenClaw, а также режим пикселей при установке новых навыков. Codex пропускает крючок сжатия, так как его runtime отклоняет перезапись (openai/codex#18491). Отключите отдельные компоненты в ~/.caveman-cloud/config.json.

Агента нет в списке или вы разрабатываете свой? Обёрните один вызов нативно с помощью middleware, или направьте любой SDK поставщика или фреймворк (Vercel AI SDK, LangChain, LiteLLM, OpenAI Agents, CrewAI, PydanticAI) на локальный прокси с заменой baseURL: integrations/recipes/. Новый нативный агент обычно — это один профиль JSON в agents/profiles/.

🧩 Caveman в вашем приложении

Прокси уменьшает объем информации, которую читает кодирующий агент. Мидлвар (промежуточное ПО) делает то же самое для агента, который вы строите, в используемом вами фреймворке. Одна обертка для одного вызова. Перед каждым запросом провайдеру он заменяет большие результаты инструментов на сокращенную копию и передает модели инструмент caveman_retrieve, чтобы модель могла прочитать оригинал обратно, если сокращенная версия недостаточна. История вашего диалога сохраняет каждый оригинальный байт. Ваш провайдер, ваш клиент, ваши повторные попытки, ваш стриминг — остаются без изменений.

TypeScript (показан SDK Vercel AI):

+import { createMiddlewareRuntime } from "@caveman-ai/sdk/middleware";
+import { withCaveman } from "@caveman-ai/middleware/ai-sdk";
+
+const runtime = createMiddlewareRuntime({ endpoint: "http://127.0.0.1:8787", mode: "compress" });
+const scope = { namespace: "support", session_id: conversationId, branch_id: "main", cache_epoch: "0" };
+
-const result = streamText(options);
+const result = streamText(withCaveman(options, { runtime, scope }));

Python (показан LangChain):

+from caveman_cloud.middleware import MiddlewareRuntime, Scope
+from caveman_middleware.langchain import with_caveman_agent
+
+runtime = MiddlewareRuntime(endpoint="http://127.0.0.1:8787", mode="compress")
+scope = Scope("support", conversation_id, "main", "0")
+
-agent = create_agent(model=model, tools=tools)
+agent = create_agent(**with_caveman_agent({"model": model, "tools": tools}, runtime=runtime, scope=scope))

Рантайм — это тот же локальный прокси из большого камня, запускаемый один раз рядом с вашим приложением:

npm install -g @caveman-ai/cli && caveman setup --install
CAVEMAN_MODE=compress caveman start     # binds 127.0.0.1:8787; plain `caveman start` only records
Фреймворки с нативным адаптером
TypeScript @caveman-ai/middleware Vercel AI SDK · OpenAI · Anthropic · Google GenAI · LangChain · Strands · Mastra · MCP
Python caveman-middleware OpenAI · Anthropic · Google GenAI · LangChain + LangGraph · LiteLLM · Strands · Agno · CrewAI · PydanticAI · AutoGen · LlamaIndex · FastAPI · MCP

Честный разговор об альфа-версии: рантайм в режиме записи измеряет и не изменяет ничего, независимо от режима, который запрашивает клиент, поэтому установите оба. Отчеты о принятых решениях говорят, что было заменено и почему, и не содержат счетчиков токенов; использование провайдера — единственное число сбережений, которое имеет значение. Если рантайм недоступен, ваш оригинальный запрос проходит без изменений, если вы не включите строгий режим.

Документация: обзор мидлвара · руководство по Vercel AI SDK · руководство по Python · все фреймворки и версии · развертывание рядом с вашим приложением · README пакетов для TypeScript и Python.

Не хотите трогать код? Направьте любой SDK на прокси, заменив baseURL вместо этого: integrations/recipes/.


🧭 Когда использовать · когда пропустить

Хороший вариант, если вы читаете ответы вашего агента чаще, чем вставляете их куда-либо, работаете с длинными сессиями, полными логов и тестового вывода, или платите за токен и хотите уменьшить объем чтения без изменения кода.

Пропустите, если вы платите за запрос, а не за токен (например, премиум-запросы GitHub Copilot: более короткий ответ — это тот же запрос), или ваша нагрузка — это чистое генерация кода с почти отсутствующим текстом для сокращения. Правила набора сопровождаются входными токенами на каждом вызове (примерно 1000 оценивается для полного навыка), и на лаконичных однострочных вопросах и ответах, которые могут стоить дороже, чем сэкономят.

Самостоятельная оценка. Запустите одну и ту же задачу с и без caveman и сравните страницу выставления счетов провайдера. Этот A/B тест важнее любых чисел на этой странице. Если caveman проигрывает на вашей нагрузке, выключите его. Полный список, где он проигрывает: docs/HONEST-NUMBERS.md.


🏔 Весь пещерный комплекс

Одна идея везде: агент делает больше с меньшим.

Репозиторий Что уменьшает Статус
caveman (вы здесь) Что агент говорит (навык), читает (прокси) и что ваше приложение отправляет (мидлвар) live
caveman-browse Что агент видит в браузере live
caveman-agent-sdk Что ваш производственный агент загружает, вызывает и тратит собственный репозиторий · в разработке
cavegemma Компрессия встроенная в веса (тонкая настройка Gemma) labs
caveman-code Весь агент, от начала до конца frozen
cavemem Что агент помнит, между сессиями frozen
cavekit Цикл сборки, управляемый спецификацией frozen
Frozen ones ещё устанавливаются и работают. Их лучшие идеи переехали сюда.

Caveman делает токены маленькими. Caveman Cloud делает их доказуемыми. Локальные числа inferred, зафиксированные бенчмарки benchmark_counterfactual, ни то, ни другое не является счётом. Живой трафик за воротами оценки с подписанными квитанциями получает verified. Это Cloud. Ожидание списка на caveman.so


🔒 Конфиденциальность и небольшая просьба

Ваш агент всё ещё общается с выбранным вами провайдером. Навыки и хуки работают полностью на вашем устройстве, и здесь не требуется аккаунт.

Командная строка caveman по умолчанию отправляет анонимную статистику использования, и вот почему: caveman бесплатный, его поддерживает один человек, а эти данные помогают понять, какие команды люди действительно используют и какие оптимизации работают в реальных рабочих процессах. Это то, что держит проект бесплатным и направленным в правильную сторону. Справедливая сделка, как мы думаем.

Что отправляется: какие команды выполнялись, а также количество токенов на входе и выходе. Что никогда не отправляется: ваши запросы, ваш код, пути к файлам или любая информация, которая может вас идентифицировать. Об этом вам сообщается при первом запуске.

Не согласны? Одна команда — и всё отключается навсегда, без обид:

caveman telemetry off      # or set DO_NOT_TRACK=1

Точные границы сети, телеметрии и хранения: SECURITY.md.


📜 Лицензия

Разделённая лицензия. Навыки и поверхности адаптации — MIT. Связанный с движком runtime — BSL-1.1 с открытым исходным кодом, не OSI Open Source до даты изменения.

MIT: навыки, SDK агента и инициализатор, CLI, оба клиентских SDK, контракты, каталог провайдеров, оболочка расширений и тонкие клиенты cavemem. Свободные как мамонт на открытой равнине.

BSL-1.1: Движок, прокси, кэш-движок, рерайтер, Browse, сервер MCP, shrink, ядро cavemem на Go и общая платформа Go. Новые модули связанного с движком runtime по умолчанию используют BSL-1.1. Читайте, форкайте, развёртывайте для собственного трафика бесплатно, включая продакшен. Каждая версия переходит на Apache-2.0 к более ранней из дат 2030-06-21 или через четыре года после релиза. Развёртывание для третьих лиц требует коммерческой лицензии.

engine/pixel включает pxpipe (MIT) и атласы глифов, созданные на основе Spleen 5×8 (BSD-2-Clause) и GNU Unifont (двойная лицензия OFL-1.1 / GPLv2 с исключением для шрифтов); его NOTICE идёт вместе с исходным кодом.

"Caveman" и логотип в виде камня — торговые марки Julius Brussee. "Powered by Caveman" — допустимо, если это правда.

📚 Цитирование

Если caveman упоминается в вашей статье, как это было в Adobe:

@software{brussee2026caveman,
  author = {Brussee, Julius},
  title  = {Caveman: why use many token when few do trick},
  year   = {2026},
  url    = {https://github.com/JuliusBrussee/caveman}
}

⭐ Поддержите этот репозиторий звёздочкой

Caveman экономит ваши токены, экономит ваши деньги. Звёздочка стоит ноль. Справедливая сделка. ⭐


Документация: Технический мануал · Матрица установки · Честные числа · Обернуть бенчмарк · Лицензия · Вклад · Руководство по сопровождению · Вопросы
MIT для навыков · BSL-1.1 для движка. Мало токенов. Нет обмана.

Войдите, чтобы оставить комментарий