Skip to main content
运行 osmosis -h 查看所有可用命令。每个 sub-command 都支持 -h / --help 全局输出 flags --json--plain 位置无关 —— 在 command 之前或之后均可使用:
使用 --json 便于自动化和 AI agents。使用 --plain 获得低噪声 shell 输出。

quickstart

交互式设置:登录、clone 您的 workspace,并获得第一段 agent prompt。
Wizard 会认证 CLI、解析要使用的 workspace、等待 workspace repository 连接并 clone 它、报告 billing 是否已设置,然后询问您想做什么。训练模型、在数据集上评估模型和运行 benchmark 这三项都会针对该目标打印一段 agent prompt;选择先探索则改为打印文档链接。 在 workspace clone 内运行 osmosis quickstart 时,wizard 会通过 git remote 识别出该 workspace。在空目录或无关目录中运行时,它会列出您所属的所有 workspaces 并请您选择一个。使用 --workspace <name> 可跳过选择器,直接按名称指定 workspace。当您属于多个 workspaces 时这会很有用。 它可以安全地重复运行:每一步都会先检查当前状态再做修改,因此对已经配置好的 workspace,它会给出一份全部通过的检查报告,然后直接询问您接下来想做什么。从空目录再次运行时,它会复用为该 workspace 记录的上一次 clone 路径(前提是该路径仍然存在)。Wizard 需要交互式终端,且只以 rich 输出模式运行,因此无法配合 --json--plain 使用 —— 它自动完成的手动步骤参见 Onboarding

auth

管理 CLI 认证。
在 workspace repository 内运行 osmosis auth whoami 时,CLI 也会解析已链接的 Platform workspace,并在 --json 中作为 workspace 对象(idnamerole)返回,或在普通输出中以 WorkspaceRole 行显示。在 workspace repository 之外,或该仓库未链接到 Platform workspace 时,workspacenull,其余输出不变。该命令始终会向 Platform 校验本地凭证或 OSMOSIS_TOKEN,因此需要网络连接;未登录或 session 过期时会以 AUTH_REQUIRED 失败。

doctor

检查并可选修复 workspace directory scaffold。
当您已登录且 workspace directory 的 origin remote 连接到 Platform 时,doctor 也会报告已链接的 workspace(Linked workspace: <name>,在 --json 中作为 workspace resource 字段)。该查询为尽力而为 —— 离线或未登录时该字段为 nulldoctor 仍可正常工作。

template

从 Osmosis workspace template catalog 添加 starter rollouts。

template list

列出可用 starter templates。

template apply


rollout

创建本地 rollout scaffolds,并列出已同步 rollouts。

rollout init

会创建:
  • rollouts/<name>/main.py
  • rollouts/<name>/pyproject.toml
  • rollouts/<name>/README.md
  • configs/eval/<name>.toml
  • configs/training/<name>.toml

rollout list


eval

提交并管理 evaluation runs,并在本地运行 LLM-as-judge rubric 评分。

eval submit

configs/eval/ 下的 TOML config 提交一次 evaluation run。平台会克隆由 origin remote 标识的 workspace repository,并在服务端运行 rollout,因此请在提交前 push commits。
[secrets].required 中的每个名称按以下顺序解析:--secrets-file、CLI 进程环境变量、已有 personal 或 workspace secret,最后才是在 stdin 为 TTY 时显示的隐藏 prompt。已有存储值由服务端解析。通过文件、环境变量或 prompt 在本地提供的值会随本次提交的 TLS 请求发送,但不会加入 Osmosis secret store 或持久化 run config,因此后续运行仍需重新提供。在非 TTY 环境下,经过 stored-secret 检查后仍未解析的名称会一次性报告,便于 CI 展示完整缺口。详见 [env][secrets]
Config 值来自本地 TOML 文件。Rollout 代码来自已同步的 workspace repository。使用 [experiment].branch[experiment].commit_sha 选择代码来源;二者互斥。

eval list

列出当前 workspace repository 的 evaluation runs,包含每次 run 的 status、平均 reward 和进度。

eval info

显示某次 evaluation run 的详细信息、结果与 metrics。
详情字段显示 name、status、进度(已完成行数和百分比)、耗时、pass rate、tokens 使用量、提交与完成时间,以及该 run 使用的 dataset、model 和 rollout。其后是两个 section:
  • Configuration — entrypoint、解析后的 config 值(limitnbatch_sizepass_threshold、各项超时)、branch、短 commit SHA、已解析的 secret scope,以及 [env] 键。
  • Results — graded、passed、failed、skipped 计数,pass 阈值,reward 统计(mean、std、min、median、max),以及 pass@k。
