Hub documentation
会话跟踪格式
单点登录(SSO) 审计日志 存储区域 用于私有数据集的 Data Studio 资源组(访问控制) 高级计算选项 高级安全 令牌管理 服务账号 发布者分析 门控组集合 网络安全 下载分析 速率限制 博客文章
PRO 计划 仓库 入门仓库 仓库设置 存储限制 存储后端(Xet) 本地缓存 Pull Requests 与 Discussions 通知 集合 Webhooks GitHub Actions Notebooks 后续步骤 许可证
模型 数据集 Spaces Spaces 概览 Spaces GPU 升级 Spaces ZeroGPU Spaces 开发模式 Spaces 磁盘使用量与存储 Spaces 自定义域名 Spaces 作为 MCP 服务器 Spaces 作为智能体工具 将 Spaces 用作 API 端点 Gradio Spaces Streamlit Spaces 静态 HTML Spaces Docker Spaces 嵌入您的 Space 使用 Docker 运行 Spaces Spaces 配置参考 使用 HF 登录按钮 精选 Spaces Spaces 更新日志 高级主题
存储桶 new 容器镜像 new 任务 智能体 智能体概述 Hugging Face AI 智能体 CLI Hugging Face MCP 服务器 Hugging Face Agent Skills 使用 HF SDK 构建智能体 使用 llama.cpp 的本地代理 Agent 库 会话跟踪格式
其他 会话跟踪格式
Claude Code、Codex、Pi、Hermes Agent 和 Factory Droid 的 Agent traces 开箱即用(参见 Agent Traces)。如果您自行构建 harness,可以按照下文描述的 Session Trace Simple Format (STS-Format) 编写其会话,使其在相同的查看器中渲染。
会话跟踪简单格式(STS-Format) 是一种 JSONL 文件(每行一个 JSON 对象),Hugging Face Hub 会检测该文件并在其跟踪查看器中渲染。它通过一个头部行后跟若干消息行来捕获单个智能体/聊天会话。
1. 会话标题(第一行)
{ "type": "session", "harness": "my-agent", "id": "b1a2c3", "name": "Implementing a new API" }| field | 必需 | notes |
|---|---|---|
type | 是的 | 必须为 "session" |
harness | 是的 | 生成该跟踪记录的harness 的 id |
id | 是的 | 唯一的会话 ID |
name | no | 人类可读的标题 |
| … | no | 任何额外的元数据都是允许的,但会被忽略 |
harness 是关键字段:它是 harness 的 id,用于告知 Hub 该为会话使用哪个渲染器、图标和标签。当前已识别的 id 为:llama.app。在此处添加新的 harness 标识符非常容易。
正在构建自己的测试框架?请通知我们,我们将为其添加图标和标签,以便您的会话以您的品牌样式呈现。
2. 消息(后续每一行)
每一行都是信封中的一条消息:
{ "type": "message", "message": { "role": "assistant", "content": "…" } }message 对象:
| field | 必需 | notes |
|---|---|---|
role | 是的 | "user" · "assistant" · "system" · "tool" |
content | 是的 | 文本(可以为空) |
reasoningContent | no | 模型推理,显示为独立的思考块 |
toolCalls | no | 助手工具调用:[{ "id", "function": { "name", "arguments" } }](arguments 是一个 JSON 字符串) |
toolCallId | no | 在 role: "tool" 消息上,将结果与其所响应的 toolCalls[].id 关联起来 |
timestamp | no | epoch 毫秒 |
model | no | 模型名称 |
工具结果是带有 role: "tool" 并携带 toolCallId 的消息;查看器会将每个结果拼接在产生它的调用旁边。
示例
{"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"}}将生成的 .jsonl 上传到 Dataset 或 Storage Bucket,即可在 trace viewer 中打开。
替代方案:Pi 的会话格式
如果您不想采用上述格式,可以输出 Pi 的会话格式(session-format.md),Hub 已支持该格式。在这种情况下,请在 Pi 的会话头行中也添加一个 harness: "..." 字段,以便 Hub 能够将追踪记录归属到您的 harness。