Вы можете предоставить файлы своему агенту, загрузив их через Files API и смонтировав их в песочнице сессии.
Все запросы к Managed Agents API требуют бета-заголовка managed-agents-2026-04-01. 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": "/workspace/data.csv",
},
],
)Создаётся новый file_id, который ссылается на экземпляр файла в сессии. Эти копии не учитываются в ваших лимитах хранилища.
Смонтируйте несколько файлов, добавив записи в массив resources:
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py"},
]Поддерживается максимум 100 файлов на сессию.
Вы можете добавлять или удалять файлы из сессии после её создания с помощью 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 f in files:
print(f.id, f.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Файлы, смонтированные в песочнице, являются копиями только для чтения. Агент может читать их, но не может изменять исходный загруженный файл. Для работы с изменёнными версиями агент записывает данные по новым путям внутри песочницы.
/)Was this page helpful?