CompShare API 技能
name: compshare-api
by chsengni · published 2026-04-01
$ claw add gh:chsengni/chsengni-compshare-api---
name: compshare-api
description: 管理优云智算CompShare平台的GPU实例全生命周期,包括创建、查询、启动、停止、重启、重置密码和删除实例;当用户需要创建GPU云服务器、查询实例状态、管理实例启停、重置实例密码或删除实例时使用
dependency:
python:
- ucloud-sdk-python3>=0.1.0
- PyYAML>=6.0
- paramiko>=3.0.0
---
# CompShare API 技能
任务目标
前置准备
依赖安装
pip install ucloud-sdk-python3 PyYAML paramiko配置文件
在使用前,需要在Skill目录下创建配置文件 `assets/config.yaml`:
1. 编辑配置文件,填入API凭证:
compshare:
public_key: "your-public-key"
private_key: "your-private-key"
region: "cn-wlcb"
zone: "cn-wlcb-01"
base_url: "https://api.compshare.cn"2. 获取API凭证:
- 登录 CompShare 控制台:https://console.compshare.cn/
- 进入「API管理」页面:https://console.compshare.cn/uaccount/api_manage
- 创建并获取 `public_key` 和 `private_key`
3. 配置文件查找优先级:
- 命令行参数 `--config` 指定的路径
- 默认路径 `assets/config.yaml`(Skill目录下)
操作步骤
1. 创建GPU实例
调用 `scripts/compshare_client.py` 脚本,使用 `create` 命令:
python scripts/compshare_client.py create \
--gpu-type 4090 \
--gpu-count 1 \
--cpu 16 \
--memory 64 \
--disk-size 200 \
--image-id compshareImage-165jmhx19ik7 \
--name "my-instance"2. 查询实例列表
调用脚本使用 `list` 命令:
python scripts/compshare_client.py list
# 或查询特定实例
python scripts/compshare_client.py list --instance-ids "instance-id-1,instance-id-2"3. 启动实例
**正常开机**(带GPU):
python scripts/compshare_client.py start --instance-id <UHostId>**无卡开机**(不带GPU,节省费用):
python scripts/compshare_client.py start --instance-id <UHostId> --without-gpu4. 停止实例
调用脚本使用 `stop` 命令:
python scripts/compshare_client.py stop --instance-id <UHostId>5. 重启实例
调用脚本使用 `reboot` 命令:
python scripts/compshare_client.py reboot --instance-id <UHostId>6. 重置实例密码
调用脚本使用 `reset-password` 命令:
python scripts/compshare_client.py reset-password --instance-id <UHostId> --password <new-password>7. 删除实例
调用脚本使用 `delete` 命令:
python scripts/compshare_client.py delete --instance-id <UHostId>8. SSH连接实例
通过实例的 SshLoginCommand 和 Password 连接实例:
1. 先查询实例获取 SSH 登录信息:
python scripts/compshare_client.py list
# 返回结果中包含 SshLoginCommand 和 Password2. 使用 SSH 客户端连接:
python scripts/ssh_client.py connect \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password"9. SSH远程执行命令
python scripts/ssh_client.py exec \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--cmd "ls -la /home"10. SSH文件操作
**列出目录**:
python scripts/ssh_client.py ls \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--path "/home"**上传文件**:
python scripts/ssh_client.py upload \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--local ./local_file.txt \
--remote /home/remote_file.txt**下载文件**:
python scripts/ssh_client.py download \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--remote /home/remote_file.txt \
--local ./local_file.txt**上传整个目录**:
python scripts/ssh_client.py upload-dir \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--local ./my_project \
--remote /home/my_project**下载整个目录**:
python scripts/ssh_client.py download-dir \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--remote /home/data \
--local ./data_backup**查看文件内容**:
python scripts/ssh_client.py cat \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--path /etc/hosts**创建目录**:
python scripts/ssh_client.py mkdir \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--path /home/new_dir**删除文件**:
python scripts/ssh_client.py rm \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--path /home/old_file.txt**重命名文件/目录**:
python scripts/ssh_client.py rename \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--old /home/old_name \
--new /home/new_name**修改权限**:
python scripts/ssh_client.py chmod \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password" \
--path /home/script.sh \
--mode 755**交互式Shell**:
python scripts/ssh_client.py shell \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "your-password"资源索引
注意事项
使用示例
示例1:创建一台RTX 4090 GPU实例
python scripts/compshare_client.py create \
--gpu-type 4090 \
--gpu-count 1 \
--cpu 16 \
--memory 64 \
--disk-size 200 \
--image-id compshareImage-165jmhx19ik7 \
--name "ml-training"示例2:查询所有实例状态
python scripts/compshare_client.py list示例3:启动指定实例
python scripts/compshare_client.py start --instance-id uhost-xxxxx示例4:SSH连接并执行命令
# 1. 查询实例获取SSH信息
python scripts/compshare_client.py list
# 2. 连接并执行命令
python scripts/ssh_client.py exec \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "instance-password" \
--cmd "nvidia-smi"示例5:上传代码到GPU实例
python scripts/ssh_client.py upload-dir \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "instance-password" \
--local ./my_project \
--remote /root/my_project示例6:下载训练结果
python scripts/ssh_client.py download-dir \
--ssh-command "ssh -p 12345 root@192.168.1.1" \
--password "instance-password" \
--remote /root/output \
--local ./resultsMore tools from the same signal band
Order food/drinks (点餐) on an Android device paired as an OpenClaw node. Uses in-app menu and cart; add goods, view cart, submit order (demo, no real payment).
Sign plugins, rotate agent credentials without losing identity, and publicly attest to plugin behavior with verifiable claims and authenticated transfers.
The philosophical layer for AI agents. Maps behavior to Spinoza's 48 affects, calculates persistence scores, and generates geometric self-reports. Give your...