# Read

Загружает содержимое одного файла из локальной файловой системы. Поддерживает простой текст, исходный код, изображения, PDF и блокноты Jupyter, возвращая результаты с 1-based номерами строк в стиле `cat -n`.

## Когда использовать

- Чтение исходного файла по известному пути перед правкой или анализом
- Инспекция конфигурационных файлов, lockfile, логов или сгенерированных артефактов
- Просмотр скриншотов или диаграмм, которые пользователь вставил в разговор
- Извлечение конкретного диапазона страниц из длинного PDF-руководства
- Открытие блокнота `.ipynb` для совместного просмотра кодовых ячеек, markdown и выводов ячеек

## Параметры

- `file_path` (string, обязательный): абсолютный путь к целевому файлу. Относительные пути отклоняются.
- `offset` (integer, необязательный): 1-based номер строки, с которой начинается чтение. Полезно для больших файлов в паре с `limit`.
- `limit` (integer, необязательный): максимальное число возвращаемых строк, начиная с `offset`. По умолчанию — 2000 строк с начала файла, если не указан.
- `pages` (string, необязательный): диапазон страниц для PDF-файлов, например `"1-5"`, `"3"` или `"10-20"`. Обязателен для PDF длиннее 10 страниц; максимум 20 страниц за запрос.

## Примеры

### Пример 1: чтение небольшого файла целиком
Вызовите `Read`, указав только `file_path` как `/Users/me/project/src/index.ts`. Возвращаются до 2000 строк с номерами, чего обычно достаточно для контекста правки.

### Пример 2: постраничное чтение длинного лога
Используйте `offset: 5001` и `limit: 500` на многотысячном файле лога, чтобы получить узкое окно без расхода токенов контекста.

### Пример 3: извлечение конкретных страниц PDF
Для PDF на 120 страниц по пути `/tmp/spec.pdf` задайте `pages: "8-15"`, чтобы вытащить только нужную главу. Опущенный `pages` на большом PDF выдаст ошибку.

### Пример 4: просмотр изображения
Передайте абсолютный путь к PNG или JPG скриншоту. Изображение рендерится визуально, так что Claude Code может рассуждать о нём напрямую.

## Примечания

- Всегда предпочитайте абсолютные пути. Если пользователь указал один, доверяйте ему как есть.
- Строки длиннее 2000 символов усекаются; относитесь к возвращённому содержимому как, возможно, усечённому для экстремально широких данных.
- Читаете несколько независимых файлов? Делайте несколько вызовов `Read` в одном ответе, чтобы они выполнялись параллельно.
- `Read` не может перечислять каталоги. Используйте вызов `ls` через `Bash` или инструмент `Glob`.
- Чтение существующего, но пустого файла возвращает системное напоминание вместо байт файла, так что обрабатывайте этот сигнал явно.
- Успешный `Read` обязателен, прежде чем вы сможете использовать `Edit` на том же файле в текущей сессии.
