Hub documentation

Format Jejak Sesi

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

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" }
fieldwajibcatatan
typeyaharus "session"
harnessyaid dari harness yang menghasilkan trace
idyaid sesi unik
nametidakjudul yang dapat dibaca manusia
…tidakmetadata 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:

fieldwajibcatatan
roleya"user" · "assistant" · "system" · "tool"
contentyateks (dapat kosong)
reasoningContenttidakpenalaran model, ditampilkan sebagai blok berpikir terpisah
toolCallstidakpanggilan alat asisten: [{ "id", "function": { "name", "arguments" } }] (arguments adalah string JSON)
toolCallIdtidakpada pesan role: "tool", mengaitkan hasilnya dengan toolCalls[].id yang dijawab
timestamptidakmilidetik epoch
modeltidaknama 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.

Update on GitHub