eval info 只报告聚合结果。平台日志请使用 eval logs,逐行 trajectory、artifact、metrics 和日志请使用 eval download 对于已完成的 run,eval info 还会从平台拉取 metrics(耗时、pass rate、tokens 使用量、reward 统计、pass@k),并导出为 JSON:
  • 在 rich 模式下,若 metrics 可用,CLI 会默认将其保存到 .osmosis/evals/<name>/metrics.json
  • 在 JSON 或 plain 模式下,使用 -o / --output 指定 run 输出根目录;CLI 会在该目录下写入 metrics.json
  • CLI 会自动创建上级目录。
  • 若 metrics 尚不可用(例如 run 仍处于 pending 状态),CLI 会打印提示,而不会写入文件。
-o / --output 现在指向 run 输出根目录,而不是 metrics 文件名。.osmosis/metrics/ 下的旧文件不会被删除——在新布局下重新运行 eval info 后,请手动清理。

eval download

将 evaluation run 的输出(metrics、trajectories、artifacts、logs)从平台下载到本地磁盘。
文件会落到一份固定的、按 run 划分的目录结构下,便于重复运行时断点续传:
行为:
  • 本地大小与平台 manifest 一致的文件会被跳过,除非传入 --overwrite。因此重新执行命令只会拉取缺失或未完成的文件。
  • 总下载量超过 100 MiB 时需要确认;在脚本中可用 --yes 跳过提示。
  • 预签名 URL 会按批请求,最多同时下载 8 个文件。每个文件先写入 *.partial,在校验大小后原子性移动到位。
  • 失败的文件会带指数退避重试。若仍有文件失败,CLI 会列出每个失败路径并以 partial 状态退出——再次运行命令即可只重试缺失的部分。
  • pending 状态的 run 会提前失败并给出明确提示;平台负责权威的路径校验。

eval stop

停止一次 pending 或 running 的 evaluation run。

eval logs

按时间顺序(从最早开始)显示 evaluation run 的最近生命周期日志。用于诊断失败的运行。
当存在更早的条目时,--json 输出会包含非 nullnext_cursor。将其传给 --cursor 即可继续向前翻页。

eval rubric

对 JSONL conversation 文件在本地运行 LLM-as-judge evaluation。该子命令不需要 workspace directory 或平台认证,也不会运行 rollout。

benchmark

查看当前 workspace 中的托管 benchmark,并提交、查看和管理 benchmark runs。benchmark listbenchmark info 作用于 benchmark 本身,即 workspace 列表和单个 benchmark 的页面。针对单个 run 的命令位于 benchmark runs 之下。

benchmark list

列出已经添加到当前 workspace 的 benchmark。
表格与 Platform 的 benchmarks 页面一致:Name、对 shell 友好的 Key、Last Run、Tasks 和 Added By。Last Run 显示最新 run 的状态、距今时长和名称(Finished · 2d ago · brave-otter)。key、区分大小写的准确名称和 ID 都可用于 [experiment].benchmark。JSON 列表项包含 run_countrunning_countlast_run_atlast_run_statuslast_run_namecreator_name Harbor registry benchmark 在被添加后,其 task 列表才会从 registry 分页同步进来。同步完成前,Last Run 显示同步状态而不是 run(Syncing · 412 / 500 tasks),Tasks 列留空,并且无法针对它提交 run。同步失败的 benchmark 会在 Last Run 中说明原因,在 Tasks 列显示 unavailable,并返回 sync_error;请在 Platform 的该 benchmark 页面上重试同步。返回的 platform_url 会打开该页面,其中包含它的 leaderboard 和 runs。

benchmark info

