Добавление файлов
Загружайте файлы и монтируйте их в вашу песочницу для чтения и обработки.
Вы можете предоставить файлы вашему агенту, загрузив их через Files API и смонтировав их в песочнице (sandbox) сессии.
Загрузка файлов
Сначала загрузите файл с помощью Files API:
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Монтирование файлов в сессии
Смонтируйте загруженные файлы в песочницу, добавив их в массив resources при создании сессии:
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)С указанным выше mount_path агент читает файл по пути /mnt/session/uploads/data.csv (см. Пути к файлам).
Создаётся новый file_id, который ссылается на экземпляр файла в сессии. Эти копии не учитываются в ваших лимитах хранилища.
Несколько файлов
Смонтируйте несколько файлов, добавив записи в массив resources:
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/src/main.py"},
]Поддерживается максимум 500 файлов на сессию.
Управление файлами в работающей сессии
Вы можете добавлять или удалять файлы из сессии после её создания с помощью API ресурсов сессии. Каждый ресурс имеет id, возвращаемый при его добавлении (или получении списка), который вы используете для удаления.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Получите список всех ресурсов сессии с помощью resources.list. Чтобы удалить файл, вызовите resources.delete с идентификатором ресурса:
listed = client.beta.sessions.resources.list(session.id)
for entry in listed.data:
print(entry.id, entry.type)
client.beta.sessions.resources.delete(resource.id, session_id=session.id)Получение списка и скачивание файлов сессии
Используйте Files API, чтобы получить список файлов, относящихся к сессии, и скачать их. Файлы, которые агент записывает в /mnt/session/outputs/, появляются в списке вскоре после того, как агент завершает их запись, иногда через несколько секунд после перехода сессии в состояние ожидания. Если ожидаемый выходной файл отсутствует, запросите список снова после небольшой задержки; как только файл появится в списке, его загрузка завершена.
Фильтрация по scope_id требует бета-заголовка managed-agents-2026-04-01, поэтому примеры получения списка используют пространство имён файлов beta и передают этот заголовок явно.
# Список файлов, связанных с сеансом
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# Скачать файл
content = client.files.download(files.data[0].id)
content.write_to_file("output.txt")Поддерживаемые типы файлов
Агент может работать с любым типом файлов, включая:
- Исходный код (
.py,.js,.ts,.go,.rsи другие) - Файлы данных (
.csv,.json,.xml,.yaml) - Документы (
.txt,.md) - Архивы (
.zip,.tar.gz) — агент может распаковать их с помощью bash - Бинарные файлы — агент может обрабатывать их с помощью соответствующих инструментов
Пути к файлам
- Указанный вами путь располагается относительно каталога uploads сессии:
mount_pathсо значением/data.csvпомещает файл по пути/mnt/session/uploads/data.csvв песочнице - Если вы опустите
mount_path, файл помещается по пути/mnt/session/uploads/<file_id> - Родительские каталоги создаются автоматически
- Пути должны быть абсолютными (начинаться с
/) - Файлы, которые агент записывает в
/mnt/session/outputs/, становятся доступны через Files API в рамках сессии; см. Получение списка и скачивание файлов сессии
Was this page helpful?