API Files memungkinkan Anda menyediakan konteks ke dalam Session—seperti repositori kode, konfigurasi, dokumen referensi, dan sebagainya. Agent dapat membaca file-file ini untuk memahami tugas.
Alur Kerja
POST /files — unggah konten biner dan tentukan purpose.
POST /sessions/{session_id}/resources — sambungkan file yang diunggah ke Session tersebut.
Agent membaca isi file selama Session berlangsung dan menyelesaikan tugas.
Unggah File
POST https://api.qoder.com.cn/api/v1/cloud/files
Content-Type: multipart/form-dataParameter
| Field | Type | Required | Description |
|---|---|---|---|
| binary | Yes | Konten file | |
| string | Yes | Tujuan file (lihat tabel) | |
| string | No | Nama file kustom |
Nilai Tujuan
| Nilai | Makna | Produsen | Dapat Diunduh |
|---|---|---|---|
| File input yang diunggah pengguna | User | Tidak | |
| File yang dihasilkan oleh eksekusi tool | Agent/tool | Ya | |
| File yang dihasilkan oleh Skill | Agent/Skill | Ya | |
| File resource dengan cakupan session | User/system | Tidak | |
| File output akhir Agent | Agent | Tidak |
Hanya file tool_output dan skill_output yang dapat diunduh melalui titik akhir /content. Tujuan lainnya hanya untuk penggunaan internal Agent.
Contoh Pengunggahan curl
curl -X POST https://api.qoder.com.cn/api/v1/cloud/files \
-H "Authorization: Bearer $QODER_PAT" \
-F "file=@./src/main.py" \
-F "purpose=user_upload"Respons:
{
"file_id": "file_019e6a18dc0978e9a2104c9b269748ac",
"filename": "main.py",
"purpose": "user_upload",
"size_bytes": 4096,
"metadata": {},
"mime_type": "text/plain",
"status": "ready",
"created_at": "2026-05-01T10:00:00Z",
"updated_at": "2026-05-01T10:00:00Z"
}Pengunggahan beberapa file:
# Unggah satu per satu
curl -X POST https://api.qoder.com.cn/api/v1/cloud/files \
-H "Authorization: Bearer $QODER_PAT" \
-F "file=@./config.yaml" \
-F "purpose=user_upload"
curl -X POST https://api.qoder.com.cn/api/v1/cloud/files \
-H "Authorization: Bearer $QODER_PAT" \
-F "file=@./requirements.txt" \
-F "purpose=user_upload"Kaitkan pada Sesi
Setelah mengunggah, gunakan Resources API untuk memasang file pada Session tertentu:
POST https://api.qoder.com.cn/api/v1/cloud/sessions/{session_id}/resourcesBadan permintaan — bungkus entri dalam array resources, yang juga mendukung pemasangan batch:
{
"resources": [
{
"type": "file",
"file_id": "file_abc123"
}
]
}Contoh Mount curl
curl -X POST https://api.qoder.com.cn/api/v1/cloud/sessions/sess_abc123/resources \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"resources": [
{"type": "file", "file_id": "file_abc123"}
]
}'Me-mount beberapa file dalam satu permintaan:
curl -X POST https://api.qoder.com.cn/api/v1/cloud/sessions/sess_abc123/resources \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"resources": [
{"type": "file", "file_id": "file_abc123"},
{"type": "file", "file_id": "file_def456"},
{"type": "file", "file_id": "file_ghi789"}
]
}'Unduh File
Hanya file tool_output dan skill_output yang dapat diunduh:
curl https://api.qoder.com.cn/api/v1/cloud/files/file_abc123/content \
-H "Authorization: Bearer $QODER_PAT" \
-o output.txtUntuk tujuan lain, permintaan ke /content akan mengembalikan 403 Forbidden.
Periksa Metadata File
curl https://api.qoder.com.cn/api/v1/cloud/files/file_abc123 \
-H "Authorization: Bearer $QODER_PAT"Daftar File
curl "https://api.qoder.com.cn/api/v1/cloud/files?purpose=user_upload" \
-H "Authorization: Bearer $QODER_PAT"Pemfilteran berdasarkan purpose didukung.
Contoh Menyeluruh
# 1. Unggah file sumber
FILE_ID=$(curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/files \
-H "Authorization: Bearer $QODER_PAT" \
-F "file=@./app.py" \
-F "purpose=user_upload" | jq -r '.file_id')
echo "Uploaded: $FILE_ID"
# 2. Buat Sesi
SESSION_ID=$(curl -s -X POST https://api.qoder.com.cn/api/v1/cloud/sessions \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{"agent": "agent_abc123"}' | jq -r '.id')
# 3. Pasang file pada Sesi
curl -X POST "https://api.qoder.com.cn/api/v1/cloud/sessions/$SESSION_ID/resources" \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d "{\"resources\": [{\"type\": \"file\", \"file_id\": \"$FILE_ID\"}]}"
# 4. Kirim Tugas — Agen dapat mereferensikan file yang dipasang
curl -X POST "https://api.qoder.com.cn/api/v1/cloud/sessions/$SESSION_ID/events" \
-H "Authorization: Bearer $QODER_PAT" \
-H "Content-Type: application/json" \
-d '{
"events": [
{"type": "user.message", "content": [{"type": "text", "text": "Review app.py and fix the bugs."}]}
]
}'Tanya Jawab
T: Berapa lama file yang diunggah disimpan? J: File berbagi siklus hidup dengan sumber daya induknya (Agent atau Session). Saat Session dihapus, file terkait akan dibersihkan.
T: Dapatkah saya menyambungkan file saat membuat Sesi? J: Saat ini, hal ini memerlukan dua langkah: unggah, lalu pasang. Operasi gabungan mungkin akan ditambahkan nanti.
T: Mengapa saya tidak dapat mengunduh file user_upload? J: Demi keamanan, unggahan mentah pengguna hanya tersedia untuk penggunaan internal Agent. Untuk mengekspor hasil, Agent harus menghasilkan file baru dengan tujuan tool_output atau skill_output.
T: Format file apa saja yang didukung? J: File biner apa pun diizinkan. File teks seperti kode, konfigurasi, dan dokumen memberikan pemahaman terbaik.