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.
Primero, sube un archivo usando la Files API:
file = client.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:
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)Con el mount_path anterior, el agente lee el archivo en /mnt/session/uploads/data.csv (consulta Rutas de archivos).
Se crea un nuevo file_id que hace referencia a la instancia del archivo en la sesión. Estas copias no cuentan contra tus límites de almacenamiento.
Monta múltiples archivos agregando entradas al arreglo 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"},
]Se admite un máximo de 500 archivos por sesión.
Puedes agregar o eliminar archivos de una sesión después de su creación 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.
# Listar archivos asociados con una sesión
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# Descargar 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 bashmount_path de /data.csv coloca el archivo en /mnt/session/uploads/data.csv en el sandboxmount_path, el archivo se coloca en /mnt/session/uploads/<file_id>/)Was this page helpful?