---
title: "Просмотрщик файлов и запуск скриптов"
id: "588"
type: "page"
slug: "file-script"
published_at: "2026-06-03T14:29:23+00:00"
modified_at: "2026-10-03T16:51:42+00:00"
url: "https://pastukhov.com/agents/agent/docs/validation/file-script"
markdown_url: "https://pastukhov.com/agents/agent/docs/validation/file-script.md"
excerpt: "Просмотрщик файлов и запуск скриптов — это ручная проверка «впридачу» к автоматической. Автоисправление чинит ошибки…"
---

# Просмотрщик файлов и запуск скриптов

[https://pastukhov.com/agents/agent/docs/validation/file-script.md](https://pastukhov.com/agents/agent/docs/validation/file-script.md)

Просмотрщик файлов и запуск скриптов — это ручная проверка «впридачу» к автоматической. [Автоисправление](/agents/agent/docs/autofix)
 чинит ошибки само, [система сборки](/agents/agent/docs/validation/automated-build)
 проверяет код при каждом изменении, а просмотрщик даёт вам самим быстро посмотреть файлы проекта, а запуск скриптов — выполнить любую команду и видеть её вывод в реальном времени. Всё это — прямо в интерфейсе, не выходя из чата.

![Окно просмотрщика файлов Pastukhov Agent](https://pastukhov.com/wp-content/uploads/2026/06/file-viewer-dialog.png)## Встроенный просмотрщик файлов

Диалог «Файлы» открывается из представления чата: слева — дерево папок проекта, справа — редактор. Удобно листать файлы, смотреть их содержимое и проверять, что именно изменила модель.

- **Дерево файлов** — структура папок проекта; каталоги раскрываются, чтобы показать содержимое
- **Подсветка синтаксиса** — код показывается с цветной разметкой по типу файла, читать его проще
- **Автосохранение** — изменения сохраняются сами через 2 секунды после остановки набора

Просмотрщик не заменяет полноценный редактор кода — он для быстрого осмотра и мелких правок. Для серьёзной работы используйте привычный редактор, а остальное поручите ИИ.

Просмотрщик особенно полезен после того, как модель закончила работу: откройте изменённые файлы и убедитесь, что правки верные, соответствуют вашим правилам и не задели лишнего. Это дополняет [проверку изменений git](/agents/agent/docs/validation/git-change)
: панель git показывает, что менялось, а просмотрщик — полный контекст каждого изменения.

Просмотрщик работает с единым репозиторием проекта, куда входят и код, и [навыки](/agents/agent/docs/skills)
 (папка `.claude/skills`).

## Выполнение скриптов

У файлов-скриптов (расширение `.sh`) в редакторе появляется кнопка запуска. При нажатии вывод идёт в реальном времени в диалог «Вывод скрипта». Скрипты отличаются от [сборок](/agents/agent/docs/build-deploy)
: сборки запускаются автоматически при изменениях и настраиваются в файле `build.yml`, а скрипт вы запускаете вручную в любой момент — это может быть любой исполняемый файл из вашего репозитория. Удобнее всего держать скрипты внутри навыков: так автоматические сборки и развёртывания можно запускать прямо из чата, открыв нужный навык.

### Как это работает

1. Путь к скрипту находится в выбранном репозитории (проект или навыки)
2. Файлу автоматически даётся право на запуск (`chmod +x` в Unix-системах)
3. Скрипт запускается через `/bin/bash scriptPath` из корневого каталога проекта
4. Автоматически задаются переменные окружения `PYTHONIOENCODING=utf-8` и `LANG=en_US.UTF-8`, чтобы текст вывода читался корректно
5. Вывод собирается небольшими порциями и каждые 100 мс передаётся в браузер, так что поток не перегружает интерфейс
6. По завершении приходит сообщение об окончании, таймер выполнения останавливается

### Диалог вывода скрипта

Когда скрипт работает, диалог «Вывод скрипта» открывается автоматически и показывает:

- **Таймер выполнения** — прошедшее время, по завершении — общая длительность (обновляется каждые 100 мс)
- **Индикатор состояния** — вращающийся значок во время работы (по нему можно остановить скрипт), зелёная галочка при успехе, знак ошибки при сбое
- **Цветной вывод** — строки ошибок подсвечены красным, предупреждения — оранжевым, обычный вывод — обычным цветом
- **Автопрокрутка** — вывод автоматически прокручивается к концу по мере поступления. Прокрутите вверх — автопрокрутка отключится; вернитесь вниз — она включится снова
- **Кнопка копирования** — копирует весь вывод в буфер обмена (доступна после завершения)
- **Значок репозитория** — показывает, откуда выполнялся скрипт: из проекта или из навыков

### Остановка скриптов

Нажмите на вращающийся значок остановки, чтобы прервать работающий скрипт. Сервер завершит всё дерево процессов (включая вложенные), очистит накопленный вывод и покажет сообщение «Скрипт остановлен пользователем». Закрытие диалога тоже останавливает скрипт — фоновые процессы не продолжают работать, если вы ушли.

## Звуки скриптов

Когда скрипт завершается — успешно или с ошибкой — звучит общий звук **complete**. В отличие от сборок, у скриптов нет отдельных звуков под каждую задачу. Чтобы изменить звук, положите свой MP3-файл с именем `complete.mp3` в папку `.pastukhov/sounds/` — он заменит встроенный. Громкость настраивается в разделе **Настройки → Настройки звука**, а полностью отключить звуки можно значком динамика в заголовке чата. Подробности — в разделе [Проверка звуковой обратной связи](/agents/agent/docs/validation/sound-feedback)
.

## Разбор вывода скрипта

Вывод скрипта автоматически разбирается с помощью файла `.pastukhov/output.parser`, который использует тот же формат блоков `[ERROR]`/`[/ERROR]`, что и разборщики сборок и развёртывания. Встроенные шаблоны распознают самые частые ошибки без всякой настройки:

- **Ошибки оболочки** — «command not found» (команда не найдена), «Permission denied» (нет прав), «No such file or directory» (нет файла), «Segmentation fault» (сбой программы)
- **Ошибки Python** — трассировки (протокол сбоя), SyntaxError, ModuleNotFoundError, ImportError
- **Ошибки Node.js** — Error с описанием, TypeError, npm ERR!
- **Ошибки .NET** — ошибки сборки, исключения, фатальные ошибки
- **Ошибки сети** — «Connection refused» (отказ соединения), ECONNREFUSED, тайм-ауты, коды ответов 4xx/5xx

### Формат файла разборки

⚠️ Не редактируйте файлы разборки вручную — попросите модель ИИ сделать это за вас. Файл `.pastukhov/README.md` послужит справочником: там подробно описан синтаксис файлов разборки и назначение всех остальных файлов и папок каталога `.pastukhov/`.

- **Строки комментариев**, начинающиеся с `#`, игнорируются
- **Однострочные шаблоны** — маска поиска, которая должна точно совпасть с одной строкой вывода
- **Многострочные шаблоны** — обёрнуты в `{{...}}`, захватывают несколько идущих подряд строк после внутренней маски

```
# Трассировки Python с контекстом
[ERROR]
Traceback \(most recent call last\):
{{^\s+.*}}
[^\s]+: [^\n]+
[/ERROR]

# Блоки ошибок npm ERR!
[ERROR]
npm ERR!.*
{{npm ERR!.*}}
[/ERROR]

# Предупреждения
[WARNING]
warning:.*
{{^\s+.*}}
[/WARNING]
```

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

Свои шаблоны под формат ошибок вашего приложения можно добавить в `output.parser` — или попросить модель ИИ обновить файл. Разборщик перезагружается сам при изменении файла.

## Полезные приёмы

Хорошее правило: [сборки](/agents/agent/docs/validation/automated-build)
 — для повторяющихся проверок, которые случаются много раз в день (компиляция, проверка стиля кода, типы, тесты). Скрипты — для проверок нерегулярных или тех, что требуют ожидания и ручного управления: разовые развёртывания, диагностика, интерактивные инструменты.

- **Быстрые проверки после работы ИИ** — запустите тестовый скрипт или откройте файл журнала прямо из диалога «Файлы», не переключаясь на терминал. Это быстрее, чем просить модель выполнить команду
- **Скрипты для всего остального** — если под нужную проверку не настроена сборка, создайте быстрый скрипт. Он запускается сразу, без ожидания срабатывания наблюдателей файлов
- **Соединяйте скрипты с чатом** — если скрипт нашёл ошибку, отправьте его вывод в чат и попросите ИИ исправить: модель прочитает вывод и внесёт точечные правки
- **Проверяйте файлы глазами** — после сложных правок откройте изменённые файлы в просмотрщике: так видны тонкие проблемы, которые не показывает сравнение версий

Полный справочник по скриптам — в разделе [Скрипты](/agents/agent/docs/scripts)
. Возможности работы с файлами — в [Файлы](/agents/agent/docs/files)
. Об автоматической проверке без ручного участия — в [Проверка автоматической сборки](/agents/agent/docs/validation/automated-build)
.

**[← Аналитика и контроль](/agents/agent/docs/validation/analytics-observability)**

**[Промпт-сборки →](/agents/agent/docs/validation/prompt-builds)**
