关于 huawei-cloud-kunpeng-source-code-migrate
使用 DevKit CLI 评估源代码迁移到华为 Kunpeng ARM64 的适配情况,适用于评估可移植性的开发者和团队。技能指导本地或远程扫描、SSH 文件传输、报告生成及可选的 Kunpeng ECS 开通。
主要功能
- 01扫描所列八种编程语言
- 02在本地或远程服务器运行 DevKit
- 03SSH 执行与 SFTP 传输指导
- 04生成迁移评估报告
- 05可选开通 Kunpeng ECS
适用场景
- 01检查项目对 Kunpeng ARM64 的可移植性
- 02发现源代码迁移问题
- 03生成迁移评估报告
- 04开通远程评估服务器
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-kunpeng-source-code-migrate安装后在 Claude Code 中输入/huawei-cloud-kunpeng-source-code-migrate确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/acceptance-criteria.mdcli-installation-guide.mddevkit-cli-reference.mddevkit-installation-guide.mdiam-policies.mdmigration-report-guide.mdprerequisites.mdscripts-guide.mdtask-connect-server.mdtask-install-devkit.mdtask-local-devkit.mdtask-prepare-server.mdtask-scan-source-code.mdtroubleshooting.mdverification-method.mdscripts/detect_os.pyinstall_devkit.shprovision_kunpeng_server.shssh_client.py详细介绍
鲲鹏源代码迁移评估
使用华为 DevKit CLI 工具分析 C/C++/ASM/Fortran/Go/Java/Python/Scala 源代码迁移到鲲鹏(ARM64)平台的可迁移性。
概述
此技能使用华为 DevKit CLI 评估源代码迁移到鲲鹏(ARM64)平台的可迁移性。它通过 SSH 连接源服务器(或在本地安装),安装 DevKit,扫描源代码并生成迁移评估报告。如果用户没有远程服务器,它可以通过 hcloud CLI 在华为云(贵阳一区)自动创建鲲鹏 ECS 实例。
架构: 本地检测 + 远程执行 + SFTP 传输。所有 SSH 操作都使用统一的 scripts/ssh_client.py(paramiko + 密码环境变量),确保跨平台一致。完整目录结构请参见下方的架构部分。
适用场景:
- 评估源代码移植到鲲鹏 ARM 平台的可行性
- 扫描 C/C++/ASM/Fortran/Go/Java/Python/Scala 代码中的迁移问题
- 为软件项目生成鲲鹏迁移评估报告
- 检查源代码与 ARM64/鲲鹏架构的兼容性
- 在华为云上创建鲲鹏服务器以进行迁移评估
报告保存路径(固定,除非用户明确要求使用其他路径): Windows → C:\devkit-report\,Linux/macOS → /home/devkit-report/。
前置条件
CLI 版本要求:
| 工具 | 版本 | 用途 |
|---|---|---|
| Python | 3.x | 运行 ssh_client.py、detect_os.py,以及 paramiko 依赖 |
| paramiko | 最新稳定版 | SSH 连接(pip install paramiko) |
| hcloud(KooCLI) | >= 3.2.0 | 仅创建实例路径需要(步骤 3d) |
| DevKit CLI | 由 install_devkit.sh 自动安装 | 源代码迁移扫描 |
身份验证:
- SSH 凭据(现有服务器,步骤 3c): 用户必须在自己的终端中设置环境变量
KUNPENG_SERVER_HOST、KUNPENG_SERVER_PORT(默认值为 22)、KUNPENG_SERVER_USER(默认值为 root)、MIGRATE_SSH_PASS。AI 绝不能索要或复述这些值。 - 华为云 AK/SK(创建实例路径,步骤 3d): 用户必须在自己的终端中运行
hcloud configure set --cli-region=cn-southwest-2 --cli-access-key=<your-ak> --cli-secret-key=<your-sk>。AI 绝不能索要 AK/SK。
IAM 权限(仅步骤 3d): 在华为云上创建鲲鹏 ECS 所需。最低权限集:ECS 创建/列出/删除、VPC 创建/获取/删除、Subnet、SecurityGroup、EIP 创建/删除、IMS 列表、IAM 项目列表。完整策略 JSON 和设置说明请参见 references/iam-policies.md。
操作系统支持: DevKit 本地安装支持 openEuler/CentOS/Ubuntu/Kylin/UOS/EulerOS/Debian/SUSE/NeoKylin。Windows 和 macOS 不支持本地安装,必须使用远程 Linux 服务器。
核心命令
1. 本地操作系统检测:
python <skill_dir>/scripts/detect_os.py
2. SSH 连接与远程执行(统一的 paramiko 客户端):
python <skill_dir>/scripts/ssh_client.py test # Test SSH connection
python <skill_dir>/scripts/ssh_client.py exec "uname -a" 30 # Execute remote command
python <skill_dir>/scripts/ssh_client.py put <local> <remote> # SFTP upload single file
python <skill_dir>/scripts/ssh_client.py put-dir <local_dir> <remote_dir> # SFTP upload directory
python <skill_dir>/scripts/ssh_client.py get-report # Download migration report
3. DevKit 安装:
bash <skill_dir>/scripts/install_devkit.sh --yes
4. 源代码迁移扫描(DevKit CLI):
# C/C++ project (with build command):
devkit porting src-mig -i /home/project -s 'c, c++, asm' -b make -c 'make all' -p gcc9.3.0 -o /tmp/devkit-report -r all
# Java/Python project (no build command):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/devkit-report -r all
5. 鲲鹏 ECS 自动创建(仅步骤 3d):
bash <skill_dir>/scripts/provision_kunpeng_server.sh --confirm
6. hcloud CLI 安装与配置(仅步骤 3d):
curl -LO "https://cn-north-4-hdn-koocli.obs.cn-north-4.myhuaweicloud.com/cli/latest/huaweicloud-cli-linux-amd64.tar.gz"
tar -xzf huaweicloud-cli-linux-amd64.tar.gz && chmod +x hcloud && sudo mv hcloud /usr/local/bin/
hcloud configure set --cli-region=cn-southwest-2 --cli-access-key=<your-ak> --cli-secret-key=<your-sk>
hcloud version # Expected: >= 3.2.0
参数确认
AI 必须在执行前与用户确认以下参数。
SSH 连接参数(环境变量,由用户在自己的终端中设置):
| 参数 | 环境变量 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 服务器地址 | KUNPENG_SERVER_HOST | 是 | - | 远程服务器 IP/主机名 |
| SSH 端口 | KUNPENG_SERVER_PORT | 否 | 22 | SSH 端口 |
| SSH 用户名 | KUNPENG_SERVER_USER | 否 | root | SSH 登录用户 |
| SSH 密码 | MIGRATE_SSH_PASS | 是 | - | 由 paramiko 读取,不会出现在 argv 中,每次连接后都会从 os.environ 中清除 |
DevKit 扫描参数(扫描前与用户确认):
| 参数 | CLI 选项 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| 源路径 | -i | 是 | - | 源代码目录(必须先询问用户) |
| 输出目录 | -o | 是 | /tmp/devkit-report | 报告输出目录(必须已存在) |
| 语言 | -s | 是 | - | c, c++, asm, fortran, go, java, python, scala(小写、逗号分隔) |
| 构建命令 | -c | 否 | None | 例如:'make all' |
| 构建工具 | -b | 否 | None | make/cmake/automake/go/bazel/blade |
| 编译器版本 | -p | 否 | None | 例如:gcc9.3.0 |
| 报告格式 | -r | 否 | all | all/json/html/csv |
| 目标操作系统 | -t | 否 | 自动检测 | 例如:openEuler22.03 |
| 并发数 | -np | 否 | 1 | 并发进程数 |
⚠️ AI 必须在扫描前询问用户源代码路径。未经用户确认,不得扫描或上传本地文件。
⛔ 禁止的操作
| 禁止的操作 | 原因 |
|---|---|
| ❌ 要求用户在对话中输入 SSH 凭据 | 凭据只能从环境变量中读取 |
| ❌ 回显/打印 SSH 密码或任何凭据 | 防止凭据泄露 |
| ❌ 将凭据以明文形式存储在文件中 | 凭据只能存在于环境变量中 |
| ❌ 在远程服务器上执行破坏性命令(rm -rf、format 等) | 防止造成不可逆的损害 |
| ❌ 未经用户确认修改源代码 | 迁移评估仅为只读操作 |
| ❌ 安装 DevKit 范围以外的软件包 | 只能安装 DevKit 及其依赖项 |
| ❌ 未询问用户源代码路径就开始扫描 | 必须始终询问源代码的位置 |
| ❌ 未经用户明确确认删除任何云资源 | 资源删除不可逆且属于高风险操作 |
❌ 自行执行任何 hcloud ... Delete* 命令 | 所有删除操作都需要用户明确确认 |
如果用户请求执行禁止的操作,应予以拒绝并告知:“根据安全限制,此技能不允许执行[具体操作]。如有需要,请手动执行此操作。”
架构
Kunpeng Source Code Migration Assessment
├── DetectLocalOS (Detect agent OS → determine DevKit install path)
├── PrepareServer (Determine where to install DevKit and run scan)
│ ├── LocalInstall (Install DevKit locally — only if OS is supported)
│ ├── RemoteInstall (Install DevKit on remote server via SSH)
│ │ ├── HasServer (Configure SSH via ssh_client.py: paramiko + password env var)
│ │ └── NoServer (Install hcloud CLI → Provision Kunpeng ECS → Configure SSH)
│ └── NotSupported (Local OS not supported → must use remote server)
├── ConnectServer (SSH connect via paramiko + MIGRATE_SSH_PASS env var)
├── InstallDevKit (Detect OS and install DevKit CLI tool)
└── ScanSourceCode (Scan source code → generate report → save to fixed local path)
└── ReportSave (Windows: C:\devkit-report\ | Linux/macOS: /home/devkit-report/)
⚠️ 必须首先执行任务 0(DetectLocalOS + PrepareServer)——该任务决定整个工作流的路径。
SSH 连接策略
所有 SSH 操作均使用统一的 scripts/ssh_client.py(paramiko + 来自环境变量的密码)。不使用 ssh/scp 命令、不使用 ControlMaster、不注入密钥,也不依赖华为云区域。在 Windows、Linux 和 macOS 上的工作方式完全一致。
环境变量(由用户在自己的终端中设置;AI 不会看到其值):
| 变量 | 描述 | 默认值 |
|---|---|---|
KUNPENG_SERVER_HOST | 远程服务 IP/主机名 | (必需) |
KUNPENG_SERVER_PORT | SSH 端口 | 22 |
KUNPENG_SERVER_USER | SSH 用户名 | root |
MIGRATE_SSH_PASS | SSH 密码(由 paramiko 读取,不会出现在 argv 中,每次连接后都会清除) | (必需) |
设置环境变量(跨平台):
# Linux / macOS (current session):
export KUNPENG_SERVER_HOST='<your-server-ip>'
export KUNPENG_SERVER_PORT='22'
export KUNPENG_SERVER_USER='root'
export MIGRATE_SSH_PASS='<your-password>'
# Windows PowerShell (current session):
$env:KUNPENG_SERVER_HOST='<your-server-ip>'
$env:KUNPENG_SERVER_PORT='22'
$env:KUNPENG_SERVER_USER='root'
$env:MIGRATE_SSH_PASS='<your-password>'
# Windows (persistent, GUI): Settings > Environment Variables > User > New
# (requires IDE/terminal restart)
凭据解析优先级(匹配第一项即停止):
- 当前进程环境变量(
export/$env:) /tmp/kunpeng_server_env.sh(Linux/macOS)或%TEMP%/kunpeng_server_env.sh(Windows)- Windows 用户级注册表(
winreg)——GUI 设置的变量的回退来源 - 默认值
ssh_client.py 子命令:
| 子命令 | 描述 |
|---|---|
test | 验证 SSH 连接(echo SSH_OK && uname -a) |
exec "<cmd>" [timeout] | 在远程服务上执行 Shell 命令 |
put <local> <remote> | 通过 SFTP 上传单个文件 |
put-dir <local_dir> <remote_dir> | 通过 SFTP 递归上传目录 |
get <remote> <local> | 通过 SFTP 下载单个文件 |
get-dir <remote_dir> <local_dir> | 通过 SFTP 递归下载目录 |
get-report [remote_dir] [local_dir] | 下载 DevKit 报告(按 Code_Porting_*.{html,json,csv,txt} 筛选)。默认值:远程=/tmp/devkit-report,本地=C:\devkit-report(Win)或 /home/devkit-report(Linux) |
save-env | 将连接信息(主机/端口/用户)保存到临时环境变量文件(不含密码) |
📦 优先使用 SFTP 传输文件(Windows + MSYS2 场景下至关重要)
⚠️ 在 Windows + MSYS2/Git Bash 上,Shell 会先将命令参数中的 Unix 路径转换为 Windows 路径,Python 才能看到这些参数(例如,
/tmp/foo→C:/Users/.../Temp/2/foo)。无法在 Python 内部通过sys.argv修复此问题。
规则:传输文件时,始终直接从 Python 使用 paramiko SFTP API,而不要使用 ssh_client.py CLI 子命令。
import os, paramiko
host = os.environ.get('KUNPENG_SERVER_HOST')
port = int(os.environ.get('KUNPENG_SERVER_PORT', '22'))
user = os.environ.get('KUNPENG_SERVER_USER', 'root')
password = os.environ.get('MIGRATE_SSH_PASS')
client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
client.connect(host, port=port, username=user, password=password, timeout=30)
sftp = client.open_sftp()
sftp.put(r'C:\local\install_devkit.sh', '/tmp/install_devkit.sh')
sftp.chmod('/tmp/install_devkit.sh', 0o755)
sftp.close()
client.close()
AI Agent 工作流:
- 文件传输 → 直接使用 paramiko SFTP API(见上文)
- 命令执行 → 使用
ssh_client.py exec "<cmd>"(仅限短命令) - 脚本执行 → 通过 SFTP 上传,然后执行
exec "bash /tmp/script.sh"
当 ssh_client.py put/get 检测到 Windows 路径被错误转换时,会报错退出,并提示你直接使用 paramiko SFTP API。请参阅 references/scripts-guide.md#sftp-first-file-transfer 和 references/troubleshooting.md#7-msys2-path-conversion-error-windows-only。
内置脚本
AI 必须使用这些脚本,而不是手动逐步执行命令。
📄 详细指南 → references/scripts-guide.md
| 脚本 | 描述 |
|---|---|
| detect_os.py | 本地操作系统检测(输出 os_type/arch/local_install_supported) |
| ssh_client.py | 统一的跨平台 SSH 客户端(paramiko + 环境变量)。子命令:test、exec、put、put-dir、get、get-dir、get-report、save-env |
| install_devkit.sh | DevKit CLI 安装(自动检测操作系统/架构、下载、安装、验证) |
| provision_kunpeng_server.sh | Kunpeng ECS 配置(华为云贵阳一区) |
支持的语言
| 语言 | 文件扩展名 | 迁移注意事项 |
|---|---|---|
| C | .c、.h | 内联汇编、特定于平台的头文件、字节序、指针大小 |
| C++ | .cpp、.cc、.cxx、.hpp | 与 C 相同,另外还有名称修饰、ABI 兼容性 |
| Assembly(ASM) | .s、.S、.asm | 特定于架构的指令、寄存器、调用约定 |
| Fortran | .f、.f90、.f95、.f03 | 编译器内置函数、MPI 库兼容性 |
| Go | .go | CGO 调用、汇编文件、特定于架构的构建标签 |
| Java | .java | JNI 原生库、特定于架构的依赖项 |
| Python | .py | C 扩展(Cython、CFFI)、原生绑定 |
| Scala | .scala | JNI 调用、原生库依赖项 |
核心工作流
任务 0:检测本地操作系统并准备环境
这是第一个任务。 此任务会检测 Agent 的本地操作系统并确定 DevKit 安装路径。
步骤 1:检测本地操作系统:
python <skill_dir>/scripts/detect_os.py
以 key=value 键值对形式输出 os_type、os_name、os_version、arch、local_install_supported。无需外部依赖,可在所有平台上运行。
⚠️ AI 必须使用
detect_os.py,不得手动运行uname -m、cat /etc/os-release、PowerShell 等命令。
DevKit 支持的本地操作系统列表:
| 操作系统 | 最低版本 | 备注 |
|---|---|---|
| openEuler | 20.03 LTS | 推荐用于鲲鹏 |
| CentOS | 7.6 | 也支持 8.0 |
| Ubuntu | 18.04 | 也支持 20.04、22.04 |
| Kylin | V10 | 国产操作系统 |
| UOS | 20 | 国产操作系统 |
| EulerOS | 2.8 | 也支持 2.9 |
| Debian | 10 | 也支持 11 |
| SUSE | 12 | |
| NeoKylin | V7 | 国产操作系统 |
Windows 和 macOS 不支持本地安装 DevKit。 DevKit 必须安装在远程 Linux 服务上。
步骤 2:询问用户要在哪里安装 DevKit
- 如果本地操作系统受支持(
LOCAL_INSTALL_SUPPORTED=true):询问“本地安装”还是“远程服务安装”- “本地安装” → 步骤 3a
- “远程服务安装” → 步骤 3b
- 如果本地操作系统不受支持:询问“现有远程 Linux 服务”还是“在华为云上创建鲲鹏服务”
- “现有远程 Linux 服务” → 步骤 3c
- “创建鲲鹏服务” → 步骤 3d
步骤 3a:本地安装
- 安装 DevKit:
bash <skill_dir>/scripts/install_devkit.sh --yes - 询问用户本地源代码路径
- 在本地运行 DevKit 扫描(无需 SSH)
- 跳过任务 1,使用本地路径直接继续任务 3
📄 详情 → references/task-local-devkit.md
步骤 3b:远程安装——询问远程服务
询问“现有远程 Linux 服务”还是“创建鲲鹏服务” → 步骤 3c 或 3d。
步骤 3c:用户已有远程服务——配置 SSH
用户在终端中设置 KUNPENG_SERVER_HOST/PORT/USER 和 MIGRATE_SSH_PASS(AI 永远不会看到这些值)。验证:
python <skill_dir>/scripts/ssh_client.py test
⚠️ 不依赖区域: 远程服务可以位于任何云端或本地环境。SSH 无需使用 hcloud CLI。
验证成功后,继续任务 1。
步骤 3d:用户没有服务——在华为云上创建鲲鹏 ECS
⛔ 关键:AI 必须使用
provision_kunpeng_server.sh创建所有云资源。绝不能单独手动调用 hcloud API。
- 检查 hcloud CLI 是否已安装并完成身份验证
- 与用户确认创建资源(提供规格和预估费用)
- 执行:
bash <skill_dir>/scripts/provision_kunpeng_server.sh --confirm- 创建 VPC → 子网 → 安全组 + SSH 规则 → EIP → ECS
- 生成随机 root 密码,并以
MIGRATE_SSH_PASS的名称保存到/tmp/kunpeng_server_env.sh(chmod 600)
- 加载环境变量:
source /tmp/kunpeng_server_env.sh - 验证 SSH:
python <skill_dir>/scripts/ssh_client.py test - 继续任务 1
- 扫描完成后(任务 3):提醒清理资源
📄 详情 → references/task-prepare-server.md
任务 1:通过 SSH 连接到源代码服务
使用 python <skill_dir>/scripts/ssh_client.py test 验证连接。之后的所有操作均使用 ssh_client.py 子命令(参见上文的 SSH 连接策略)。
📄 详情 → references/task-connect-server.md
任务 2:安装 DevKit CLI 工具
使用 scripts/install_devkit.sh 在目标机器上安装 DevKit CLI。该脚本会自动检测操作系统和架构、安装依赖项、下载正确的软件包并验证安装。
⚠️ AI 必须使用
scripts/install_devkit.sh,而不是手动逐步运行命令。
📄 详情 → references/task-install-devkit.md
任务 3:扫描源代码并生成迁移报告
⚠️ 关键规则:
- 扫描前必须询问用户源代码路径。 未经用户确认,不得扫描。
- 未经许可,不得扫描本地源代码。
- 未经许可,不得将本地文件上传到远程服务。
- 可以列出远程服务上可用的源代码目录,以帮助用户进行选择。
报告保存路径(本地下载):
| Agent 操作系统 | 本地报告保存路径 |
|---|---|
| Windows | C:\devkit-report |
| Linux / macOS | /home/devkit-report |
如果目录不存在,技能必须创建该目录。报告文件(HTML、JSON、CSV)必须直接保存在 <save_path>/ 下(不得创建 project_name 子目录)。除非用户明确要求其他位置,否则此路径固定不变。
下载报告:
# Download with defaults (remote=/tmp/devkit-report, local=C:\devkit-report on Windows):
python <skill_dir>/scripts/ssh_client.py get-report
# Or specify custom paths:
python <skill_dir>/scripts/ssh_client.py get-report /tmp/devkit-report /home/devkit-report
⚠️ AI 必须使用
get-report(或 paramiko SFTP API)下载报告。 不得使用exec配合 base64/cat 下载文件。
📄 详情 → references/task-scan-source-code.md
DevKit CLI 命令参考
主要工具是 Kunpeng DevKit CLI(devkit 命令)。
源代码迁移命令:
devkit porting src-mig -i <source_path> -o <output_path> -s '<language_list>' [options]
必需参数:
| 参数 | 描述 | 示例 |
|---|---|---|
-i | 源代码目录路径 | /home/user/project |
-o | 报告输出目录(必须存在) | /tmp/devkit-report |
-s | 源代码语言(可用逗号分隔多个语言) | 'c, c++, asm' |
可选参数:
| 参数 | 描述 | 默认值 | 示例 |
|---|---|---|---|
-c | 构建/编译命令 | None | 'make all' |
-b | 构建工具 | None | make、cmake、automake、go、bazel、blade |
-p | 编译器版本 | None | gcc9.3.0 |
-f | Fortran 编译器版本 | None | gfortran9 |
-t | 目标操作系统 | 自动检测 | openEuler22.03 |
-r | 报告格式 | all | all、json、html、csv |
-l | 日志级别 | 1(INFO) | 0(DEBUG)、1(INFO)、2(WARN)、3(ERROR) |
-np | 并发进程数 | 1 | 4 |
--ignore | 忽略规则配置文件 | 内置 | /path/to/ignore_rules.json |
--ignore-path | 要忽略的源代码路径 | None | /path/to/exclude |
--kp-compatibility | Kunpeng 跨代兼容性检查 | 关闭 | (标志) |
语言值(-s): c、c++、asm、fortran、go、java、python、scala(小写,以逗号分隔)
编译器版本(-p): gcc4.8.5、gcc7.3.0、gcc9.3.0、gcc10.3.0、gcc12.3.0、bisheng compiler3.0.0、bisheng compiler4.0.0、gcc for openeuler3.0.3 等。
扫描示例:
# C/C++ project with make build:
devkit porting src-mig -i /home/project -s 'c, c++, asm' -b make -c 'make all' -p gcc9.3.0 -o /tmp/report -r all
# Java/Python project (interpreted, no build command):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/report -r all
⚠️ 必须从安装目录运行
devkit二进制文件(例如,cd /usr/local/devkit && ./devkit),或者确保该目录位于 PATH 中。输出目录(-o)必须已存在。
📄 完整 CLI 参考 → references/devkit-cli-reference.md
参考资料
| 文档 | 说明 |
|---|---|
| scripts-guide.md | 内置脚本:SSH 客户端、资源配置、DevKit 安装 |
| prerequisites.md | 前置条件和身份验证 |
| iam-policies.md | ECS 资源配置的 IAM 权限策略(步骤 3d) |
| cli-installation-guide.md | hcloud(KooCLI)安装指南 |
| task-prepare-server.md | 任务 0:检测 OS,准备环境 |
| task-local-devkit.md | 任务 0a:本地安装 DevKit |
| task-connect-server.md | 任务 1:通过 SSH 连接到服务 |
| task-install-devkit.md | 任务 2:安装 DevKit CLI |
| task-scan-source-code.md | 任务 3:扫描源代码 |
| devkit-cli-reference.md | DevKit CLI 命令参考 |
| devkit-installation-guide.md | DevKit 安装指南 |
| migration-report-guide.md | 迁移报告解读 |
| troubleshooting.md | 故障排除和常见问题 |
| acceptance-criteria.md | 验收标准 |
| verification-method.md | 验证方法 |
资源清理提醒
⚠️ 扫描完成并呈现报告后,AI 必须提醒用户清理已配置的资源(仅适用于步骤 3d 资源配置路径)。只能以文本形式呈现,绝不执行删除命令。
### 🧹 Resource Cleanup Reminder
The following resources were created during this assessment and incur ongoing charges:
| Resource Type | Resource ID | Details |
|---------------|-------------|---------|
| ECS Instance | <id> | <IP>, <flavor> |
| VPC | <id> | <name> |
| Subnet | <id> | <name> |
| EIP | <id> | <IP> |
| Security Group| <id> | <name> |
To delete these resources, execute the following commands manually:
[delete commands here]
⚠️ WARNING: Deletion is IRREVERSIBLE. Verify resource IDs before executing.
⚠️ AI will NOT execute these commands. Please run them manually.
对于步骤 3c(现有服务)和步骤 3a(本地安装): 无需提醒清理,因为用户提供了自己的服务或在本地安装了 DevKit。