显示 benchmark 的摘要、leaderboard 和 runs。
普通输出先显示 benchmark 摘要(source 的上游页面地址、runner、task 和 category 数量、命名 task set、harness 与 judge 要求,以及 pass threshold),随后是该 benchmark 的 leaderboard 和 workspace 在其上的 runs 表格。--limit--all 作用于 runs 表格。若某个 benchmark 的公开分数是在特定 harness 上测得的,该 harness 会作为默认值一并显示。LLM Judge 行在由 run 选择 judge model 时显示 Required (default: <model>),在 adapter 固定自身 grader、run 只需提供 judge_api_key_secret 时显示 API key only (pinned grader),在 benchmark 不使用 judge 时显示 。JSON 输出还会包含完整 task manifest 和 leaderboard 数组:
每个 leaderboard 条目包含排名和 tied 标志(当配对检验无法将该 entrant 与排名第一的 entrant 区分时置位,此时它与其并列第 1)。它还会给出 task set(fullparity)、harness 和 model,以及产生该成绩的 run 的 idnameplatform_url。随后是五项排序指标:带置信区间的 pass_at_1pass_at_k、按 task 计的 cost_per_taskmean_duration_secondstokens_per_task。这与 Platform leaderboard 的排序指标相同。 JSON manifest 中的每个 task 都有 difficulty 字段,值为 easymediumhardnullnull 表示 source 未提供难度,客户端绝不能自行推断。 对于 HLE,benchmark info 还会把 parity 标记为推荐的命名 task set。Config 中省略 [tasks] 会选择完整 benchmark;如需子集,请使用 task_namescategories 或列出的 task_set

benchmark submit

configs/benchmark/ 下的 Osmosis TOML config 提交 benchmark run。
[experiment].benchmark 指定的 benchmark 必须已经添加到当前 workspace。命令会在提交前预览选中的 tasks、agents、尝试次数、并发数和解析后的 secret scopes。[secrets].required 名称使用与 eval 和 training 相同的文件 → 进程环境变量 → 已存 personal/workspace secret → 隐藏 TTY prompt 顺序。本地提供的值会标记为 Run,并随本次提交的 TLS 请求传输,但不会加入 Osmosis secret store 或持久化 run config;已存值由服务端解析。其他所有 secret 引用(model 的 api_key_secretharness_api_key_secretjudge_api_key_secret[verifier].required)必须已存在于 workspace 或 personal scope 中。结果包含生成的 run 名称、task 数量、状态和 platform_url CLI workflow 参见 Benchmarks,完整 TOML schema 参见配置文件

benchmark runs list

列出当前 workspace 的 benchmark runs。表格与 Platform 的 runs 表格一致:Name、Status、Progress、Benchmark、Agents、Best Pass@1、Submitted 和 Submitted By。

benchmark runs info

显示 benchmark run 的配置、agents、进度、result totals 和 metrics。
摘要显示状态、进度、时长、best pass@1 和提交信息。Agents 部分按 run 页面 Agent Results 表格的方式为每个 agent 打分:排名、带区间的 pass@1、最深的 pass@k,以及按 task 计的 cost、time 和 tokens。Results totals 显示各类结果数量、input 与 output token,以及 LLM Cost;后者是使用您自己 provider key 产生的模型花费,不由 Osmosis 计费。结果中包含 platform_url,可用于在 Platform 中打开该 run。

benchmark runs logs

按时间顺序(从最早开始)显示 benchmark run 的最近生命周期日志。可用于监控进度和诊断失败。
当存在更早的条目时,--json 输出会包含非 nullnext_cursor。将其传给 --cursor 即可继续向前翻页。

benchmark runs stop

停止 pending、queued 或 running 状态的 benchmark run。

benchmark runs download

下载 benchmark summary metrics、task-level results、result artifacts 或 logs。
下载使用固定的、按 run 划分的目录结构:
除非传入 --overwrite,CLI 会跳过本地已完整下载的文件;未完成的下载会先写入临时文件再原子性移动到位。若重试后仍有文件失败,CLI 会报告这些文件;再次运行同一命令即可只获取缺失或未完成的文件。 pendingqueued 状态的 run 尚无可下载输出。下载 running 状态的 run 会得到当前快照;使用 --overwrite 可刷新本地已有文件。

secret

管理 Platform environment_secret records。Train 和 eval config 通过 [secrets].required 引用这些 records。Benchmark config 会引用 model (api_key_secret)、harness (harness_api_key_secret) 和 judge (judge_api_key_secret) records,以及 [verifier].required 中列出的所有数据集校验器 records。Osmosis 从不向 CLI 返回 secret 值——这些命令只显示或接受 names 和 metadata。值通过隐藏的交互式 prompt 或具名环境变量读取,绝不通过明文命令行参数传入。 每个 secret 都有 scope
  • Workspace secrets 在 workspace 内共享,创建、更新或删除需要 admin 或 owner 角色。
  • Personal secrets 是您个人私有的。当 workspace 与 personal secret 同名时,运行时使用您的 personal 值。把 personal secrets 用于覆盖,例如替换自己的 provider API key 而不影响队友。
