Dippy CLI
Хук для Bash-команд Claude Code сам одобряет безопасные команды, а опасные останавливает и подсказывает агенту другой путь
- 244 ★ репозитория
- Последний коммит
- MIT
Широкий доступ
Почему такой уровень
- Автоматически подтверждает команды Bash без вашего вопроса, а ошибочная оценка безопасности пропустит нужный запрос
- Прописывает хук в `~/.claude/settings.json` и читает правила из `~/.dippy/config` и `.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.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыХук для Claude Code, который оценивает риск Bash-команд правилами и моделью Haiku и спрашивает подтверждение только для опасных
Boucle: хуки безопасности Claude Code
Boucle-framework
Семь хуков Claude Code блокируют опасные команды, принудительный push и правку закрытых файлов; enforce-hooks проверяет CLAUDE.md.
Claude Hooks (Prompt Injection Defender)
Claude Hooks
Хук для Claude Code проверяет вывод файлов, веб-страниц и команд на скрытые инструкции и предупреждает агента
Каталог из 22 плагинов с хуками для Claude Code: безопасность, контроль расходов, наблюдаемость и автоматизация
Плагин и сервер подтверждений для Claude Code и Codex: опасный вызов инструмента ждет вашего решения до запуска
Правила на хуках без модели в цепочке останавливают опасные команды и секреты в коде, а блокировки пишутся в локальный журнал.
Сравнение с похожими
Карточки с тем же главным запросом: чем они отличаются.
| Инструмент | Официальный | Звезды репозитория | Главное отличие |
|---|---|---|---|
| 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.