onescience-runsite
解析、校验、保存和复用 OneScience 运行站点配置。用于任意技能在继续执行任务前补齐运行站点配置,完成配置发现、缺失字段补问、已有配置复用、remote 连接验证、运行平台 DCU/GPU 类型确认、modules 写入和结构化回传。不做安装、不提交作业、不执行运行、不做远端环境诊断。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
解析、校验、保存和复用 OneScience 运行站点配置。用于任意技能在继续执行任务前补齐运行站点配置,完成配置发现、缺失字段补问、已有配置复用、remote 连接验证、运行平台 DCU/GPU 类型确认、modules 写入和结构化回传。不做安装、不提交作业、不执行运行、不做远端环境诊断。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
OneScience ModelScope 模型发布技能。将论文复现模型产物重组为 ModelScope 标准目录结构,检查核心目录内容完整性,生成平台必需的配置模板和审计工具,并输出 modelscope upload 命令引导用户推送到魔搭平台。作为 onescience-orchestrator 的执行技能使用。
OneScience 原语资源召回技能。根据自然语言需求检索相关原语资源(模型、组件、数据管线、应用、工作流规划、契约等),通过范围判定、快速过滤和语义匹配召回,按内容需求返回相应知识;不做科研规划与代码实现。
OneScience / OneSkills 的通用任务编排主控,也是体系默认执行入口。它负责根据统一资源契约的资源摘要识别用户意图,召回并融合 type=expert 规划技能的 proposal,维护 Task State,绑定资源,并按执行技能能力边界拆分和调度 type=executor 的 coder/paper-repro/runtime/installer/evaluator 等执行技能,把复杂目标组织成可追踪、可回退、可闭环的任务流。用户提示词中出现“使用onescience”“使用onescience技能”“使用oneskills”“使用oneskills技能”等表达时默认先进入本技能;仅当用户已明确指定要直接使用的具体技能(如“使用onescience-runtime技能执行运行”)时,才可跳过本技能并直接调用目标技能。它不承载具体领域专家知识;新增任务类型应通过新增资源包、专家规划技能或执行技能扩展。注意:本技能负责编排调度但不直接执行任务,规划和执行不能在同一调用步骤中完成。
OneScience 科学模型训练执行技能。用于用户希望基于文本说明、网页说明、本地项目路径、已有 checkpoint 或项目原生训练入口来规划、生成并执行模型训练工作流,覆盖气象/地球系统、生信、材料、流体和通用科研模型等领域,包括训练信息获取、数据与切分规划、训练策略整理、完整训练脚本内容生成、训练执行组织以及结果验证。接收格式与 onescience-orchestrator 调用执行技能时的 step_handoff 保持一致,返回 execution_result。需要时协调交接给 onescience-coder、onescience-runtime 以及数据工作流技能。
OneScience 环境安装技能。用于根据 onescience.json 安装或验证 OneScience、创建或复用 conda 环境、检测已有 onescience 包、在记录的 conda 环境或当前环境中安装 Python 包;缺少 run_site 或远程 SSH 配置时先调用 onescience-runsite 补齐运行站点配置。
【统一运行与基础诊断技能】按 discover、preflight、execute、diagnose 固定闭环执行测试任务,依据 onescience.json 的 execution_profile 三元组路由执行通道;SCnet 提交任务时必须读取根级 onescience.json.scnet 并把 region、partition/queue、work_dir 和资源参数交给 scnet-chat;配置问题自动委托 onescience-runsite 补齐后回到 runtime 继续原测试任务,环境问题自动委托 onescience-installer 安装或修复并 verify 成功后回到 runtime 继续原测试任务;当 execution_mode 为 slurm 且提交或运行反馈表明 partition、gpus_per_node、memory 等资源不可用时,探测可用 SLURM 资源并受控调整后重试。
| name | onescience-runsite |
| description | 解析、校验、保存和复用 OneScience 运行站点配置。用于任意技能在继续执行任务前补齐运行站点配置,完成配置发现、缺失字段补问、已有配置复用、remote 连接验证、运行平台 DCU/GPU 类型确认、modules 写入和结构化回传。不做安装、不提交作业、不执行运行、不做远端环境诊断。 |
| type | executor |
onescience-runsite 是独立的配置工作流。它只负责把用户的运行位置、调度方式、接入方式、账号信息和资源提示整理成项目根目录的
onescience.json,然后把交接信息交回调用它的技能;若没有明确调用方,交回 onescience-orchestrator 让其规划下一步。
强制先读 references/runsite_interaction_flow.md,并按其中的分支顺序推进。不要一次性并行读取所有参考文件,也不要在没有命中分支前加载本地、远程、检查和契约等全部文档。
执行顺序必须是:
./onescience.json。runsite_interaction_flow.md 判断分支:存在且完整、存在但不完整、不存在。runsite_contract.md。| 任务 | 读取 |
|---|---|
| 入口顺序、分支判断、中文补问顺序 | references/runsite_interaction_flow.md |
| 职责边界、字段含义、交接格式 | references/runsite_contract.md |
检查、复用或修改已有 onescience.json | references/check_existing_config.md |
| 创建本地配置 | references/local_runsite.md |
| 创建远程配置,包含 SSH 或 SCnet | references/remote_runsite.md |
onescience.json 不完整时,必须先根据 run_site、execution_mode、access_mode 判断哪些配置块是必填,再只补问这些必填块中缺失的字段;补问时仍必须列出每个缺失字段。run_site=remote,都必须校验并补齐 SSH 字段:host/别名、hostname、port、user、identity_file、remote_work_dir。run_site=remote 且 access_mode=scnet,都必须额外校验并补齐 SCnet 字段:SCNET_ACCESS_KEY、SCNET_SECRET_KEY、SCNET_USER、region、remote_work_dir。execution_mode=slurm,都必须校验并补齐 Slurm 字段:partition、nodes、gpus_per_node、cpus_per_task、memory、time_limit、gpu_type、ntasks_per_node。dcu 还是 gpu,再生成配置。有脚本时优先用 scripts/runsite_config.py、scripts/ssh_config.py、scripts/scnet_config.py。
onescience-runsite 只负责以下 onescience.json 字段的创建和更新:
必须管理的字段:
runtime.execution_profile(run_site、execution_mode、access_mode)runtime.ssh(当 run_site=remote 时)runtime.scnet(当 access_mode=scnet 时)runtime.cluster(当 execution_mode=slurm 时)runtime.target(平台类型、硬件类型)runtime.environment(CPU 和加速器环境信息)runtime.modules(环境模块列表)runtime.resources(资源配置)runtime.env_vars(环境变量)禁止管理的字段:
runtime.conda:由 onescience-installer 技能独占管理行为规则:
onescience.json 时,只写入本技能负责的字段,不写入 runtime.condaonescience.json 时,只更新本技能负责的字段,保留其他技能写入的字段runtime.conda 字段(由 installer 负责验证)runtime.execution_profile 只使用下面三个字段:
{
"run_site": "local|remote",
"execution_mode": "slurm|null",
"access_mode": "ssh|scnet|"
}
规则:
run_site 只能是 local 或 remote。execution_mode 只能是 slurm 或 null。access_mode 只能是 ssh 或 scnet;当 run_site=local 时必须为空字符串 ""。execution_channel。remote_slurm、remote_direct、cloud_api 这些旧值写入新配置。禁止:
conda create、pip install、git clone、bash install.shsbatch、srun、训练脚本、推理脚本sbatch、squeue、sacct、module/conda 检查、远端可写性检查scnet-chat 执行任务onescience.jsoncluster_data.json、run_site_data.json、temp_*_data.jsonruntime.conda 字段:该字段由 onescience-installer 技能负责管理允许:
./onescience.jsonsbatchassets/runsite.example.json 和各类 profile~/.ssh/config 和 ~/.scnet-chat.envonescience.json 不存在时创建它onescience.jsononescience.jsonpython skills/onescience-runsite/scripts/runsite_config.py --config-path ./onescience.json check
python skills/onescience-runsite/scripts/runsite_config.py detect-local-slurm
python skills/onescience-runsite/scripts/runsite_config.py detect-hardware
python skills/onescience-runsite/scripts/runsite_config.py detect-hardware --ssh-alias <alias>
python skills/onescience-runsite/scripts/runsite_config.py --config-path ./onescience.json generate --run-site local --execution-mode none --accelerator-kind dcu
python skills/onescience-runsite/scripts/runsite_config.py --config-path ./onescience.json modify --field runtime.cluster.partition --value hpctest01
远程凭据保存:
python skills/onescience-runsite/scripts/ssh_config.py add --host <host> --port <port> --user <user> --identity <identity_file> --alias <alias>
python skills/onescience-runsite/scripts/ssh_config.py check --alias <alias>
python skills/onescience-runsite/scripts/scnet_config.py set --access-key <key> --secret-key <secret> --user <user> --region <region>
python skills/onescience-runsite/scripts/scnet_config.py check-login
远程生成时直接传 JSON 或环境变量,不创建临时 JSON 文件:
python skills/onescience-runsite/scripts/runsite_config.py --config-path ./onescience.json generate \
--run-site remote \
--execution-mode slurm \
--access-mode ssh \
--accelerator-kind dcu \
--ssh-data '{"host":"cluster","hostname":"192.168.1.100","port":22,"user":"alice","identity_file":"~/.ssh/id_rsa","remote_work_dir":"/home/alice/work"}' \
--cluster-data '{"partition":"hpctest01","nodes":1,"gpus_per_node":1,"cpus_per_task":8,"memory":"64GB","time_limit":"02:00:00","gpu_type":"dcu","ntasks_per_node":1}'
完成发现、创建、复用或修改后,输出不含密钥明文的结构化交接:
{
"config_file": "./onescience.json",
"config_exists": true,
"execution_profile": {
"run_site": "local|remote",
"execution_mode": "slurm|null",
"access_mode": "ssh|scnet|"
},
"hardware_detected": {
"accelerator_kind": "dcu|gpu",
"accelerator_vendor": "amd|nvidia",
"cpu_arch": "x86_64|arm64"
},
"credential_source": "~/.ssh/config|~/.scnet-chat.env|null",
"account_summary": {
"ssh_host_alias": "name-or-null",
"scnet_user": "name-or-null"
},
"cluster_config": {
"scheduler_type": "slurm|null",
"partition": "...",
"resources": {}
},
"next_action": "onescience-runtime|onescience-installer|ask_user"
}
onescience-runsite 是被其它技能临时调用来补齐配置,完成后必须优先回到调用它的技能,让调用方重新读取 ./onescience.json 并继续原任务。onescience.json。next_action 必须是 onescience-orchestrator,由 orchestrator 重新规划下一步。next_action 设为 ask_user。onescience-runtime 或 onescience-installer;除非它们就是调用方。onescience-runsite 只做配置发现、补问、保存、复用和交接。新版入口是 run_site + execution_mode + access_mode,当
run_site=local 时 access_mode 必须为空。