Du kannst deinem Agenten Dateien bereitstellen, indem du sie über die Files API hochlädst und in der Sandbox der Session mountest.
Lade zunächst eine Datei über die Files API hoch:
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Mounte hochgeladene Dateien in die Sandbox, indem du sie beim Erstellen einer Session zum resources-Array hinzufügst:
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)Mit dem vorstehenden mount_path liest der Agent die Datei unter /mnt/session/uploads/data.csv (siehe Dateipfade).
Es wird eine neue file_id erstellt, die auf die Instanz der Datei in der Session verweist. Diese Kopien zählen nicht zu deinen Speicherlimits.
Mounte mehrere Dateien, indem du Einträge zum resources-Array hinzufügst:
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"},
]Es werden maximal 500 Dateien pro Session unterstützt.
Du kannst nach der Erstellung Dateien über die Session-Resources-API zu einer Session hinzufügen oder daraus entfernen. Jede Ressource hat eine id, die beim Hinzufügen (oder Auflisten) zurückgegeben wird und die du zum Löschen verwendest.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Liste alle Ressourcen einer Session mit resources.list auf. Um eine Datei zu entfernen, rufe resources.delete mit der Ressourcen-ID auf:
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)Verwende die Files API, um Dateien aufzulisten, die einer Session zugeordnet sind, und sie herunterzuladen.
# Dateien auflisten, die mit einer Session verknüpft sind
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# Eine Datei herunterladen
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")Der Agent kann mit jedem Dateityp arbeiten, einschließlich:
.py, .js, .ts, .go, .rs und andere).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) – der Agent kann diese mit bash entpackenmount_path von /data.csv platziert die Datei unter /mnt/session/uploads/data.csv in der Sandboxmount_path weglässt, wird die Datei unter /mnt/session/uploads/<file_id> abgelegt/)Was this page helpful?