Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>openLiBing DevStationNew to Visual Studio Code? Get it now.
openLiBing DevStation

openLiBing DevStation

openLiBing

|
78 installs
| (0) | Free
一站式作业能力
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🚀 openLiBing DevStation

一站式远程编译与测试作业平台

在 VSCode 中一键申请远程计算资源 → 自动同步代码 → 执行编译/测试任务 → 产物自动下载回本地


📋 使用前准备

1. 安装插件

在 VSCode 扩展市场搜索并安装以下两个插件:

插件 说明
openLiBing DevStation 任务执行插件(本插件)
openlibing.resourcemanager 资源管理插件,提供登录认证、环境申请与释放

💡 安装 DevStation 时会自动提示安装依赖插件,点击安装即可

alt text

2. 登录账号

安装完成后,在 VSCode 左侧面板找到 资源环境 视图,点击 登录 按钮完成账号登录。

alt text

🗂 创建任务配置

第一步:创建配置目录

在项目根目录下创建 .devstation 文件夹:

my-project/
├── .devstation/           ← 👈 在这里创建
│   ├── compile.yml        # 编译任务配置
│   └── ut_with_npu.yml    # NPU 测试任务配置
├── src/
├── ci/
└── ...

alt text

第二步:编写任务配置

在 .devstation/ 下创建 .yml 文件,每个文件代表一个任务。

alt text


📝 配置字段详解

一个完整的任务配置结构如下:

name: 任务名称                    # 【必填】任务名称,显示在任务列表中

on: workflow_dispatch             # 【必填】固定值,表示手动触发

jobs:
  run-task:                       # 【必填】任务定义
    runs-on: 资源规格              # 【必填】需要的计算资源
    container:
      image: 镜像地址              # 【选填】容器镜像
      options: 容器启动参数         # 【选填】如 --add-host
    steps:                        # 【必填】执行步骤列表
      - name: 步骤名称
        working-directory: 远程目录  # 【选填】代码同步和命令执行的基础目录
        run: |                     # 【必填】要执行的命令
          你的命令
        env:                       # 【选填】环境变量
          KEY: VALUE
    with:                          # 【选填】Job 级别的产物传输配置
      trans-files:
        - action: download/upload
          remotePath: 远程路径
          localPath: 本地路径

with:                              # 【选填】全局产物传输配置
  trans-files:
    - action: download/upload
      remotePath: 远程路径
      localPath: 本地路径
    - action: combine               # 共享存储模式,只需填写 remotePath
      remotePath: 远程路径

各字段说明

🔹 runs-on — 资源规格

指定你需要什么样的远程机器,格式:

<NPU数量>*<NPU型号> | <CPU数量>*<CPU类型> | <内存数量>*<内存单位> | <磁盘数量>*<磁盘单位>
示例 含义
0*NPU-310P-310P \| 8*CPU-X86 \| 32*RAM \| 50*HD 无 NPU,8 核 CPU,32GB 内存,50GB 磁盘
1*NPU-310P-310P \| 8*CPU-X86 \| 32*RAM \| 50*HD 1 张 NPU-310P 卡,8 核 CPU,32GB 内存
4*NPU-910B-910B \| 64*CPU-X86 \| 256*RAM \| 100*HD 4 张 NPU-910B 卡,64 核 CPU,256GB 内存

💡 编译任务一般不需要 NPU,设为 0*;运行测试任务如需 NPU 卡则设为 1* 或更多

🔹 container — 容器配置

字段 说明 示例
image 容器镜像地址 swr.cn-north-4.myhuaweicloud.com/.../pytorch_2.7.1_a1_x86_64_builder:20260518
options 容器启动参数 --add-host

🔹 steps — 执行步骤

每个步骤包含以下字段:

字段 必填 说明
name 否 步骤名称,方便在日志中识别
working-directory 否 远程基础目录,代码会同步到该目录下的项目子目录中,命令也会在该目录下执行
run 是 要执行的 Shell 命令,支持多行
env 否 步骤级环境变量,格式为 KEY: VALUE

💡 working-directory 的作用:

  • 代码同步到 <working-directory>/<项目名> 目录
  • 命令执行前自动 cd 到该目录
  • 例如 working-directory: /home/usr1,项目名 myproject,则代码同步到 /home/usr1/myproject

🔹 trans-files — 产物传输

用于在本地和远程之间传输文件:

字段 必填 说明
action 是 download = 远程 → 本地(下载编译产物);upload = 本地 → 远程(上传测试数据);combine = 共享存储模式(任务完成后将远程文件复制到共享存储目录 /mnt/share)
remotePath 是 远程文件路径
localPath 条件必填 本地文件路径(支持绝对路径或相对工作区的路径)。action 为 download 或 upload 时必填,combine 模式下不需要填写

💡 trans-files 可以写在顶层 with 下,也可以写在 jobs.run-task.with 下,效果相同

