Sie können Dateien für Ihren Agent bereitstellen, indem Sie sie über die Files API hochladen und in den Container der Sitzung mounten.
Alle Managed Agents API-Anfragen erfordern den managed-agents-2026-04-01 Beta-Header. Das SDK setzt den Beta-Header automatisch.
Laden Sie zunächst eine Datei mit der Files API hoch:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Mounten Sie hochgeladene Dateien in den Container, indem Sie sie beim Erstellen einer Sitzung zum Array resources hinzufügen:
Der mount_path ist optional, aber stellen Sie sicher, dass die hochgeladene Datei einen aussagekräftigen Namen hat, damit der Agent weiß, wonach er sucht.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/workspace/data.csv",
},
],
)Eine neue file_id wird erstellt, die auf die Instanz der Datei in der Sitzung verweist. Diese Kopien werden nicht auf Ihre Speicherlimits angerechnet.
Mounten Sie mehrere Dateien, indem Sie Einträge zum Array resources hinzufügen:
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 Sitzung werden maximal 100 Dateien unterstützt.
Sie können Dateien einer Sitzung nach der Erstellung über die Sitzungsressourcen-API hinzufügen oder entfernen. Jede Ressource hat eine id, die beim Hinzufügen (oder Auflisten) zurückgegeben wird und die Sie zum Löschen verwenden.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Listen Sie alle Ressourcen in einer Sitzung mit resources.list auf. Um eine Datei zu entfernen, rufen Sie 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)Verwenden Sie die Files API, um Dateien aufzulisten, die auf eine Sitzung beschränkt sind, und um sie herunterzuladen.
# List files associated with a session
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for f in files:
print(f.id, f.filename)
# Download a file
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, usw.).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - der Agent kann diese mit Bash extrahierenDateien, die im Container gemountet sind, sind schreibgeschützte Kopien. Der Agent kann sie lesen, aber nicht die ursprüngliche hochgeladene Datei ändern. Um mit geänderten Versionen zu arbeiten, schreibt der Agent in neue Pfade innerhalb des Containers.
/)Was this page helpful?