ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

OpenResearch `orx instance` 实战指南:在组织中创建持久化独立计算实例

2026/9/19 19:17:46 拓冰建站 浏览量
OpenResearch `orx instance` 实战指南:在组织中创建持久化独立计算实例 OpenResearchorx instance实战指南在组织中创建持久化独立计算实例【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch导读orx instance是 OpenResearch 命令行工具中用于创建独立计算实例standalone instance的命令组它不受任何实验experiment约束在指定组织内预配一台持久化机器供你直接 SSH 登录进行手动或临时性工作。读完本文你将掌握orx instance create/list/delete三条命令的完整用法、--gpu/--cpu与--provider等参数的取舍规则并从源码层面理解实例创建请求POST /sandboxes的底层原理与异步预配机制。一、什么是独立实例与实验运行的分工在 OpenResearch 中计算资源的申请有两条截然不同的路径实验运行experiment run通过orx exp run发起与某个实验experiment绑定生命周期由运行流程管理任务结束即自动回收。独立实例standalone instance通过orx instance create发起属于组织级org-level而非项目级资源不依赖任何实验。它是一台持久的机器适合需要 SSH 进去手工操作、做临时性探索或长期驻留的场景。从源码注释可以看到这一设计定位src/commands/instance.rs 明确指出该命令组是“organization 中独立于任何实验的独立计算”且create是仪表盘dashboard上组织“Spin up”面板的 CLI 等价物——它直接请求POST /sandboxes预配一个组织级的沙箱sandbox机器而list/delete同时充当--backend openresearch实验箱在自动拆除失败后的清理路径。简单判断标准需要持久机器、手动工作 →orx instance需要跑一次实验 →orx exp run。二、快速开始三条核心命令orx instance命令组包含三个子命令create、list、delete分别对应预配、查看与销毁。以下用法直接来自 agent-skills/orx-instances/SKILL.md# GPU 实例1 块 H100_SXM磁盘默认 100GB orx instance create orgId --gpu H100_SXM --count 1 [--disk 100] # GPU 实例锁定到指定供应商 runpod orx instance create orgId --gpu H100_SXM --provider runpod # CPU 实例cpu5g 规格、8 个 vCPU orx instance create orgId --cpu cpu5g --vcpus 8关键规则原文要点全部保留orgId来自orx orgs命令的输出--gpu与--cpu必须二选一不能同时传入--count和--disk只对 GPU 实例生效--vcpus只对 CPU 实例生效省略--provider时系统自动选择最便宜的匹配报价显式传入则把供应商锁定预配是异步的命令会打印实例 id 和状态SSH 主机地址要等机器就绪后才出现。三、参数详解取值范围与默认值orx instance create的完整参数定义位于 src/main.rs结合 src/commands/instance.rs 的解析逻辑整理如下参数适用取值/默认值说明orgId全部来自orx orgs必填的位置参数指定实例所属组织--gpu idGPU如H100_SXM必须是orx compute返回的精确 GPU id而不是H100这样的系列名--count NGPU默认1每台实例的 GPU 数量--disk GBGPU默认100磁盘容量单位 GB--provider PGPU如runpod、vast、lambda锁定供应商省略则跨供应商选最便宜报价供应商名由服务端校验--cpu flavorCPUcpu5c/cpu5g/cpu5m计算优化 / 通用 / 内存优化三种口味--vcpus NCPU2、8、32默认8CPU 实例的 vCPU 档位几个值得注意的源码细节GPU 与 CPU 互斥校验在 src/commands/instance.rs--gpu与--cpu同时传入会直接报错Pass exactly one of --gpu or --cpu.--provider只有在带--gpu时才合法否则报--provider only applies with --gpu。参数缺失兜底如果既没有--gpu也没有--cpu命令会提示See orx compute for available GPUs.引导你先查看计算目录。服务端校验未知的--provider名称由服务端返回 400客户端不做本地白名单检查源码注释明确说明这一点。CPU 供应商从 src/commands/compute.rs 的注释可知CPU 报价--cpu目录目前是RunPod 独占的。四、源码级原理实例创建请求长什么样orx instance create的底层请求体定义在 src/client.rs。核心是SandboxTarget枚举它镜像了供应商目录中 GPU 与 CPU 两种形态序列化时用type字段区分new/new-cpu// GPU 实例SandboxTarget::New { type: new, gpu: H100_SXM, gpuCount: 1, diskGb: 100, provider: runpod // 可选省略 自动选最便宜 } // CPU 实例SandboxTarget::NewCpu { type: new-cpu, cpuFlavor: cpu5g, vcpuCount: 8 }外层请求体CreateSandboxBody只包含organizationId与target两个字段——注意源码注释特别强调projectId被有意省略因为new/new-cpu类型只接受组织级独立实例服务端会拒绝携带项目 id 的请求。这个请求体还有对应的单元测试佐证序列化结果见 src/client.rs例如SandboxTarget::NewCpu被断言序列化为{type: new-cpu, cpuFlavor: cpu5g, vcpuCount: 8}与上文 JSON 一致。五、异步预配从请求到可用的完整流程预配是异步的。create成功后会立即打印见 src/commands/instance.rs✓ Instance requested id: sandbox id status: 当前状态 type: 机器类型 provider: 供应商 # 存在时打印 gpu: H100_SXM x1 # GPU 实例CPU 实例打印 vcpus price: $价格/hr # 存在时打印 The box is provisioning; its SSH host appears once its online.原因在源码中写得很清楚API 返回的Sandbox对象中ssh_hostname、ssh_port、ssh_username在机器仍在预配时均为null见 src/client.rs 的字段定义因此创建阶段无法打印连接信息且当前 CLI 没有轮询命令。如何拿到 SSH 主机地址等机器就绪后用orx instance list orgId查看。list会为每台实例打印一行包含 id、状态、规格、价格与 SSH 端点见 src/commands/instance.rsid status H100_SXM x1 $2.34/hr roothostname:port id status 8 vcpus $0.50/hr roothostname:port规格行有三种形态GPU 实例显示GPU型号 xNCPU 实例显示N vcpus既无 GPU 又无 vCPU 计数时回退为byom。拿到userhost:port后即可直接 SSH 登录手工操作。六、生命周期管理查看与销毁查看实例orx instance list orgId列出组织内所有机器包括--backend openresearch实验箱在自动拆除失败后遗留的实例这正是list兼作清理排查工具的由来。销毁实例orx instance delete sandboxId终止实例并销毁其对应的供应商机器成功后打印✓ Termination requested for instance id.见 src/commands/instance.rs。当实验运行的自动拆除teardown失败时这就是手动清理的后备路径。七、配套命令从哪里拿到参数要正确使用orx instance create通常需要配合两条查询命令orx orgs列出你所属的组织拿到orgIdSKILL 文档明确指定了来源。orx compute查看可用的计算目录。src/commands/compute.rs 说明它列出跨供应商、跨区域的 GPU 报价表并按价格升序排列可用--gpu、--count、--provider过滤加--cpu则列出 CPU 报价。目录中出现的任何供应商都可以通过orx instance create直接预配——这正是--gpu必须使用精确 id如H100_SXM而非系列名的原因。此外SSH 连接依赖公钥注册执行orx ssh-key add见 src/commands/ssh_key.rs把你的公钥绑定到 OpenResearch 账户否则实例就绪后无法登录。若机器上还没有密钥可先用ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519生成再注册。八、与实验运行的关系--backend openresearchorx instance与实验运行并非完全割裂。在本地项目orx up中执行orx exp run --backend openresearch --flavor h100_sxm[:count] # 或 CPU 口味--flavor cpu5c[:vcpus]会由运行流程自动预配并回收一个 openresearch 后端的实验箱其口味flavor语法与实例命令同源GPU 用h100_sxm[:count]CPU 用cpu5c|cpu5g|cpu5m[:vcpus]见 src/jobs/openresearch.rs 与 src/local/openresearch.rs。区别在于实验箱生命周期由运行管理一旦自动拆除失败就需要用orx instance list发现残留、orx instance delete手动清理而独立实例则完全由你通过这三条命令掌控想留多久留多久。九、最佳实践与注意事项先查目录再下单--gpu值以orx compute输出为准避免拼写不匹配导致 400。默认值意识GPU 默认 1 卡、100GB 磁盘CPU 默认 8 vCPU需要更大规格务必显式传参。供应商策略不追求特定供应商时省略--provider自动拿最便宜报价对成本或区域有要求时显式锁定。异步耐心创建后 SSH 主机不会立即出现稍后用orx instance list orgId确认状态变为就绪并读取端点。先注册公钥确认执行过orx ssh-key add否则实例就绪也无法登录。及时清理独立实例按小时计费list输出含$/hr用完即delete实验箱自动拆除失败时同样用listdelete兜底避免成本滞留。以上内容均以当前仓库实际实现为准命令行为对应 src/commands/instance.rs参数定义对应 src/main.rsAPI 请求体与响应模型对应 src/client.rs。如需进一步了解供应商目录、SSH 密钥管理或实验后端可继续查阅 src/commands/compute.rs、src/commands/ssh_key.rs 与 src/jobs/openresearch.rs。【免费下载链接】OpenResearchTurn your coding agents into research agents项目地址: https://gitcode.com/GitHub_Trending/op/OpenResearch创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考