Du kannst deinem Agenten Dateien bereitstellen, indem du sie über die Files API hochlädst und in der Sandbox der Session mountest.
Managed Agents API-Anfragen erfordern den Beta-Header managed-agents-2026-04-01, mit Ausnahme der Memory-Store-Endpunkte, die stattdessen agent-memory-2026-07-22 verwenden. Das SDK setzt den korrekten Beta-Header automatisch. Siehe Beta-Header.
Lade zunächst eine Datei über die Files API hoch:
file = client.beta.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:
Der mount_path ist optional, aber stelle sicher, dass die hochgeladene Datei einen aussagekräftigen Namen hat, damit der Agent sie identifizieren kann.
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 entpackenIn der Sandbox gemountete Dateien sind schreibgeschützte Kopien. Der Agent kann sie lesen, aber die ursprünglich hochgeladene Datei nicht verändern. Um mit geänderten Versionen zu arbeiten, schreibt der Agent in neue Pfade innerhalb der Sandbox.
mount_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?