Вы можете предоставить файлы вашему агенту, загрузив их через Files API и смонтировав их в песочнице сессии.
Запросы к Managed Agents API требуют бета-заголовка managed-agents-2026-04-01, за исключением конечных точек хранилища памяти, которые вместо этого используют agent-memory-2026-07-22. SDK устанавливает правильный бета-заголовок автоматически. См. Бета-заголовки.
Сначала загрузите файл, используя Files API:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Смонтируйте загруженные файлы в песочницу, добавив их в массив resources при создании сессии:
Параметр mount_path является необязательным, но убедитесь, что загруженный файл имеет описательное имя, чтобы агент мог его идентифицировать.
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) — агент может извлечь их с помощью bashФайлы, смонтированные в песочнице, являются копиями только для чтения. Агент может читать их, но не может изменять исходный загруженный файл. Для работы с измененными версиями агент записывает их по новым путям внутри песочницы.
mount_path со значением /data.csv помещает файл по пути /mnt/session/uploads/data.csv в песочницеmount_path, файл будет помещен по пути /mnt/session/uploads/<file_id>/)Was this page helpful?