Hub documentation
Format Jejak Sesi
Format Jejak Sesi
Jejak agen dari Claude Code, Codex, Pi, Hermes Agent, dan Factory Droid didukung secara bawaan (lihat Jejak Agen). Jika Anda membangun harness Anda sendiri, Anda dapat membuat sesi-sesinya dirender di viewer yang sama dengan menuliskannya dalam Session Trace Simple Format (STS-Format) yang dijelaskan di bawah.
Session Trace Simple Format (STS-Format) adalah file JSONL (satu objek JSON per baris) yang dideteksi dan dirender oleh Hugging Face Hub di trace viewer-nya. Format ini menangkap satu sesi agen/chat sebagai baris header yang diikuti oleh baris pesan.
1. Header sesi (baris pertama)
{ "type": "session", "harness": "my-agent", "id": "b1a2c3", "name": "Implementing a new API" }| field | wajib | catatan |
|---|---|---|
type | ya | harus "session" |
harness | ya | id dari harness yang menghasilkan trace |
id | ya | id sesi unik |
name | tidak | judul yang dapat dibaca manusia |
| … | tidak | metadata tambahan apa pun diizinkan dan diabaikan |
harness adalah field utama: ini adalah id dari harness, dan memberi tahu Hub renderer, ikon, dan label mana yang harus digunakan untuk sesi. Id yang saat ini dikenali: llama.app. Sangat mudah untuk menambahkan pengidentifikasi harness baru di sini.
Membangun harness Anda sendiri? Hubungi kami dan kami akan menambahkan ikon dan label untuknya agar sesi Anda dirender dengan branding Anda.
2. Pesan (setiap baris berikutnya)
Setiap baris adalah satu pesan dalam amplop:
{ "type": "message", "message": { "role": "assistant", "content": "…" } }Objek message:
| field | wajib | catatan |
|---|---|---|
role | ya | "user" · "assistant" · "system" · "tool" |
content | ya | teks (dapat kosong) |
reasoningContent | tidak | penalaran model, ditampilkan sebagai blok berpikir terpisah |
toolCalls | tidak | panggilan alat asisten: [{ "id", "function": { "name", "arguments" } }] (arguments adalah string JSON) |
toolCallId | tidak | pada pesan role: "tool", mengaitkan hasilnya dengan toolCalls[].id yang dijawab |
timestamp | tidak | milidetik epoch |
model | tidak | nama model |
Hasil tool adalah pesan dengan role: "tool" yang membawa toolCallId; viewer menempelkan setiap hasil di samping panggilan yang memproduksinya.
Contoh
{"type":"session","harness":"my-agent","id":"abc123","name":"what time is it"}
{"type":"message","message":{"role":"user","content":"what time is it?"}}
{"type":"message","message":{"role":"assistant","content":"","toolCalls":[{"id":"t1","function":{"name":"get_time","arguments":"{}"}}]}}
{"type":"message","message":{"role":"tool","toolCallId":"t1","content":"2026-07-01T15:00:00Z"}}
{"type":"message","message":{"role":"assistant","content":"it is 15:00 UTC"}}Unggah .jsonl yang dihasilkan ke Dataset atau Storage Bucket untuk membukanya di trace viewer.
Alternatif: Format sesi Pi
Jika Anda lebih memilih untuk tidak mengadopsi format di atas, Anda dapat mengeluarkan format sesi Pi (session-format.md), yang sudah didukung oleh Hub. Dalam hal itu, tambahkan juga field harness: "..." ke baris header sesi Pi, agar Hub dapat mengaitkan trace tersebut dengan harness Anda.