Вы можете предоставить файлы вашему агенту, загрузив их через Files API и смонтировав их в песочнице сессии.
Сначала загрузите файл с помощью 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, чтобы получить список файлов, относящихся к сессии, и скачать их. Фильтрация по 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) — агент может распаковать их с помощью bashmount_path со значением /data.csv помещает файл по пути /mnt/session/uploads/data.csv в песочницеmount_path, файл будет помещён по пути /mnt/session/uploads/<file_id>/)Was this page helpful?