Dippy CLI

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

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

Широкий доступ

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

  • Автоматически подтверждает команды Bash без вашего вопроса, а ошибочная оценка безопасности пропустит нужный запрос
  • Прописывает хук в `~/.claude/settings.json` и читает правила из `~/.dippy/config` и `.dippy`
Все причины и проверки

ldayton/dippy

Установка

Работает в

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

npx skillfoxx add cli/dippy

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

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

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

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

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

  • Автоматически подтверждает команды Bash без вашего вопроса, а ошибочная оценка безопасности пропустит нужный запрос
  • Прописывает хук в `~/.claude/settings.json` и читает правила из `~/.dippy/config` и `.dippy`

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

Что делает

Dippy встраивается в Claude Code как хук `PreToolUse` для инструмента Bash и сам решает, спрашивать ли у вас разрешение. Команды вроде `ls`, `git status` и `cat` не требуют подтверждения. Длинные цепочки чтения, такие как `git status && git log --oneline -5 && git diff --stat`, подстановки команд, безопасные перенаправления и запросы к облаку на просмотр проходят автоматически. Остановка и запрос приходят там, где есть запись или удаление: `git stash drop`, `kubectl delete pod`, `aws s3 rm`, запись скачанного файла через `curl > script.sh`. Главное в хуке разбор команды целиком. Он построен на собственном парсере Bash `Parable` без внешних зависимостей, поэтому видит вложенные подоболочки вида `git $(echo rm) foo.txt` и блокирует цепочку, если в ней есть опасная часть, например `rm -rf node_modules && npm install`. Правила хранятся в `~/.dippy/config` и в файле `.dippy` в корне проекта. Помимо разрешений и запретов к правилу можно привязать сообщение, которое прочтет агент: `deny python "Use uv run python"` или `deny rm -rf "Use trash instead"`. Вместо пустого отказа агент получает подсказку и продолжает работу. Правило `deny-redirect` закрывает запись в файлы по маске, например в `.env`.

Для кого. Разработчикам, которым надоело подтверждать каждую команду `ls` и `git status` в Claude Code, но отключать проверку разрешений целиком не хочется.

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

  • Агент спрашивает разрешение на безопасные команды чтения, и работа постоянно прерывается
  • В проекте есть команды, которые агент должен заменять своими аналогами: `uv run python` вместо `python`, `trash` вместо `rm -rf`
  • Нужно не допустить запись секретов: правило `deny-redirect` закрывает перенаправление в файлы `.env`
  • Требуется разбор сложных цепочек с `&&`, конвейерами и подстановками, где простой список разрешенных команд не справляется
  • Для команды нужны общие правила: файл `.dippy` лежит в репозитории рядом с кодом

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

  • Нужна защита от инъекции промпта и вредоносных пакетов: Dippy проверяет только команды Bash
  • Агент работает без хуков `PreToolUse`: подключить Dippy не получится
  • Все команды в проекте лучше подтверждать вручную: автоматические разрешения только добавят неопределенности
  • Нужна проверка чтения файлов и вызовов MCP: хук смотрит на команды оболочки

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

Подключи Dippy к Claude Code и добавь правило: вместо python использовать uv run python, а запись в .env запретить

Ограничения

  • Хук смотрит только на команды инструмента Bash. Чтение файлов, правки и вызовы MCP он не проверяет.
  • Автоматически разрешается то, что Dippy считает безопасным. Эта оценка строится на разборе команды, поэтому нетипичную утилиту стоит проверить: сомнительное нужно закрыть своим правилом `deny`.
  • Ставится через Homebrew или клонированием репозитория. Вручную в `~/.claude/settings.json` нужно прописать хук, а при ручной установке путь к `dippy-hook` указывают полностью.
  • Подробная документация правил вынесена в вики проекта, в README лежит только краткий пример.

Как отключить. Удалите хук `PreToolUse` с командой dippy из `~/.claude/settings.json` или откройте `/hooks` в Claude Code и уберите его там. Пакет Homebrew снимает команда brew uninstall dippy.

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

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

Поставьте пакет командами `brew tap ldayton/dippy` и `brew install dippy`, затем добавьте в `~/.claude/settings.json` хук `PreToolUse` с matcher Bash и командой dippy. Тот же хук можно создать интерактивно через `/hooks`.

Какие команды Dippy одобряет сам?

Чтение и просмотр: `ls`, `git status`, `cat`, цепочки из них, конвейеры с `grep` и `awk`, запросы вроде `aws ec2 describe-instances`, `docker logs`, безопасные перенаправления и подстановки команд.

Что Dippy блокирует?

Скрытые подоболочки (`git $(echo rm) foo.txt`), запись через `curl > script.sh` или `tee`, скрытые изменения вроде `git stash drop` и `npm unpublish`, облачные удаления и цепочки с разрушительной частью.

Как заставить агента сменить команду, а не просто отказать?

Добавьте правило с сообщением, например `deny python "Use uv run python"`. Агент увидит текст и повторит попытку с нужной командой.

Где лежат настройки Dippy?

Глобальные правила хранятся в `~/.dippy/config`, проектные в файле `.dippy` в корне репозитория. Полное описание есть в вики проекта на GitHub.

Обсуждение

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

Хук для Claude Code, который оценивает риск Bash-команд правилами и моделью Haiku и спрашивает подтверждение только для опасных

ПлагинРасширенный доступ6Звезды репозитория

Семь хуков Claude Code блокируют опасные команды, принудительный push и правку закрытых файлов; enforce-hooks проверяет CLAUDE.md.

ПлагинРасширенный доступ126Звезды репозитория

Хук для Claude Code проверяет вывод файлов, веб-страниц и команд на скрытые инструкции и предупреждает агента

СкиллРасширенный доступ272Звезды репозитория

Каталог из 22 плагинов с хуками для Claude Code: безопасность, контроль расходов, наблюдаемость и автоматизация

ПлагинРасширенный доступ582Звезды репозитория

Плагин и сервер подтверждений для Claude Code и Codex: опасный вызов инструмента ждет вашего решения до запуска

ПлагинШирокий доступ318Звезды репозитория

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

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

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

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

ИнструментОфициальныйЗвезды репозиторияГлавное отличие
Dippy (эта карточка)нет244
CC Safety Netнет2 005блокирует разрушительные команды Git и файловой системы, а Dippy еще и автоматически одобряет безопасные команды
Destructive Command Guardнет6 349объясняет сработавшее правило и разбирает спорную строку, а Dippy сочетает разбор команды с подсказками агенту

Коротко о README

Страница начинается с проблемы усталости от разрешений и описывает хук с примерами на скриншотах. Затем перечислены одобряемые и блокируемые команды, установка через Homebrew или вручную, настройка хука в `settings.json` и пример правил с сообщениями для агента. Подробности вынесены в вики. В папке docs разобраны хук-системы Claude Code, Codex CLI, Cursor и Gemini CLI.

Бейдж для README

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