Файлы проекта
У каждого проекта есть файловое хранилище — общий набор файлов и папок, с которым работают и пользователи, и агенты. Пользователи загружают и скачивают файлы в разделе Файлы, агенты читают и записывают их с помощью инструментов. Через хранилище агенту можно передать справочные материалы (прайс-лист, регламент, шаблон ответа), а агент может сохранять туда результаты работы: отчёты, заметки, выгрузки.
Хранилище создаётся автоматически при первом обращении: когда кто-то открывает раздел Файлы или агент впервые записывает файл.
- Память агента хранит короткие факты по ключу: имя клиента, его предпочтения, правила.
- База знаний индексирует документы, чтобы искать фрагменты по смыслу.
- Файлы хранят документы целиком. Агент читает файл по точному пути, может создавать собственные файлы и дописывать их. Поиска по содержимому файлов нет.
Структура хранилища
Каждый файл адресуется путём от корня хранилища, например pricing/2026/price-list.md.
Отдельно от файлов папки не хранятся: папка — это часть пути. Она появляется вместе с первым файлом внутри и исчезает, когда из неё удалён последний.
Папки агентов
По умолчанию каждый агент пишет в собственную папку agents/<ID агента>/, например agents/agt_a3B9kLm2/. Агент указывает пути относительно своей папки: файл, записанный как reports/summary.md, окажется по пути agents/agt_a3B9kLm2/reports/summary.md. Папка появляется после первой записи. ID агента можно скопировать в списке агентов.
В разделе Файлы папки агентов отображаются как обычные папки. Файлы, созданные агентами, может скачать любой пользователь с доступом к разделу, а пользователи с правом редактирования могут также перемещать и удалять их.
- Папка привязана к ID агента, а не к имени, поэтому переименование агента её не меняет. Копия агента получает новый ID, а значит, и новую пустую папку.
- Если удалить агента, его папка и файлы останутся в хранилище.
Правила для путей
Правила одинаковы для пользователей и агентов.
| Правило | Значение |
|---|---|
| Формат | Относительный путь с разделителем /, без / в начале |
| Запрещено | Сегменты . и .., пустые сегменты (a//b), обратный слэш \, управляющие символы |
| Регистр | Учитывается: Report.md и report.md — два разных файла |
| Глубина | До 10 уровней, включая имя файла |
| Имя файла или папки | До 255 символов |
| Полный путь | До 512 символов |
Кириллица и пробелы в именах допустимы.
Раздел «Файлы»
Раздел Файлы находится в левом меню в режиме Текст.
Слева расположено дерево Папки. Его корневой узел — хранилище проекта (по умолчанию называется Project files). Справа — таблица с файлами выбранной папки. Под заголовком страницы показано, сколько места занято: «Занято 12.4 MB из 1.0 GB».
Таблица файлов
| Колонка | Описание |
|---|---|
| Имя | Имя файла. Щелчок по имени открывает предпросмотр |
| Кем создан | Для файлов, созданных агентом, — тег «агент: имя агента». Для файлов, загруженных пользователями, колонка пустая |
| Размер | Размер файла |
| Тип | MIME-тип, например text/markdown или application/pdf |
| Изменён | Дата и время последнего изменения |
| Действия | Скачать, переименовать или переместить, удалить |
Колонка Кем создан показывает, кто создал файл. Если файл потом перезаписали, значение не меняется. Тег «агент» без имени появляется, когда платформа не смогла сопоставить запись с агентом проекта. Во всплывающей подсказке к нему указаны идентификаторы процесса, узла и диалога, в которых был записан файл.
В интерфейсе отображается не больше 20 000 файлов. Если в хранилище их больше, над таблицей появится предупреждение. Чтобы найти остальные файлы, воспользуйтесь поиском.
Поиск
Поле Поиск файлов ищет по части имени файла без учёта регистра. Поиск идёт по всему хранилищу, а не только по выбранной папке. Результаты выводятся одним списком, а рядом с именем каждого файла указан его полный путь. Чтобы снова перемещаться по папкам, очистите поле поиска.
Загрузка
- Выберите папку в дереве.
- Нажмите Загрузить и выберите один или несколько файлов.
Файлы загружаются в выбранную папку и сохраняют свои имена. Размер одного файла ограничен только свободным местом в хранилище. Файлы до 25 МБ проходят через платформу, а файлы крупнее загружаются из браузера напрямую в объектное хранилище. Способ загрузки выбирается автоматически.
Если в папке уже есть файл с таким именем:
- файл до 25 МБ заменит существующий без предупреждения;
- файл больше 25 МБ не загрузится: появится ошибка о том, что файл уже существует. Удалите или переименуйте старый файл, затем повторите загрузку.
Новая папка
- Выберите в дереве родительскую папку.
- Нажмите Новая папка, введите имя и нажмите Создать. Чтобы создать сразу несколько уровней, укажите вложенный путь, например
reports/2026.
Новая папка сразу выбирается в дереве, но пока в неё не загружен хотя бы один файл, она существует только в вашем браузере. Другие пользователи её не видят, а после обновления страницы пустая папка исчезнет.
Переименование и перемещение
Кнопка Переименовать / переместить (значок карандаша) открывает поле с полным путём файла.
- Чтобы переименовать файл, измените его имя в конце пути.
- Чтобы переместить файл, измените папки в пути. Недостающие папки появятся автоматически.
- Если путь заканчивается на
/, файл переместится в указанную папку и сохранит прежнее имя.
Перемещение выполняется мгновенно при любом размере файла. Если по новому пути уже есть файл, операция завершится ошибкой: существующий файл не перезаписывается. Переименовать или переместить папку целиком нельзя, только файлы по одному.
Предпросмотр
Щелчок по имени файла открывает боковую панель. В ней указаны путь, тип, размер и дата изменения файла, а ниже показано его содержимое.
| Тип файла | Как показывается | Предельный размер |
|---|---|---|
Текстовые: .txt, .md, .csv, .json, .yaml, .xml, .html, .log, исходный код и т. п. | Как текст | 1 МБ |
| Изображения: PNG, JPEG, GIF, WebP | Как изображение | 25 МБ |
| Во встроенном просмотрщике | 25 МБ | |
| Остальные (DOCX, XLSX, архивы, аудио, видео и др.) | Предпросмотр недоступен | — |
HTML-файлы показываются как исходный код, а не как веб-страница. Если предпросмотр недоступен или файл превышает лимит, в панели будет кнопка Скачать.
Скачивание
Скачать файл можно кнопкой Скачать в строке таблицы или в панели предпросмотра. Файл всегда сохраняется на диск, а не открывается во вкладке браузера.
Удаление
Нажмите Удалить в строке файла и подтвердите действие. Файл удаляется безвозвратно, занятое им место освобождается сразу.
Массового удаления нет, удалить папку целиком тоже нельзя. Папка пропадает, когда из неё удалён последний файл. При удалении проекта удаляются и все его файлы.
Права доступа
- Просматривать и скачивать файлы может любой пользователь с доступом к файлам проекта на чтение.
- Загружать файлы, создавать папки, перемещать и удалять файлы может только пользователь с правом редактирования. У остальных эти кнопки неактивны.
Роли, которые дают эти права, описаны в разделе Роли в проектах Лия Agents.
Загрузка, перемещение и удаление файлов пользователями фиксируются в журнале аудита Лия Console, в журнале «Лия Agents». Действия агентов в журнал аудита не попадают: они видны как вызовы инструментов в чате агента и в трейсинге.
Доступ агента к файлам
Включение
- Откройте страницу редактирования агента.
- В правой панели раскройте секцию Файлы проекта.
- Включите переключатель Доступ к файлам.
- Выберите, куда агент пишет и что он читает.
| Параметр | Варианты | По умолчанию |
|---|---|---|
| Доступ к файлам | Включён / выключен | Выключен |
| Куда агент пишет | Своя папка, Весь проект | Своя папка |
| Что агент читает | Весь проект, Своя папка | Весь проект |
Агент работает с файлами везде, где он запускается: в тестовом чате, в процессах и в публикациях. Если агенту включён доступ к файлам, в панели узла агента в редакторе процессов отображается тег Файлы, а в трейсинге в конфигурации агента показаны параметр Файлы проекта со значением «Включено» и выбранные области записи и чтения.
Области записи и чтения
Куда агент пишет:
- Своя папка — агент создаёт, перезаписывает и удаляет файлы только в
agents/<ID агента>/. Пути он указывает относительно этой папки, а попытка выйти за её пределы (например, через../) отклоняется. - Весь проект — агент указывает пути от корня хранилища и может создавать и перезаписывать любые файлы проекта, в том числе загруженные пользователями. Удалять файлы в этом режиме агент не может (кроме сочетания с чтением «Своя папка», см. ниже).
Что агент читает:
- Весь проект — все файлы хранилища, включая папки других агентов.
- Своя папка — только файлы в
agents/<ID агента>/.
Агент не может писать туда, откуда не может читать. Поэтому при сочетании «Весь проект» для записи и «Своя папка» для чтения запись тоже ограничивается своей папкой.
| Куда пишет | Что читает | Чтение | Запись | Удаление |
|---|---|---|---|---|
| Своя папка | Весь проект (по умолчанию) | Всё хранилище | Своя папка | В своей папке |
| Своя папка | Своя папка | Своя папка | Своя папка | В своей папке |
| Весь проект | Весь проект | Всё хранилище | Всё хранилище | Недоступно |
| Весь проект | Своя папка | Своя папка | Своя папка | В своей папке |
- В режиме «Весь проект» для записи агент может перезаписать любой файл проекта, включая загруженные людьми. Включайте этот режим, только если агенту действительно нужно обновлять общие файлы.
- Содержимое файла попадает в контекст модели так же, как результаты поиска по базе знаний. Если в хранилище могут попасть файлы из ненадёжных источников, учитывайте, что инструкции в их тексте могут повлиять на поведение агента.
Инструменты
Когда доступ включён, агент получает четыре инструмента. Префикс ws_ отличает их от пользовательских функций с похожими именами.
| Инструмент | Параметры | Назначение |
|---|---|---|
ws_list_files | prefix | Список файлов |
ws_read_file | path | Чтение текстового файла |
ws_write_file | path, content, mode | Создание, перезапись или дописывание текстового файла |
ws_delete_file | path | Удаление файла |
ws_list_files
Возвращает список файлов. Каждая строка содержит путь, размер в байтах, тип и дату изменения. За один вызов возвращается не больше 1000 файлов.
prefix— папка, содержимое которой нужно получить. Указывается относительно области чтения: от корня хранилища или от своей папки. Пустое значение выводит всю область чтения.
Пути в результате всегда указываются от корня хранилища, поэтому собственные файлы агента выглядят как agents/agt_a3B9kLm2/reports/summary.md.
ws_read_file
Возвращает содержимое файла в виде текста.
path— путь к файлу. Сначала файл ищется в собственной папке агента, затем в области чтения. Поэтому свой файл агент читает по тому же пути, по которому его записал (reports/summary.md), а общие файлы — по пути от корня (pricing/price-list.md).
Ограничения:
- Читаются только текстовые файлы. Для PDF, изображений, DOCX и других двоичных форматов агент получает только тип и размер файла, без содержимого.
- Файлы больше 2 МБ не читаются.
- Модель получает не больше 50 000 символов. Остальное обрезается, а в конце текста ставится пометка об обрезке.
ws_write_file
Записывает текст в файл.
path— путь относительно области записи. Если папок из пути нет, они появятся автоматически.content— текст файла. Он сохраняется в кодировке UTF-8.mode:overwrite— создать файл или заменить его содержимое;append— дописать текст в конец файла (если файла нет, он будет создан).
В режиме «Своя папка» не добавляйте к пути префикс agents/<ID агента>/, даже если он виден в результате ws_list_files. Иначе файл окажется во вложенной папке agents/<ID>/agents/<ID>/....
Тип файла определяется по расширению: .md сохраняется как text/markdown, .csv — как text/csv, .json — как application/json. Файл с неизвестным расширением получает тип application/octet-stream, и агент потом не сможет его прочитать. Поэтому указывайте в путях текстовые расширения.
Ограничения:
- Один вызов записывает не больше 2 МБ.
- За один диалог агент может записать файлы не больше 20 раз. Счётчик сбрасывается через час после первой записи.
ws_delete_file
Удаляет файл.
path— путь относительно своей папки.
Удалять файлы агент может только в своей папке. Если и запись, и чтение настроены на «Весь проект», удаление недоступно.
Ошибки и отказы
Если операция невозможна, например путь выходит за пределы области агента, файл не найден, превышен лимит или закончилось место, инструмент возвращает модели текст с причиной, начинающийся с Refused:. Агент видит этот ответ и может изменить действия: выбрать другой путь, сократить содержимое или сообщить пользователю об ошибке.
Инструкции для агента
Платформа не добавляет в системный промпт сведений о файлах: агент знает только описания инструментов. Поэтому в инструкциях стоит указать, какие файлы существуют, когда их читать и куда сохранять результаты:
## Файлы
- Актуальный прайс-лист лежит в `pricing/price-list.md`. Перед ответом на вопрос о ценах прочитай его через ws_read_file.
- После каждого обращения дописывай краткое резюме в `journal.md` (ws_write_file, режим append).
- Не создавай другие файлы без явной просьбы пользователя.
Публикации
Настройки доступа к файлам фиксируются в публикации вместе с остальной конфигурацией агента. Сами файлы в публикацию не копируются: опубликованный агент работает с текущим содержимым хранилища проекта и записывает файлы туда же.
Несколько агентов
Доступ к файлам включается для каждого агента отдельно. В мульти-агентной архитектуре каждый агент команды по умолчанию пишет в свою папку. При настройке чтения по умолчанию («Весь проект») агенты видят файлы друг друга. Например, специалист может сохранить результат в своей папке, а оркестратор прочитать его по пути agents/<ID специалиста>/....
Ограничения
| Ограничение | Значение |
|---|---|
| Объём хранилища проекта | 1 ГБ |
| Размер файла при загрузке пользователем | Ограничен свободным местом |
| Предпросмотр текстовых файлов | До 1 МБ |
| Предпросмотр изображений и PDF | До 25 МБ |
| Чтение файла агентом | До 2 МБ; модель получает до 50 000 символов |
| Одна запись агента | До 2 МБ |
| Число записей агента | 20 за диалог |
Файлов в одном ответе ws_list_files | 1000 |
| Файлов, отображаемых в разделе «Файлы» | 20 000 |
Место в хранилище общее для пользователей и всех агентов проекта. Когда оно заканчивается, загрузка файлов завершается ошибкой, а агент получает отказ при записи. Чтобы освободить место, удалите ненужные файлы.
Указаны значения для стандартной конфигурации платформы. В выделенной инсталляции лимиты могут быть другими.
Практические сценарии
Справочные материалы для агента
Загрузите регламенты, прайс-листы и шаблоны ответов в текстовом формате (.md, .txt, .csv, .json) в общую папку, например docs/. Оставьте чтение в режиме «Весь проект», а в инструкциях укажите пути к файлам. В отличие от базы знаний, агент получает весь документ, а не отдельные фрагменты. Это удобно для коротких документов, которые нужно учитывать полностью.
Чтобы обновить материалы, загрузите новую версию файла с тем же именем, и она заменит старую. Агент начнёт использовать новую версию со следующего обращения к файлу.
Отчёты и выгрузки
Агент формирует отчёт, таблицу .csv или заметки по итогам диалога и сохраняет их в своей папке. Пользователи скачивают результаты в разделе Файлы. Колонка Кем создан показывает, какой агент создал файл.
Накопительный журнал
Режим append позволяет дописывать данные в один файл, например вести журнал обращений. Учитывайте, что агент не может прочитать файл больше 2 МБ. Если журнал растёт быстро, разбивайте его по периодам (journal/2026-10.md) и укажите это в инструкциях.
Обмен результатами между агентами
Специалисты сохраняют промежуточные результаты в своих папках, а оркестратор или другой агент читает их по полному пути. Если у всех участников для записи выбран режим «Своя папка», каждый агент изменяет только свою папку и агенты не перезаписывают файлы друг друга.