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

Встроенный просмотрщик файлов
Диалог Files предоставляет дерево файлов и редактор, доступный из представления чата. Откройте его для просмотра файлов вашего проекта, просмотра их содержимого с подсветкой синтаксиса и проверки изменений, внесенных моделью.
- Дерево файлов — Просмотрите структуру каталогов проекта. Каталоги расширяются, чтобы показать свое содержимое
- Подсветка синтаксиса — Файлы отображаются с форматированием кода, соответствующим их типу
- Автосохранение — Изменения сохраняются автоматически после задержки 2 с
Просмотрщик файлов — это не замена полноценной IDE — он предназначен для быстрого просмотра и быстрых однострочных исправлений. Для более серьезного редактирования используйте предпочитаемый редактор кода и позвольте ИИ обрабатывать остальное.
Просмотрщик файлов особенно полезен после того, как ИИ закончил работу. Откройте файлы, которые он изменил, чтобы проверить, что изменения правильны, соответствуют соглашениям вашего проекта и не содержат непреднамеренных изменений. Это дополняет валидацию изменений git — пока панель git показывает, что изменилось на высоком уровне, просмотрщик файлов показывает полный контекст вокруг каждого изменения.
Просмотрщик файлов работает с обоими репозиториями: Project (ваше основное рабочее пространство) и Skills (каталог .claude/skills). Переключайтесь между ними с помощью вкладок репозитория.
Выполнение скриптов
Скрипты оболочки (файлы .sh) в вашем репозитории показывают кнопку запуска в редакторе файлов. При выполнении вывод передается в реальном времени в диалог Script Output через SignalR. Скрипты отличаются от сборок — сборки автоматизируются наблюдателями файлов и настраиваются в build.yml, а скрипты запускаются вручную и могут быть любым исполняемым файлом в вашем репозитории. Лучшее использование скриптов — в навыках — вы можете автоматизировать сборки или производственные развертывания с небольшими скриптами, позволяя быстро вызывать и управлять ими прямо в чате, открывая соответствующий навык.
Поток выполнения
- Путь скрипта разрешается в выбранном репозитории (project или skills)
- Файл делается исполняемым (
chmod +x) в Unix-системах - Процесс bash запускается с
/bin/bash scriptPathв корневом каталоге проекта - Переменные окружения
PYTHONIOENCODING=utf-8иLANG=en_US.UTF-8устанавливаются автоматически - Вывод захватывается асинхронно, буферизируется для предотвращения наводнения и передается в браузер через SignalR каждые 100 мс
- Когда процесс завершается, отправляется сообщение о завершении и таймер выполнения останавливается
Диалог вывода скрипта
Когда скрипт выполняется, диалог Script Output открывается автоматически с:
- Таймер выполнения — Прошедшее время во время выполнения, конечная длительность при завершении (обновляется каждые 100 мс)
- Индикатор состояния — Вращающийся значок во время выполнения (кликабельный для остановки), зеленая галочка при успехе, состояние ошибки при неудаче
- Цветовой вывод — Строки ошибок выделены красным, предупреждения — оранжевым, обычный вывод — цветом по умолчанию
- Автопрокрутка — Вывод автоматически прокручивается вниз при поступлении новых строк. Прокрутите вверх для отключения; прокрутите обратно вниз для повторного включения
- Кнопка копирования — Копирует полный вывод в буфер обмена (включена после завершения)
- Значок репозитория — Показывает, выполнялся ли скрипт из репозитория проекта или навыков
Остановка скриптов
Щелкните вращающийся значок остановки, чтобы убить работающий скрипт. Сервер убивает все дерево процессов (включая дочерние процессы), сбрасывает любой буферизованный вывод и отправляет сообщение “Script stopped by user”. Закрытие диалога также автоматически останавливает скрипт, предотвращая продолжение фоновых процессов, если вы уйдете.
Звуки скриптов
Скрипты воспроизводят глобальный звук complete, когда заканчиваются — как при успехе, так и при неудаче. В отличие от сборок, скрипты не имеют конфигурации звука для каждой задачи. Чтобы изменить звук, замените встроенный complete.mp3, поместив пользовательский MP3 с тем же именем в .pastukhov/sounds/. Вы также можете настроить громкость в Settings → Sound Settings или отключить все звуки значком динамика в заголовке чата. Полный справочник по пользовательским звукам см. в Валидация звуковой обратной связи.
Парсинг вывода скрипта
Вывод скрипта автоматически парсится с помощью .pastukhov/output.parser, который использует тот же формат блоков [ERROR]/[/ERROR], что и парсеры сборки и развертывания. Встроенные паттерны обнаружения покрывают общие форматы ошибок без какой-либо конфигурации:
- Ошибки оболочки — “command not found”, “Permission denied”, “No such file or directory”, “Segmentation fault”
- Ошибки Python — Tracebacks, SyntaxError, ModuleNotFoundError, ImportError
- Ошибки Node.js — Error: со стеками, TypeError, npm ERR!
- Ошибки .NET — Ошибки сборки, исключения, фатальные ошибки
- Ошибки HTTP/сети — Connection refused, ECONNREFUSED, тайм-ауты, коды состояния 4xx/5xx
Формат парсера
⚠️ Не пытайтесь редактировать файлы парсера вручную — попросите модель ИИ сделать это за вас. Используйте .pastukhov/README.md как справочник — он содержит подробную информацию о синтаксисе файлов парсера, а также обширную документацию о структуре и назначении всех других файлов и папок в каталоге .pastukhov/.
- Строки комментариев, начинающиеся с
#, игнорируются - Паттерны одной строки — Regex, который должен точно соответствовать одной строке вывода
- Многострочные паттерны — Обернуты в
{{...}}, соответствуют нулю или более последовательным строкам, которые следуют за внутренним regex
# Python tracebacks with context
[ERROR]
Traceback \(most recent call last\):
{{^\s+.*}}
[^\s]+: [^\n]+
[/ERROR]
# npm ERR! blocks
[ERROR]
npm ERR!.*
{{npm ERR!.*}}
[/ERROR]
# Warnings
[WARNING]
warning:.*
{{^\s+.*}}
[/WARNING]
Парсер работает последовательно: на каждой строке вывода он пытается применить паттерны каждого блока по порядку. Когда все паттерны в блоке совпадают последовательно, эти строки извлекаются как одна ошибка, и парсер продвигается мимо них. Ранние блоки имеют приоритет — как только найдено совпадение, более поздние блоки пропускаются для этих строк.
Пользовательские паттерны могут быть добавлены в output.parser для конкретного формата ошибок вашего приложения, или попросите модель ИИ обновить его. Парсер перезагружается автоматически при изменении файла.
Эффективные паттерны валидации
Хорошее эмпирическое правило: используйте сборки для повторяющихся валидаций, которые происходят несколько раз в день или даже несколько раз за чат — компиляции, линтеры, проверки типов и тесты. Скрипты лучше, когда валидация выполняется нерегулярно или требует много ожидания и ручного управления — одноразовые развертывания, диагностика, интерактивные инструменты.
- Быстрые ручные проверки после изменений ИИ — Запустите тестовый скрипт или проверьте файл журнала из диалога Files без переключения на терминал. Это быстрее, чем просить модель запустить команду
- Используйте скрипты для произвольной валидации — Когда сборки не настроены для конкретной проверки, создайте быстрый скрипт для валидации того, что вам нужно. Скрипты запускаются немедленно без задержек наблюдателей файлов
- Объединяйте скрипты с чатом — Если скрипт выявляет ошибку, отправьте вывод в чат и попросите ИИ исправить его. Модель может прочитать вывод скрипта и внести целевые исправления
- Проверяйте состояние файлов вручную — После сложных редактирований откройте измененные файлы в просмотрщике, чтобы убедиться, что изменения выглядят правильно. Это ловит тонкие проблемы, которые могут не выявляться diffs
Полный справочник по скриптам см. в Скрипты. Для функций файловой системы см. Файлы. Для автоматической валидации, которая работает без ручного вмешательства, см. Валидация автоматической сборки.