SuperAPI AI 工具集

dev-container

编程与开发

查看项目

更新于 10-15 22:38

技能介绍

用途:该技能仅限贡献者开发环境搭建与 Docker 镜像维护,不用于普通安装。若请求只是运行 Arena,应交给 setup-arena,且不安装贡献者工具。

主要能力与使用方式: 一、初始化贡献者检出,在仓库根目录运行: git submodule update --init --recursive pre-commit install pre-commit install 必须在宿主机执行,绝不能在容器内执行,并确认 .git/hooks/pre-commit 存在且可执行。除非用户要求,不运行测试套件或全部 pre-commit 钩子。构建或启动常规运行时及导入冒烟检查,走 setup-arena 的 Docker 路线。

二、发现本检出的容器,不要硬编码容器名,应解析挂载该检出的运行容器: ARENA_CONTAINER=$(docker ps --filter "volume=$(git rev-parse --show-toplevel)" --format '{{.Names}}' | head -1) 发现与后续命令需在同一 shell 中执行,或替换为解析出的字面名称。

三、重建镜像,从仓库根目录使用仓库启动器: ./docker/run_docker.sh -r # 带缓存重建 ./docker/run_docker.sh -R # 不带缓存重建 重建前检查该检出的容器是否在运行。新镜像不会替换正在运行的容器,需说明必须先停止并重建容器才能使用新镜像,停止前须获批准,未挂载的容器状态会丢失。重建后重新发现容器并重跑 setup-arena 的导入冒烟检查。仅在用户明确要求无缓存重建或怀疑缓存层导致问题时才用 -R。除非用户指定 -s <suffix>,保留启动器自动的按检出后缀。

四、运行开发命令,以宿主机用户而非 root 执行: docker exec "$ARENA_CONTAINER" su $(id -un) -c
"cd /workspaces/isaaclab_arena && <command>" 非交互式 Python 命令须显式使用 /isaac-sim/python.sh,不要依赖交互式 python 别名。

适用场景与限制:pytest 回归测试交给 run-tests;pre-commit 钩子在宿主机按需运行;仅在用户要求提交、推送或开 PR 时使用 commit-and-pr。若宿主机缺少前置条件,只报告失败检查与文档记录的恢复方式,未经明确批准不得安装或更改 GPU 驱动、Docker、NVIDIA Container Toolkit 或其他系统包。其它未提供的信息(如具体镜像标签、版本、平台要求)暂未提供。