# File — это файл, и уже поэтому он полезен

File не является одноразовым вложением. Он представляет канонический источник filesystem на Canvas и явно показывает,
какой материал нужно читать, проверять, изменять или использовать как входные данные.

[![PDF в File Node, используемый CodingAgent на Canvas Kavor](https://agentkavor.com/kavor-pdf-canvas-agent-demo-poster.jpg)](https://agentkavor.com/ru/videos/pdf-canvas-agent)

*File оставляет материал видимым, пока вы располагаете вокруг него агентов, решения и выполнение.*

## Что делает File

Сам по себе File позволяет просматривать источник Workspace и работать с ним. В зависимости от формата Kavor
предлагает текстовое редактирование, поиск, настройки чтения и расширенный preview.

Текстовые форматы включают Plain Text, Markdown, JSON, SQL, TypeScript, JavaScript, YAML, Shell, HTML и CSS. Изображения
и PDF можно просматривать на Canvas; SVG переключается между preview и source.

File продолжает указывать на настоящий источник. Если файл изменён вне Kavor, Node отражает изменение и предупреждает,
когда локальную правку нужно согласовать. Так копия контекста не подменяет артефакт, который действительно будет
версироваться.

## File как явная область

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

Начальный запрос может быть таким:

> Прочитай подключённый File как канонический источник этой задачи. Объясни необходимые изменения, сохрани область и редактируй только после моего подтверждения плана.

Если агенту нужно только читать материал, используйте Guardrail file_read_only на прямой Connection. Агент по-прежнему
видит File, но не может менять его источник через операции, посредником которых является Kavor.

## File как вход для Terminal

Connection File + Terminal экспортирует канонический абсолютный путь файла в сессию через выбранное вами имя переменной
окружения. Значение — путь, а не копия содержимого.

Путь применяется при запуске сессии Terminal. Если изменить Connection или её параметр при уже открытом shell,
интерфейс сообщает, что для нового значения сессию нужно перезапустить.

Это удобно для скриптов, SQL, конфигураций и отчётов: File оставляет источник явным на Canvas, а Terminal запускает
команду без копирования путей между окнами.

## Три способа использования

### Проверить существующий источник

Подключите File к CodingAgent и попросите чтение с упором на риски. Для наглядной проверки держите File, Sticky Note
для findings и Terminal для проверок в одном графе.

### Реализовать с ясной областью

Соедините Specification, File и Builder. Specification описывает результат; File указывает конкретный источник;
CodingAgent выполняет изменение и сохраняет доказательства в подходящих местах.

### Превратить артефакт во вход команды

Соедините SQL- или script-File с Terminal, задайте имя переменной и выполните команду из shell. Подключённый агент
может помогать интерпретировать вывод, пока вы наблюдаете процесс.

## Важные ограничения

- Connection не превращает File в общий доступ к filesystem; Node представляет настроенный канонический источник;
- не каждый бинарный формат можно редактировать как текст;
- экспортированный в Terminal путь не содержит тело файла;
- для Guardrail конкретного File нужна прямая Connection с CodingAgent;
- внешние и параллельные изменения нужно согласовать до замены локальной правки;
- близость к File на Canvas не даёт доступа к его содержимому.

## Что дальше

- Посмотрите [матрицу Connections](./connections.md), включая File + Terminal и CodingAgent + File.
- Узнайте, [как CodingAgents видят граф](./coding-agents-and-canvas.md).
- Сочетайте File со [Sticky Note](./sticky-note.md), разделяя канонический источник и рабочую память.
- [Замкните первый цикл](./first-loop.md) с намерением, реализацией, доказательствами и проверкой.
