← 返回 Skills 市场
sorrymaker0624

Bohrium Image Management

作者 Sorrymaker0624 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ pending
52
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install bohrium-image
功能描述
Manage Bohrium container images via bohr CLI or open.bohrium.com API. Use when: user asks about listing/pulling/creating/deleting Docker images on Bohrium, o...
使用说明 (SKILL.md)

SKILL: Bohrium Image Management

Overview

Manage container images on the Bohrium platform. Prefer bohr CLI; fall back to the API for Dockerfile builds and version search.

Since 2023, Bohrium no longer supports VM jobs — container images are required.

Authentication

"bohrium-image": {
  "enabled": true,
  "apiKey": "YOUR_ACCESS_KEY",
  "env": { "ACCESS_KEY": "YOUR_ACCESS_KEY" }
}

Prerequisites: Install bohr CLI

# macOS
/bin/bash -c "$(curl -fsSL https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_mac_curl.sh)"
# Linux
/bin/bash -c "$(curl -fsSL https://dp-public.oss-cn-beijing.aliyuncs.com/bohrctl/1.0.0/install_bohr_linux_curl.sh)"
source ~/.bashrc && export PATH="$HOME/.bohrium:$PATH"

List Images

bohr image list                 # Custom images (table)
bohr image list --json          # JSON

# Public images by type
bohr image list -t "Basic Image"
bohr image list -t "DeePMD-kit"
bohr image list -t "LAMMPS"
bohr image list -t "ABACUS"
bohr image list -t "CP2K"
bohr image list -t "GROMACS"
bohr image list -t "Uni-Mol"

JSON fields: imageId, name, url, status (available/building), creatorName


Quick Reference: Public Images

Base Images

Scenario Image
CPU registry.dp.tech/dptech/ubuntu:20.04-py3.10
CPU + Intel MPI registry.dp.tech/dptech/ubuntu:20.04-py3.10-intel2022
GPU registry.dp.tech/dptech/ubuntu:20.04-py3.10-cuda11.6
GPU + Intel MPI registry.dp.tech/dptech/ubuntu:20.04-py3.10-intel2022-cuda11.6

Scientific Software

Software Image
DeePMD-kit registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6
DPGEN registry.dp.tech/dptech/dpgen:0.10.6
LAMMPS registry.dp.tech/dptech/lammps:29Sep2021
GROMACS registry.dp.tech/dptech/gromacs:2022.2
Quantum-Espresso registry.dp.tech/dptech/quantum-espresso:7.1
CP2K registry.dp.tech/dptech/cp2k:7.1
ABACUS registry.dp.tech/dptech/abacus:3.0.0

Pre-installed Software (All Public Images)

Category Software
Python python3.10, pip, Anaconda, Jupyter Lab
File tools wget, curl, unzip, rsync, tree, git
Editors emacs, vim
Build tools cmake, build-essential (GNU)
Monitoring htop, ncdu, net-tools
DP tools Bohrium CLI, DP-Dispatcher, dpdata

VM-to-Container Image Mapping

VM Image Container Image
LBG_DeePMD-kit_2.1.4_v1 registry.dp.tech/dptech/deepmd-kit:2.1.5-cuda11.6
LBG_DP-GEN_0.10.6_v3 registry.dp.tech/dptech/dpgen:0.10.6
LBG_LAMMPS_stable_23Jun2022_v1 registry.dp.tech/dptech/lammps:29Sep2021
gromacs-dp:2020.2 registry.dp.tech/dptech/gromacs:2022.2
LBG_Quantum-Espresso_7.1 registry.dp.tech/dptech/quantum-espresso:7.1
LBG_Common_v1/v2 registry.dp.tech/dptech/ubuntu:20.04-py3.10-cuda11.6
LBG_oneapi_2021_v1 registry.dp.tech/dptech/ubuntu:20.04-py3.10-intel2022-cuda11.6

Pull Image to Local

bohr image pull registry.dp.tech/dptech/deepmd-kit:3.0.0b3-cuda12.1

Requires Docker running locally. Only public and your own custom images are supported.

Manual Docker Pull (Alternative)

Replace domain with registry.bohrium.dp.tech (not registry.dp.tech):

docker login registry.bohrium.dp.tech
docker pull registry.bohrium.dp.tech/dptech/ubuntu:22.04-py3.10-intel2022
# Push is not supported

Delete Custom Images

bohr image delete 121510
bohr image delete 121510 121395         # Batch

