结果共享

Hub

远程 dataset 目录、组织、Jobs 和排行榜。

Hub(apps/hub)是连 Registry 的网页端,浏览共享的 dataset、插件、Agent 和运行结果。公开实例是 ageval.zjureal.com。浏览器里点 Sign in with GitHub 登录即用;CLI 仍走 Device Flow。

本地开发

# 终端 A — 先起 Registry(需配置 OAuth)
export VITE_REGISTRY_PROXY_TARGET=http://127.0.0.1:8700
uv run --extra registry python -m services.registry.app --host 127.0.0.1 --port 8700

# 终端 B
cd apps/hub
pnpm install
pnpm dev   # http://127.0.0.1:5174

也可用 docker compose -f services/registry/docker-compose.yml up -d 一次起 Hub(http://127.0.0.1:8080)与 Registry。发版镜像在 GHCR:ghcr.io/zju-real/ageval-hub、ageval-registry。

路径页面
/重定向到 /leaderboard
/home个人主页(需登录)
/leaderboard默认首页。Leaderboard plaza:已上榜 Dataset suite 与 Agent / Model Performance 的索引(默认 Dataset 视图;?view=agent / ?view=model)
/datasets列表(Explore / Your organizations,默认 Explore)
/datasets/:idREADME · Tasks · Shared(有 shared/ 时)· Overlays(声明了 overlays: 时)· Hosted · Leaderboard
/datasets/:id/tasks/:taskREADME · Files(Local | Shared | Overlays)· Jobs
/plugins插件市场
/plugins/:id插件详情(声明接入点时间线 · 文件预览 · CLI 安装命令)
/agentsAgent 目录(内置 Agent 包在前,再是 upload)
/inbox调用方可决定的待处理上榜 / Performance 申请
/agents/:id绑定、文件、已登记 model、Performance
/modelsModels plaza(按 lab 分组目录表 · 模态过滤 · Cmd/Ctrl+F 搜索)
/models/:canonical模型百科(Overview 规格 · Performance)
/organizations我的组织 · 创建 / 加入 · Dataset / 插件 / Agent 计数
/organizations/:orgId概览(成员 · Dataset · 插件 · Agent)· Secrets(成员)· 设置
/users/:login公开用户页(官方组织与公开 Dataset / 插件 / Agent;未登录可看)
/datasets/:id/tasks/:task/attempts/:runId远程 Attempt 详情(需已上传对应运行产物)
/datasets/:id/suites/:suiteRunId整份运行详情(Profiles / Plugin / Jobs / Share)

命令与部署写在 apps/hub/README.md、services/registry/README.md。

Dataset 与 Task

  • 列表按组织分组:组头是组织名与描述,行里有名称、描述、task 数与更新日期;点开读 README、预览 Task 文件。宽屏时右侧有一条跳转:收起的短条按包数量缩放,悬停显示组织标和名称,点击把该组织的表钉到吸顶栏下面。窄屏,或只剩一个组织时,不显示这条跳转。
  • 版本切换:有权限的人能看到 draft (current),其他人切已发布的 release;org owner 可发布 draft、改公开/私有、删版本
  • 包声明了根 shared/ 或 overlays: 时,Task Files 顶栏多出 Shared / Overlays 范围(默认 Local)
  • Task 下的 Jobs 列出已上传的运行结果,能点进详情看轨迹(界面和本地 Viewer 相近)
按组织分组的 Dataset 列表
Dataset 列表,按组织分组。

Leaderboard

  • 侧栏 Catalog 首位是 Leaderboard(/leaderboard),/ 也落到这里。是已有三面的索引,不是第四套排名:Dataset 视图按 Dataset 分组(组头是名称与描述),只列公开上榜的整份运行;Agent / Model 视图走已有 Performance 门(plaza 采集或 Agent 组织同意)。三张表成员可以不一致。未登录可看。Internal、draft 绑定、未列出的 suite 不出现在 plaza,仍只在 Dataset 详情的 Leaderboard tab。宽屏时同一条右侧跳转对应当前视图的组:一份 Dataset、一个 Agent 组织(内置组没有组织标),或一个 lab。Table / Pareto / Waffle 仍留在该 Dataset 组上。窄屏,或只剩一组时,不显示这条跳转。
  • plaza Dataset 视图可切 Table / Pareto / Waffle(与 Dataset 详情 Leaderboard 同一套控件,在 Dataset tab 行右侧;图按 Dataset 组分)。指标写在每一行上,不可跨 Dataset 比;没有名次列。Agent / Model 只要表。
榜单 Dataset 视图,一张表
Dataset 视图。一行是一整份运行。
  • Public 只列完备、绑定 release、且经 dataset 所属组织 owner 批准上榜的整份运行;Internal 用同一张表列当前可见的缺题 / draft 绑定结果
  • 同一 tab 可切 Table / Pareto / Waffle。Pareto 横轴是整份运行里 全部 job 的花费、token 或时间加总(左便宜、右更贵);没有 agent 上报 USD 时用目录价估算(不是账单)。更高 pass rate、又不更贵的点连成前沿
  • 表头可排序。Dataset / Agent 表的 Model 格在能对应到目录模型时前置 lab 标;plaza Model 视图组头已有标,行内不再重复。Harness / Agent 格在能对应到内置 harness 时前置产品标
  • 点行打开详情页:Profiles / Plugin / Jobs,附无密钥 YAML 与再跑命令。Dataset 表里点 Harness / Model 分别进对应 Agent 页 / 模型百科(能匹配时);suite 详情标题行同一套。站内文字链 rest 用正文色,hover 才下划线;站外链接仍是蓝色。上传者可 Share、Delete,或 Attach 一条已发布的 model / agent 溯源
  • 上榜与 Performance 申请由组织 owner 在 Inbox 批量处理
deep-swe 的 Waffle,模型在 harness 上面
同一张榜的 Waffle。一格是一次试验。列标题是模型,下面是 harness。

插件、Agent 与模型

  • 插件 / Agent 市场用卡片展示:说明、标签、下载量与收藏;详情页有声明接入点时间线、文件预览与 CLI 安装命令
  • Agent 详情含绑定、文件与 Performance
  • 侧栏 Models 是按 lab 分组的模型目录(Context / 价格等规格,可搜索,行名进百科页);价格是目录价,不是账单。没有 logo 的实验室及其模型不进这个目录。宽屏时右侧跳转按 lab;窄屏,或只剩一个 lab 时,不显示。
  • 官方组织、其成员与插件带验证标识
插件市场,卡片列表
插件。一张卡片是一个包。

组织与协作

  • 创建组织,或用邀请码加入;邀请码只在创建时完整展示一次
  • owner / admin 按 GitHub login 管成员与角色,可转让组织;member 可在该组织下 publish
  • 私有结果可分享给某个组织或用户;登录后的 Home 汇总你上传的 Jobs、包、插件与 Agent

和 Viewer 的区别

ViewerHub
数据本机 .ageval/suite-runs/Registry
入口ageval view浏览器打开 Hub
Jobs 产物本地 run 目录需先上传到 Registry

Jobs 列表里,已有运行产物的行可以点进去看;没上传的会显示 Not uploaded。

上传什么才能在 Hub 上看到

你想看需要上传怎么跑 / 传
Dataset Public Leaderboard 一行完备、绑定 release、且 Dataset org owner 已批准上榜的整份运行先 ageval publish --draft 再 ageval release(或直接 ageval publish)→ 省略 --task 的 ageval run → upload-suite --suite-run <id> → ageval results request --kind leaderboard_list --suite-run <id>(owner 在 Hub Inbox 批准)
Leaderboard Internal当前可见的缺题或 draft 绑定的整份运行同样 upload-suite;不会出现在 Public
Task Jobs 可点开 Attempt / 轨迹整份运行 + 各次运行的证据upload-suite --with-attempts(或等价挂上 task_refs 的各次运行);缺题 / draft 绑定也出现在这里
给已上传的整份运行补一个 finished 成员新的一次运行 + 现行指针本机 --resume-suite --replace-slot,再 upload-suite --suite-run <id> --task <id> [--run <run_id>]。Hub / Viewer 默认现行;版本列表是 patch N + 该次运行开始时间
只归档一次运行ageval results upload --run <run_id>可以进 Registry,但 通常不会出现在 Leaderboard
# 正确:整份 dataset 跑完再上榜
ageval run <dataset> --profiles <profiles.yaml>
ageval results upload-suite <dataset|id@version> --suite-run <8-hex> --public --with-attempts

# 不够:只上传单题的一次运行 → 榜上经常空白
# ageval run <dataset> --task <id>
# ageval results upload <dataset> --run <run_id>

快照分享

快照分享是一条只读链接,对应本机的一份 suite,正在跑的也可以。默认链接定格在上传那一刻的 summary 和 Attempt 证据。upload-suite 仍然拒绝未结束的 summary。ageval results share 仍是把结果交给某个 org 或用户。上榜仍走 upload-suite 和 owner 批准。

ageval results share-snapshot <dataset> --suite-run <id> --hub-url https://hub.example
ageval results share-snapshot <dataset> --suite-run <id> --run <run_id> --hub-url https://hub.example
ageval results share-snapshot <dataset> --run <run_id> --hub-url https://hub.example
ageval results share-snapshot <dataset> --suite-run <id> --live --hub-url https://hub.example
ageval results sync-snapshot <dataset> --suite-run <id>

--suite-run 上传整份 suite。--run 只上传这一次 Attempt。两个一起用,只上传该 suite 里的这一次 job。命令打印 {hub}/s/{token}。本地 Viewer 打开一份 suite 时,分享框可以选定格或 live。打开一个 job 时仍是定格。点开先说明这一下会上传,确认后给出链接和复制按钮。再次点开可以看到这条链接,也可以取消共享。live 链接会标明 job 结束时还会更新。拿到链接的人不用登录就能打开,看到的是上传那一刻的 jobs 和 Attempt 证据。之后本机或 Hub 上的内容变了,默认链接里的内容不变。

--live 仍用这一条 {hub}/s/{token}。某个 job 结束时,链接里的 suite 进度会更新。若创建 live 链接时 suite 还没开始,runner 大约每 45 秒再送一次计数和状态。suite 已经在跑、之后才 --live 的,job 结束仍会更新;中间的计数用 sync-snapshot --heartbeat。runner 停了以后,sync-snapshot 用同一个 token 把当前 summary 再送一次。Hub 页面在 live 时会自己刷新。打开某次 Attempt,看到的是已经上传的文件。

ageval results revoke-snapshot <token 或 url> 删掉链接。定格链接和 live 链接都走这一条。本机 .ageval/suite-runs 和 .ageval/runs 还在。suite 的公开或私有、以及已经上榜的状态,都保持原样。链接没有到期时间。

体积上限与 upload-suite 相同,512 MiB。上传前、以及每次 live 更新,都会去掉不是环境变量名的 api_key。这条链接不能再导入成目录里的 suite,也不能拿去申请上榜。

Dataset Leaderboard 默认列出该包全部过门的整份运行。页顶版本切换只切 README / Tasks;榜上 Public 右侧的版本选择器才按这次上传的 dataset_version 过滤,默认 All versions。

Hub 前端必须指向与 ageval login / ~/.ageval/credentials 同一 Registry(本机开发常见 127.0.0.1:8700)。

本页目录