Secret 名称必须匹配 ^[A-Z][A-Z0-9_]*$(SCREAMING_SNAKE_CASE)。

secret list

列出当前 workspace 中您可见的 secrets(只显示 names 和 metadata,从不显示值)。
输出包含一列 Scope,标记为 WorkspacePersonal

secret set

创建或更新(upsert)一个 secret。CLI 从 --env VARNAME 指定的环境变量读取值;若未指定该 flag,您在隐藏的交互式 prompt 中输入。在 --json--plain(非交互)模式下,您必须传入 --env

secret delete

在指定 scope 中删除一个 secret。除非您传入 --yes,CLI 会提示确认。

dataset

管理当前 workspace repository 的平台数据集。
数据集名称根据文件名(去掉扩展名)生成。如果同名数据集已存在,上传会失败——使用 --overwrite 替换它(旧记录会被软删除)。 使用 osmosis dataset logs <name> 诊断失败的上传。--limit 接受 1–200 条(默认:50)。当存在更早的条目时,--json 输出会包含非 nullnext_cursor;将其传给 --cursor 可继续向前翻页。
osmosis dataset upload 在非交互模式下(--json--plain 或通过管道传入 stdin)必须显式传入 --yes-y)。即使带上 --overwrite,缺少 --yes 也会抛出 INTERACTIVE_REQUIRED。在 CI 任务和脚本化上传中加上 --yes 即可跳过确认提示。

train

提交并管理当前 workspace repository 的训练任务。

train submit

Config 值来自本地 TOML 文件。训练代码来自已同步的 workspace repository。[secrets].required 名称使用 eval submit 中记录的文件 → 进程环境变量 → 已存 personal/workspace secret → 隐藏 TTY prompt 解析顺序;本地提供的值会随当前 TLS 请求传输,但不会加入 Osmosis secret store 或持久化 run config。

train info

显示训练任务详情、checkpoints 和 metrics。运行过程中,summary 面板会显示进度(current_step / total_steps 及完成百分比)和最新的 reward。在 rich mode 下,metrics 默认保存到 .osmosis/metrics/

train logs

按时间顺序(从最早开始)显示 training run 的最近生命周期日志。用于诊断失败或崩溃的运行。
当存在更早的条目时,--json 输出会包含非 nullnext_cursor。将其传给 --cursor 即可继续向前翻页。

其他 train 命令

train list 会显示每个 run 的 status、当前 step / 总 step 以及最新的 reward。

model

管理 base(基础)models 和由 training runs 产生的 LoRA models。部署 LoRA model 即可将其用于 inference。

model list

以两个独立分页的部分列出当前 workspace 的 base models 和 LoRA models(先 base,再 LoRA)。base 表显示 Name、Created、Created By。LoRA 表显示 Name、Base Model、Training Run、Checkpoint Step、Training Reward、Created。当 deployment info 可用时,LoRA 表还会显示 Deployment Status,并在下方显示部署配额汇总(例如 2 of 5 inference deployments used)。
--limit--all 对每个列表独立生效,每个列表也都各自携带分页游标(next_offset)。
--json 输出对两个列表分别使用不同的 key,结构本身即可表明各列表的归属:
当 deployment info 可用时,active_deployments / max_active_deployments 配额字段仅在 --type all--type lora 中出现,--type base 不包含。

model info

显示单个 LoRA model 的详情:base model、training run、checkpoint step、training reward、Hugging Face 导出状态,以及 deployment info 可用时的部署状态。

model deploy

按名称部署或重新激活 LoRA model。

model undeploy

将 LoRA model 的部署切换为 inactive(幂等操作)。该 LoRA model 仍保留在 training run 历史中。
独立的 osmosis deploymentosmosis deployosmosis undeploy 命令已移除。请改用 osmosis model deploy <lora-model>osmosis model undeploy <lora-model>

upgrade

将 CLI 自升级到 PyPI 上发布的最新版本。
CLI 会自动检测您的安装方式(pippipxuv tool),并运行相应升级命令。
最后修改于 2026年8月11日