Image Cache

Scenario Details
Public images Persistent cache; no extra pull time
New custom images Cache builds in 10-30 min; wait before using
Unused 30 days Cache expires; re-pull on next use
With cache CPU ~20s boot, GPU ~40s boot
Without cache +10-30 min for image pull

API Supplement (CLI Unsupported)

Search Public Image Versions

import os, requests
AK = os.environ.get("ACCESS_KEY", "")
HEADERS = {"accessKey": AK}

r = requests.get("https://open.bohrium.com/openapi/v2/image/public/version/search",
    headers=HEADERS, params={"keyword": "deepmd", "page": 1, "pageSize": 5})
# Returns: {items: [{version, resourceType, size, url, imageName}, ...]}

Browse Public Images

r = requests.get("https://open.bohrium.com/openapi/v2/image/public",
    headers=HEADERS, params={"page": 1, "pageSize": 10})

r = requests.get(f"https://open.bohrium.com/openapi/v2/image/public/{image_id}/version",
    headers=HEADERS, params={"page": 1, "pageSize": 10})

Build from Dockerfile

HEADERS_JSON = {**HEADERS, "Content-Type": "application/json"}

# Note: dockerfile field must be base64-encoded
import base64
dockerfile_content = "FROM ubuntu:22.04\
RUN apt-get update && apt-get install -y python3"
dockerfile_b64 = base64.b64encode(dockerfile_content.encode()).decode()

r = requests.post("https://open.bohrium.com/openapi/v2/image/private",
    headers=HEADERS_JSON, json={
        "name": "my-image", "projectId": 154, "device": "container",
        "desc": "Custom training image", "buildType": 1,
        "dockerfile": dockerfile_b64,
    })

# Validate Dockerfile (also requires base64)
check_b64 = base64.b64encode(b"FROM ubuntu:22.04\
RUN apt-get update").decode()
requests.post("https://open.bohrium.com/openapi/v2/image/dockerfile/check",
    headers=HEADERS_JSON, json={"dockerfile": check_b64})

Private Image Management

# List (must include device and type parameters)
r = requests.get("https://open.bohrium.com/openapi/v2/image/private",
    headers=HEADERS, params={"device": "container", "type": "private", "page": 1, "pageSize": 10})
# Returns: {items: [{id, name, url, status, buildType, creatorName, projectName, ...}]}

# Share / unshare
requests.post(f"https://open.bohrium.com/openapi/v2/image/{image_id}/share", headers=HEADERS_JSON)
requests.delete(f"https://open.bohrium.com/openapi/v2/image/{image_id}/share?device=container", headers=HEADERS)

Custom Image Creation

After installing software on a container node, save the environment as a custom image via the Bohrium web UI. Only the system disk is saved; /personal and /share are excluded.

Quotas

Resource Limit
Custom images 10 per project

Unavailable Endpoints

Endpoint Version Reason
GET v1/image/public v1 Caught by /:imageId route
GET v1/image/private v1 Same
POST v2/image/version/add v2 Not registered
DELETE v2/image/version/{versionId} v2 Not registered

Troubleshooting

Problem Cause Solution
bohr image pull fails Docker not running Start Docker Desktop
v2 private param error Missing required params Add device=container&type=private parameters
no permission Not image creator Can only manage own images
v1 /public parse error Route conflict Use v2 endpoints
Wrong image address Used name, not full URL Must use registry.dp.tech/dptech/xxx:tag
Slow custom image cache Cache takes 10-30 min Wait 30 min after build
No Docker in container Security restriction Use VM image LBG_Common_v2
Create returns decode err dockerfile not base64 encoded Use base64.b64encode(content.encode()).decode()
能力标签
requires-sensitive-credentials
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install bohrium-image
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /bohrium-image 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release
元数据
Slug bohrium-image
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Bohrium Image Management 是什么?

Manage Bohrium container images via bohr CLI or open.bohrium.com API. Use when: user asks about listing/pulling/creating/deleting Docker images on Bohrium, o... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 52 次。

如何安装 Bohrium Image Management?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install bohrium-image」即可一键安装,无需额外配置。

Bohrium Image Management 是免费的吗?

是的,Bohrium Image Management 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Bohrium Image Management 支持哪些平台?

Bohrium Image Management 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Bohrium Image Management?

由 Sorrymaker0624(@sorrymaker0624)开发并维护,当前版本 v1.0.0。

💬 留言讨论