logo

Зачем это нужно Link to heading

Современные ИИ-агенты любят многословие. На каждый вопрос они выдают простыню текста с вежливыми вступлениями, пояснениями и повторами. Это тратит output-токены, а значит — деньги и время.

caveman — это скилл/плагин для Claude Code, Codex, Gemini, Cursor, opencode и 30+ других агентов. Он заставляет агента отвечать «по-пещерному»: коротко, фрагментами, без статей и воды. По замерам автора — в среднем 65% экономии output-токенов.

По итогу у нас будет:

New ref each render. Wrap object in useMemo.

Вместо:

The reason your React component is re-rendering is likely because you’re creating a new object reference on each render cycle. When you pass an inline object as a prop, React’s shallow comparison sees it as a different object every time, which triggers a re-render. I’d recommend using useMemo to memoize the object.

Уровни сжатия Link to heading

Шесть уровней. Переключаются командой /caveman <level> и держатся до конца сессии:

УровеньПоведение
liteЛёгкое сжатие, читается почти нормально
fullДефолт. Короткие фразы-фрагменты
ultraМаксимальная рубленость
wenyanКлассический китайский, ещё плотнее по смыслу

Язык ответа сохраняется: пишешь по-русски — агент рыкает по-русски.

Установка (универсальная) Link to heading

Одна команда находит все агенты на машине и ставит под каждый:

# macOS / Linux / WSL / Git Bash
curl -fsSL https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.sh | bash

# Windows (PowerShell 5.1+)
irm https://raw.githubusercontent.com/JuliusBrussee/caveman/main/install.ps1 | iex

Нужен Node ≥ 18. Установщик пропускает агентов, которых нет.

Установка под opencode Link to heading

Для opencode есть нативный путь. Установщик сам детектит агента и прописывает плагин:

npx -y github:JuliusBrussee/caveman -- --only opencode

Что он делает:

  • кладёт плагин в ~/.config/opencode/plugins/caveman/
  • добавляет plugin в конфиг opencode
  • прописывает команды, скиллы и агентов в ~/.config/opencode/{commands,skills,agents}/
  • вписывает блок caveman в AGENTS.md
Note

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

"plugin": [
  "./plugins/caveman/plugin.js"
]

и удалить созданный установщиком лишний opencode.json, чтобы не было конфликта.

После правки — перезапусти opencode, плагин грузится на старте сессии.

Как пользоваться Link to heading

Включить: набери /caveman (или скажи «talk like caveman»). Для opencode режим уже активен с первого сообщения благодаря блоку в AGENTS.md.

Выключить: «normal mode» или «stop caveman».

Полезные команды:

  • /caveman-stats — реальный расход токенов за сессию и накопленная экономия
  • /caveman-commit — короткие commit-сообщения в формате Conventional Commits
  • /caveman-review — однострочные комментарии к PR
  • /caveman-compress <file> — переписывает memory-файл в пещерный стиль.

Caveman режет только output-токены. Input и reasoning не трогаются, а сам скилл добавляет ~1–1.5k input-токенов на ход. На уже кратких задачах экономия может уйти в ноль.

Удаление Link to heading

npx -y github:JuliusBrussee/caveman -- --uninstall

Скиллы, поставленные через npx skills add, удаляются отдельно: npx skills remove caveman.

Итог Link to heading

Поставил caveman под opencode. Агент стал отвечать короче, но вроде даже не потерял в удобстве. Понаблюдаем как наэкономит.