Dateien hinzufügen
Lade Dateien hoch und binde sie in deiner Sandbox zum Lesen und Verarbeiten ein.
Du kannst deinem Agenten Dateien bereitstellen, indem du sie über die Files API hochlädst und sie in der Sandbox der Session einbindest.
Dateien hochladen
Lade zunächst eine Datei über die Files API hoch:
file = client.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Dateien in einer Session einbinden
Binde hochgeladene Dateien in die Sandbox ein, 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 vorangehenden 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.
Mehrere Dateien
Binde mehrere Dateien ein, 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"},
]Pro Session werden maximal 500 Dateien unterstützt.
Dateien in einer laufenden Session verwalten
Du kannst Dateien nach der Erstellung ü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)Session-Dateien auflisten und herunterladen
Verwende die Files API, um auf eine Session beschränkte Dateien aufzulisten und herunterzuladen. Dateien, die der Agent nach /mnt/session/outputs/ schreibt, erscheinen kurz nach dem Abschluss des Schreibvorgangs in der Liste, manchmal einige Sekunden nachdem die Session inaktiv wird. Wenn eine erwartete Ausgabedatei fehlt, liste nach einer kurzen Verzögerung erneut auf; sobald sie in der Liste erscheint, ist ihr Upload abgeschlossen.
Das Filtern nach scope_id erfordert den Beta-Header managed-agents-2026-04-01, daher verwenden die Listenbeispiele den beta-Files-Namespace und übergeben diesen Header explizit.
# Dateien auflisten, die mit einer Sitzung 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.files.download(files.data[0].id)
content.write_to_file("output.txt")Unterstützte Dateitypen
Der Agent kann mit jedem Dateityp arbeiten, einschließlich:
- Quellcode (
.py,.js,.ts,.go,.rsund andere) - Datendateien (
.csv,.json,.xml,.yaml) - Dokumente (
.txt,.md) - Archive (
.zip,.tar.gz) – der Agent kann diese mit bash extrahieren - Binärdateien – der Agent kann diese mit geeigneten Tools verarbeiten
Dateipfade
- Der von dir angegebene Pfad ist unter dem Uploads-Verzeichnis der Session verwurzelt: Ein
mount_pathvon/data.csvplatziert die Datei unter/mnt/session/uploads/data.csvin der Sandbox - Wenn du
mount_pathweglässt, wird die Datei unter/mnt/session/uploads/<file_id>platziert - Übergeordnete Verzeichnisse werden automatisch erstellt
- Pfade sollten absolut sein (beginnend mit
/) - Dateien, die der Agent nach
/mnt/session/outputs/schreibt, werden über die Files API verfügbar, beschränkt auf die Session; siehe Session-Dateien auflisten und herunterladen
Was this page helpful?