Du kannst deinem Agenten Dateien bereitstellen, indem du sie über die Files API hochlädst und in der Sandbox der Session mountest.
Alle Managed Agents API-Anfragen erfordern den Beta-Header managed-agents-2026-04-01. Das SDK setzt den Beta-Header automatisch.
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": "/workspace/data.csv",
},
],
)Es wird eine neue file_id erstellt, die auf die Instanz der Datei in der Session verweist. Diese Kopien werden nicht auf deine Speicherlimits angerechnet.
Mounte mehrere Dateien, indem du Einträge zum resources-Array hinzufügst:
resources = [
{"type": "file", "file_id": "file_abc123", "mount_path": "/workspace/data.csv"},
{"type": "file", "file_id": "file_def456", "mount_path": "/workspace/config.json"},
{"type": "file", "file_id": "file_ghi789", "mount_path": "/workspace/src/main.py"},
]Pro Session werden maximal 100 Dateien unterstützt.
Du kannst nach der Erstellung Dateien zu einer Session hinzufügen oder daraus entfernen, indem du die Session-Resources-API verwendest. 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.
# Liste die mit einer Sitzung verknüpften Dateien auf
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for f in files:
print(f.id, f.filename)
# Lade eine Datei herunter
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 extrahierenIn der Sandbox gemountete Dateien sind schreibgeschützte Kopien. Der Agent kann sie lesen, aber die ursprünglich hochgeladene Datei nicht ändern. Um mit geänderten Versionen zu arbeiten, schreibt der Agent in neue Pfade innerhalb der Sandbox.
/)Was this page helpful?