Vous pouvez fournir des fichiers à votre agent en les téléversant via l'API Files et en les montant dans le sandbox de la session.
Commencez par téléverser un fichier à l'aide de l'API Files :
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Montez les fichiers téléversés dans le sandbox en les ajoutant au tableau resources lors de la création d'une session :
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)Avec le mount_path précédent, l'agent lit le fichier à l'emplacement /mnt/session/uploads/data.csv (voir Chemins de fichiers).
Un nouveau file_id est créé, qui référence l'instance du fichier dans la session. Ces copies ne sont pas comptabilisées dans vos limites de stockage.
Montez plusieurs fichiers en ajoutant des entrées au tableau 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"},
]Un maximum de 500 fichiers est pris en charge par session.
Vous pouvez ajouter ou supprimer des fichiers d'une session après sa création à l'aide de l'API des ressources de session. Chaque ressource possède un id renvoyé lors de son ajout (ou de son listage), que vous utilisez pour les suppressions.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Listez toutes les ressources d'une session avec resources.list. Pour supprimer un fichier, appelez resources.delete avec l'ID de la ressource :
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)Utilisez l'API Files pour lister les fichiers rattachés à une session et les télécharger. Le filtrage par scope_id nécessite l'en-tête bêta managed-agents-2026-04-01 ; les exemples de listage utilisent donc l'espace de noms beta des fichiers et transmettent explicitement cet en-tête. Le téléchargement d'un fichier ne nécessite pas d'en-tête bêta.
# Lister les fichiers associés à une session
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# Télécharger un fichier
content = client.files.download(files.data[0].id)
content.write_to_file("output.txt")L'agent peut travailler avec n'importe quel type de fichier, notamment :
.py, .js, .ts, .go, .rs et autres).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - l'agent peut les extraire à l'aide de bashmount_path de /data.csv place le fichier à l'emplacement /mnt/session/uploads/data.csv dans le sandboxmount_path, le fichier est placé à l'emplacement /mnt/session/uploads/<file_id>/)Was this page helpful?