Puedes proporcionar archivos a tu agente subiéndolos a través de la Files API y montándolos en el sandbox de la sesión.
Todas las solicitudes a la Managed Agents API requieren el encabezado beta managed-agents-2026-04-01. El SDK establece el encabezado beta automáticamente.
Primero, sube un archivo usando la Files API:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Monta los archivos subidos en el sandbox agregándolos al arreglo resources al crear una sesión:
El mount_path es opcional, pero asegúrate de que el archivo subido tenga un nombre descriptivo para que el agente pueda identificarlo.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/workspace/data.csv",
},
],
)Se crea un nuevo file_id que hace referencia a la instancia del archivo en la sesión. Estas copias no cuentan para tus límites de almacenamiento.
Monta múltiples archivos agregando entradas al arreglo 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"},
]Se admite un máximo de 100 archivos por sesión.
Puedes agregar o eliminar archivos de una sesión después de crearla usando la API de recursos de sesión. Cada recurso tiene un id que se devuelve cuando se agrega (o se lista), el cual usas para las eliminaciones.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Lista todos los recursos de una sesión con resources.list. Para eliminar un archivo, llama a resources.delete con el ID del recurso:
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)Usa la Files API para listar los archivos asociados a una sesión y descargarlos.
# Lista los archivos asociados a una sesión
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for f in files:
print(f.id, f.filename)
# Descarga un archivo
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")El agente puede trabajar con cualquier tipo de archivo, incluyendo:
.py, .js, .ts, .go, .rs y otros).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz): el agente puede extraerlos usando bashLos archivos montados en el sandbox son copias de solo lectura. El agente puede leerlos pero no puede modificar el archivo original subido. Para trabajar con versiones modificadas, el agente escribe en nuevas rutas dentro del sandbox.
/)Was this page helpful?