Skip to main content

CLI tool for Huawei Cloud Service Delivery Engineers

Project description

sd-helper

华为云服务交付工程师的命令行工具,用于简化日常运维操作。

快速开始

安装后生成配置文件,填写凭据即可使用:

sd-helper init         # 生成 ~/.sd-helper.yaml

安装

在线安装:

pip install sd-helper-cli

离线安装(服务器无外网):

在有网络的机器上下载依赖包:

# 默认 ARM64 / Python 3.9,可通过参数调整
bash scripts/download_wheels.sh
bash scripts/download_wheels.sh --platform manylinux2014_x86_64 --python-version 3.10

# 将生成的 sd-helper-offline.tar.gz 传输到服务器
scp sd-helper-offline.tar.gz user@server:/tmp/

在服务器上安装到 virtualenv:

bash install.sh --archive /tmp/sd-helper-offline.tar.gz
source ~/.venv/sd-helper/bin/activate
sd-helper --version

功能模块

IAM 认证

# 配置凭据
sd-helper iam configure

# 获取 token
sd-helper iam token

# 查看已配置的 profile
sd-helper iam list-profiles

# 设置默认 profile
sd-helper iam set-default <profile>

LLM 对话

与 ModelArts / 盘古大模型进行对话。

# 添加模型配置
sd-helper llm add <model-name> --endpoint <url> --type modelarts

# 查看已配置的模型
sd-helper llm list

# 单次对话
sd-helper llm chat "你好"

# 携带文件上下文
sd-helper llm chat -f code.py "解释这段代码"

# 视觉模型(图片输入)
sd-helper llm chat -i image.jpg "描述这张图片"

# 交互式对话(进入 TUI 界面)
sd-helper llm chat

# OCR:识别图片中的手写数字(短码 + 长码)
sd-helper llm ocr image.jpg
sd-helper llm ocr *.jpg

输出为 JSON 数组,每张图片对应一条记录:

[
  {
    "short_code": "36 202",
    "long_code": "269202",
    "file": "image.jpg"
  }
]

OCR 提示词默认内置,也可在模型配置中自定义:

llm:
  models:
    qwen3-vl-32b:
      endpoint: https://...
      type: vl
      ocr_prompt: "识别图片中的文字,只返回 JSON:{\"result\": \"...\"}"

Nisco OCR

从 Nisco 系统下载图片并调用多模态大模型进行 OCR 识别,结果写入 Excel。

下载图片并生成 Excel:

# 下载指定日期范围内 result_sta=否 的记录,图片嵌入 Excel
sd-helper nisco ocr image-download --start 2026-03-01 --end 2026-03-02

# 指定输出文件和图片目录
sd-helper nisco ocr image-download --start 2026-03-01 --end 2026-03-31 -o march.xlsx -i ./march_images

生成的 Excel 包含所有原始字段,以及:

  • image_file_name — 保存到磁盘的图片文件名
  • image — 嵌入的图片预览(512px)

对已下载的图片运行 OCR:

# 使用默认模型和提示词
sd-helper nisco ocr run nisco_ocr.xlsx

# 指定模型
sd-helper nisco ocr run nisco_ocr.xlsx -m qwen3-vl-32b

# 自定义提示词
sd-helper nisco ocr run nisco_ocr.xlsx --prompt "识别图片中的炉号,只返回JSON: {\"result\": \"...\", \"reason\": \"...\"}"

# 从文件读取提示词
sd-helper nisco ocr run nisco_ocr.xlsx --prompt-file my_prompt.txt

OCR 结果写回原 Excel,新增三列:

  • ocr_raw — 模型原始返回内容
  • ocr_result — 解析后的识别结果
  • ocr_reason — 模型说明

Docker 镜像管理

批量加载并推送镜像到 SWR,支持断点续传。

前提条件: 环境已安装 docker,并完成 SWR 登录。

# 校验资产清单中的文件是否完整
sd-helper docker upload-images --config config.yaml --dir /path/to/files --validate

# 试运行(只打印命令,不执行)
sd-helper docker upload-images --config config.yaml --dir /path/to/files --dry-run

# 正式上传
sd-helper docker upload-images --config config.yaml --dir /path/to/files

# 重置所有进度(重新上传)
sd-helper docker upload-images --reset-all

# 重置指定镜像的进度
sd-helper docker upload-images --reset "name:tag"

配置文件示例(config.yaml):

assets_file: 资产清单.txt        # 资产清单文件,只处理其中的 镜像 分区

swr:
  endpoint: swr.cn-north-4.myhuaweicloud.com
  org: com-huaweicloud-dataengineering

cleanup_after_push: false        # 设为 true 可在推送后删除本地镜像

后台运行:

nohup sd-helper docker upload-images --config config.yaml --dir /path/to/files > upload.log 2>&1 &
echo $!                  # 记录 PID
tail -f upload.log        # 查看实时日志
cat .progress.json        # 查看每个镜像的上传状态

数据管理

离线收集和同步数据。

# 采集数据
sd-helper data collect --name <name>

# 查看已采集的数据
sd-helper data list

# 使用模板批量执行请求
sd-helper data run <template.yaml>

独立脚本

scripts/upload_images.py 是一个独立版本的镜像上传脚本,仅依赖 pyyaml,可直接复制到目标节点使用:

python upload_images.py --config config.yaml --dir /path/to/files

后台运行:

nohup python upload_images.py --config config.yaml --dir /path/to/files > upload.log 2>&1 &
echo $!                  # 记录 PID
tail -f upload.log        # 查看实时日志
cat .progress.json        # 查看每个镜像的上传状态

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sd_helper_cli-0.1.6.tar.gz (71.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sd_helper_cli-0.1.6-py3-none-any.whl (41.2 kB view details)

Uploaded Python 3

File details

Details for the file sd_helper_cli-0.1.6.tar.gz.

File metadata

  • Download URL: sd_helper_cli-0.1.6.tar.gz
  • Upload date:
  • Size: 71.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.17

File hashes

Hashes for sd_helper_cli-0.1.6.tar.gz
Algorithm Hash digest
SHA256 cb1c0f3dde212646ed96e018d8feab7d72f4da3aaf0cfa5f1d8a593fc2d9ba3f
MD5 a1ce1b9c91ee9038c5c0c70cb78843da
BLAKE2b-256 69986813b4b4cd29f9f4be3ee44caa0971a6f43471e9827be19a56a1ed82088b

See more details on using hashes here.

File details

Details for the file sd_helper_cli-0.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for sd_helper_cli-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 4b391f86a767db66ddfd605c1e46713dfbdac808259833652a0277894018ea68
MD5 42ad33680e4c5040f14f36a988a03ba7
BLAKE2b-256 825e6969bb0f60ff8b4caabbe2c5b0bb2d4d014a41ea95baa6923bff837f7927

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page