💡 combine 模式适用于共享存储场景:任务执行完成后,自动将 remotePath 指定的远程文件复制到远程环境的 /opt/data 目录下,供其他任务或环境共享访问


🌟 完整示例

示例一:编译任务

场景:在远程 CPU 环境上编译代码,编译完成后把产物下载回本地。

name: compile_library

on: workflow_dispatch

jobs:
  run-task:
    runs-on: 0*NPU-310P-310P | 8*CPU-X86| 32*RAM | 50*HD
    container:
      image: swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch_2.7.1_a1_x86_64_builder:20260518
      options: --add-host
    steps:
      - name: runScript
        working-directory: /home/usr1
        run: |
          git clone https://gitcode.com/tegixia/develop_tools.git
          cd develop_tools
          cd build
          cmake .. && make .
        env:
          Env1: 1
          Env2: 2
    with:
      trans-files:
        - action: download
          remotePath: /home/usr1/test_library
          localPath: .test_library

执行流程:

① 申请远程环境(纯 CPU,无 NPU)
        ↓
② 启动容器镜像
        ↓
③ 同步本地代码 → 远程 /home/usr1/<项目名>/
        ↓
④ 执行步骤 runScript(克隆代码、编译构建)
        ↓
⑤ 下载编译产物 test_library → 本地 .test_library

示例二:NPU 测试任务

场景:在带 NPU 卡的远程环境上运行测试用例,需要先上传测试数据包。

name: test_library

on: workflow_dispatch

jobs:
  run-task:
    runs-on: 1*NPU-310P-310P | 8*CPU-X86| 32*RAM | 50*HD
    container:
      image: swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch_2.7.1_a1_x86_64_builder:20260518
      options: --add-host
    steps:
      - name: runScript
        working-directory: /home/usr1
        run: |
          cd /tmp
          chmod +x test_library && ./test_library
        env:
          Env1: 1
          Env2: 2
    with:
      trans-files:
        - action: upload
          remotePath: /tmp/test_library
          localPath: .vscode/test_library

执行流程:

① 上传测试文件 test_library → 远程 /tmp/
        ↓
② 申请远程环境(含 1 张 NPU-310P 卡)
        ↓
③ 同步本地代码 → 远程 /home/usr1/<项目名>/
        ↓
④ 执行步骤 runScript(运行测试)

示例三:共享存储任务

场景:编译完成后将产物存入共享存储目录 /mnt/share,供其他任务或环境直接访问,无需手动传输。

name: compile_and_share

on: workflow_dispatch

jobs:
  run-task:
    runs-on: 0*NPU-310P-310P | 8*CPU-X86| 32*RAM | 50*HD
    container:
      image: swr.cn-north-4.myhuaweicloud.com/frameworkptadapter/pytorch_2.7.1_a1_x86_64_builder:20260518
      options: --add-host
    steps:
      - name: runScript
        working-directory: /home/usr1
        run: |
          git clone https://gitcode.com/tegixia/develop_tools.git
          cd develop_tools
          cd build
          cmake .. && make .
        env:
          Env1: 1
          Env2: 2
    with:
      trans-files:
        - action: download
          remotePath: /home/usr1/test_library
          localPath: .test_library
        - action: combine
          remotePath: /home/usr1/test_library

执行流程:

① 申请远程环境(纯 CPU,无 NPU)
        ↓
② 启动容器镜像
        ↓
③ 同步本地代码 → 远程 /home/usr1/<项目名>/
        ↓
④ 执行步骤 runScript(克隆代码、编译构建)
        ↓
⑤ 下载编译产物 test_library → 本地 .test_library
⑥ 复制 test_library → 共享存储 /mnt/share/test_library

编译任务 vs 测试任务 vs 共享存储任务 对比

编译任务 测试任务 共享存储任务
NPU 数量 0*(不需要 NPU) 1* 或更多(需要 NPU 卡) 视场景而定
产物传输 action: download(远程 → 本地) action: upload(本地 → 远程) action: combine(远程 → 远程共享目录)
典型场景 编译框架、构建 wheel 包 运行单元测试、精度验证 将编译产物存入共享存储,供下游任务使用

🏃 如何运行任务

  1. 创建配置文件:在项目 .devstation/ 目录下编写 .yml 任务配置
  2. 打开任务面板:在 VSCode 左侧点击 任务执行 视图
  3. 点击运行:在任务列表中找到你的任务,点击 ▶ 按钮运行
  4. 查看日志:运行过程中会自动打开输出日志,可实时查看执行进度
  5. 获取产物:任务完成后,配置了 download 的产物会自动下载到本地指定路径

alt text

⚠️ 资源申请失败

如果申请资源失败,右下角会弹出通知提示失败原因,并提供以下帮助:

  • 支持服务 — 跳转到 https://hidevlab.huawei.com/support 获取帮助
  • 联系我们 — 跳转到 https://hidevlab.huawei.com/support/contact-us 直接联系支持团队
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft