Agregar archivos
Sube archivos y móntalos en tu sandbox para leerlos y procesarlos.
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.
Subir archivos
Primero, sube un archivo usando la Files API:
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Montar archivos en una sesión
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 para tus límites de almacenamiento.
Múltiples archivos
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.
Administrar archivos en una sesión en ejecució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)Listar y descargar archivos de sesión
Usa la Files API para listar los archivos con alcance a una sesión y descargarlos. Los archivos que el agente escribe en /mnt/session/outputs/ aparecen en la lista poco después de que el agente termina de escribirlos, a veces unos segundos después de que la sesión queda inactiva. Si falta un archivo de salida que esperas, vuelve a listar después de una breve espera; una vez que aparece en la lista, su carga ha finalizado.
Filtrar por scope_id requiere el encabezado beta managed-agents-2026-04-01, por lo que los ejemplos de listado usan el espacio de nombres de archivos beta y pasan ese encabezado explícitamente.
# Lista los archivos asociados a 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)
# Descarga un archivo
content = client.files.download(files.data[0].id)
content.write_to_file("output.txt")Tipos de archivo admitidos
El agente puede trabajar con cualquier tipo de archivo, incluidos:
- Código fuente (
.py,.js,.ts,.go,.rsy otros) - Archivos de datos (
.csv,.json,.xml,.yaml) - Documentos (
.txt,.md) - Archivos comprimidos (
.zip,.tar.gz): el agente puede extraerlos usando bash - Archivos binarios: el agente puede procesarlos con las herramientas apropiadas
Rutas de archivos
- La ruta que especificas tiene su raíz en el directorio de cargas de la sesión: un
mount_pathde/data.csvcoloca el archivo en/mnt/session/uploads/data.csven el sandbox - Si omites
mount_path, el archivo se coloca en/mnt/session/uploads/<file_id> - Los directorios padre se crean automáticamente
- Las rutas deben ser absolutas (comenzando con
/) - Los archivos que el agente escribe en
/mnt/session/outputs/quedan disponibles a través de la Files API, con alcance a la sesión; consulta Listar y descargar archivos de sesión
Was this page helpful?