Install
openclaw skills install @yangaiwu/hcs-ecs-servers查询华为云 ECS(弹性云服务器)实例列表。CLI 工具支持 list-servers 子命令, 返回实例名称/ID/状态/IP/规格,支持 --region 和 --status 筛选。 AK/SK 签名认证,通过环境变量或 .project-info/ JSON 配置解析凭据。
openclaw skills install @yangaiwu/hcs-ecs-servers查询华为云 ECS(弹性云服务器)实例列表的 CLI 工具。通过华为云 ECS API(GET /v1/{project_id}/cloudservers/detail)查询实例信息,AK/SK 签名认证,返回实例名称、ID、状态、IP 地址、规格等关键字段。
通用约束(所有 skill 必含):
动态约束:
.project-info/ JSON 配置解析,不硬编码。[Coding Agent] 开头> {用户评论}\n\n[Coding Agent] {回复}华为云 AK/SK 凭据必须在使用前配置。凭据解析优先级:
.project-info/ 下所有 JSON 文件(secrets.HUAWEI_AK / secrets.HUAWEI_SK)HUAWEI/HW/HWC 开头 + 含 ACCESS_KEY/_AK/SECRET_KEY/_SK 的环境变量方式一:环境变量(临时,推荐快速测试)
export HUAWEI_AK="your-access-key"
export HUAWEI_SK="your-secret-key"
或使用任意 HUAWEI/HW/HWC 前缀 + AK/SK 后缀的变量名:
export HUAWEICLOUD_SDK_AK="your-access-key"
export HUAWEICLOUD_SDK_SK="your-secret-key"
方式二:项目知识 JSON 文件(持久化,推荐生产使用)
在项目根目录下创建 .project-info/ 目录,放入任意名称的 .json 文件:
{
"secrets": {
"HUAWEI_AK": "your-access-key",
"HUAWEI_SK": "your-secret-key"
}
}
⚠️
.project-info/含敏感配置,不提交到 git 仓库(加入 .gitignore)。
cn-north-4(可通过 --region 参数覆盖)GET /v3/projects?name={region} 获取Don't use for: 非 ECS 服务的查询(VPC/OBS/RDS 等已有或将有独立 skill);ECS 实例的创建/删除/启停等变更操作;hcloud CLI 封装。
GET https://ecs.{region}.myhuaweicloud.com/v1/{project_id}/cloudservers/detail
认证方式:AK/SK 签名(SDK-HMAC-SHA256)
| 字段 | 类型 | 说明 |
|---|---|---|
| name | string | 实例名称 |
| id | string | 实例 ID |
| status | string | 实例状态(ACTIVE/SHUTOFF/ERROR 等) |
| addresses | object | 网络地址(含私有/公网 IP) |
| flavor | object | 规格信息(id/vcpus/ram) |
| created | string | 创建时间 |
| availability_zone | string | 可用区 |
Common.0013)。count: 0, servers: [],退出码仍为 0。--status 参数直接传给 API 的 status query 参数,支持的值:ACTIVE/SHUTOFF/BUILD/ERROR/REBOOT/HARD_REBOOT/MIGRATING。python3 scripts/hcs-ecs-servers.py capability-list
Expected: 输出 skill 能力清单
python3 scripts/hcs-ecs-servers.py list-servers
Expected: 返回 ECS 实例列表(名称/ID/状态/IP/规格)
python3 scripts/hcs-ecs-servers.py list-servers --region cn-north-4 --status ACTIVE
python3 scripts/hcs-ecs-servers.py list-servers --json
python3 scripts/hcs-ecs-servers.py list-servers --limit 10 --offset 1
查询华为云 ECS 实例列表。
python3 scripts/hcs-ecs-servers.py list-servers [--region REGION] [--status STATUS] [--limit N] [--offset N] [--json]
参数说明:
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| --region | string | cn-north-4 | 华为云区域 |
| --status | string | - | 实例状态筛选(ACTIVE/SHUTOFF/ERROR 等) |
| --limit | int | - | 每页最大返回数(API 默认 25,最大 1000) |
| --offset | int | - | 页码偏移(从 1 开始) |
| --json | flag | false | 输出 JSON 格式(默认表格格式) |
列出本 skill 所有能力项。
python3 scripts/hcs-ecs-servers.py capability-list
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| AK | 是 | - | 华为云 Access Key(环境变量/项目知识) |
| SK | 是 | - | 华为云 Secret Key(环境变量/项目知识) |
| region | 否 | cn-north-4 | 华为云区域 |
| status | 否 | - | 实例状态筛选 |
| limit | 否 | - | 每页返回数 |
| offset | 否 | - | 页码偏移 |
本 skill 不使用 hcloud CLI,使用 Python+requests 直接调用华为云 ECS API。API 端点通过 SDK _http_info 确认:
/v1/{project_id}/cloudservers/detailrequests 库(pip install requests)huaweicloudsdkcore 库(签名用,pip install huaweicloudsdkcore)ECS:cloudServers:listGET /v3/projects?name={region}GET /v1/{project_id}/cloudservers/detailpython3 scripts/hcs-ecs-servers.py list-servers 可查询 ECS 实例列表--region 区域参数指定--status 状态筛选.project-info/ JSON 配置解析--help 无语法错误,退出码规范(0=成功/2=参数错误/3=缺少配置/4=API失败)--json 选项输出 JSON 格式结果实例名称 实例ID 状态 规格 私有IP 公网IP
test-ecs-01 1234abcd... ACTIVE s6.large.2 192.168.1.10 1.2.3.4
{
"count": 1,
"servers": [
{
"name": "test-ecs-01",
"id": "1234abcd-...",
"status": "ACTIVE",
"flavor": "s6.large.2",
"private_ip": "192.168.1.10",
"public_ip": "1.2.3.4"
}
]
}
分析结论:
- 场景:查询华为云 ECS 实例列表
- Skill:hcs-ecs-servers v0.1.0
- 操作:list-servers --region cn-north-4
- 结果:✅ 成功(返回 N 个实例)
- 必须执行:Issue 评论汇总结果 → 任务结束