Puoi fornire file al tuo agente caricandoli tramite la Files API e montandoli nella sandbox della sessione.
Le richieste all'API Managed Agents richiedono l'header beta managed-agents-2026-04-01, ad eccezione degli endpoint del memory store, che utilizzano invece agent-memory-2026-07-22. L'SDK imposta automaticamente l'header beta corretto. Consulta Header beta.
Per prima cosa, carica un file utilizzando la Files API:
file = client.beta.files.upload(file=Path("data.csv"))
print(f"File ID: {file.id}")Monta i file caricati nella sandbox aggiungendoli all'array resources durante la creazione di una sessione:
Il mount_path è opzionale, ma assicurati che il file caricato abbia un nome descrittivo in modo che l'agente possa identificarlo.
session = client.beta.sessions.create(
agent=agent.id,
environment_id=environment.id,
resources=[
{
"type": "file",
"file_id": file.id,
"mount_path": "/data.csv",
},
],
)Con il mount_path precedente, l'agente legge il file in /mnt/session/uploads/data.csv (consulta Percorsi dei file).
Viene creato un nuovo file_id che fa riferimento all'istanza del file nella sessione. Queste copie non vengono conteggiate nei tuoi limiti di archiviazione.
Monta più file aggiungendo voci all'array resources:
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"},
]È supportato un massimo di 500 file per sessione.
Puoi aggiungere o rimuovere file da una sessione dopo la creazione utilizzando l'API delle risorse di sessione. Ogni risorsa ha un id restituito quando viene aggiunta (o elencata), che puoi usare per le eliminazioni.
resource = client.beta.sessions.resources.add(
session.id,
type="file",
file_id=file.id,
)
print(resource.id) # "sesrsc_01ABC..."Elenca tutte le risorse di una sessione con resources.list. Per rimuovere un file, chiama resources.delete con l'ID della risorsa:
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)Usa la Files API per elencare i file associati a una sessione e scaricarli.
# Elenca i file associati a una sessione
files = client.beta.files.list(
scope_id="sesn_abc123",
betas=["managed-agents-2026-04-01"],
)
for file in files:
print(file.id, file.filename)
# Scarica un file
content = client.beta.files.download(files.data[0].id)
content.write_to_file("output.txt")L'agente può lavorare con qualsiasi tipo di file, inclusi:
.py, .js, .ts, .go, .rs e altri).csv, .json, .xml, .yaml).txt, .md).zip, .tar.gz) - l'agente può estrarli usando bashI file montati nella sandbox sono copie di sola lettura. L'agente può leggerli ma non può modificare il file originale caricato. Per lavorare con versioni modificate, l'agente scrive su nuovi percorsi all'interno della sandbox.
mount_path di /data.csv posiziona il file in /mnt/session/uploads/data.csv nella sandboxmount_path, il file viene posizionato in /mnt/session/uploads/<file_id>/)Was this page helpful?