Вы можете предоставить файлы вашему агенту, загрузив их через 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, чтобы получить список файлов, относящихся к сессии, и скачать их.
# Список файлов, связанных с сессией
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.beta.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?