基于华为云码道(CodeArts)代码智能体安装鲲鹏源码迁移评估skills,让源码鲲鹏移植门槛极大降低
一、概述
1.1 方案整体介绍
华为云码道(CodeArts)代码智能体是基于智能代码生成、智能问答两大核心能力构建起一套全方位、多层次的智能开发体系。在智能代码生成方面,它能够依据开发者输入的需求描述,准确且高效地生成高质量代码;智能问答功能则如同开发者身边的专属技术顾问。
随着鲲鹏计算产业的快速发展,大量运行在 x86_64 架构上的软件需要向 ARM64(鲲鹏)平台迁移。传统迁移评估面临三大痛点:
- 专业门槛高:需要人工逐文件排查内联汇编、编译器内建函数(SSE/AVX intrinsics)、平台头文件、构建脚本等架构相关代码,对工程师的体系结构知识要求极高;
- 评估周期长:中大型项目动辄数十万行代码,人工排查往往需要数天甚至数周;
- 环境搭建繁琐:评估依赖鲲鹏 DevKit 工具,需要自行准备 Linux 环境、安装工具链、配置网络与凭据,任何一步出错都会卡住整个流程。
本方案将上述全流程封装为 huawei-cloud-kunpeng-source-code-migrate skill。安装该 skill 后,开发者只需在对话框中输入"帮我对这个项目做鲲鹏可移植性分析",智能体即可自动完成:本地操作系统探测 → 评估环境决策(本地安装 / 远程服务器 / 自动购买鲲鹏 ECS)→ DevKit CLI 安装 → 源码扫描 → 迁移评估报告下载与解读,全程无需记忆任何 DevKit 命令参数。
skill下载地址:huawei-cloud-kunpeng-source-code-migrate
1.2 适用场景
- 源码可移植性评估:评估 C/C++/ASM/Fortran/Go/Java/Python/Scala 项目向鲲鹏 ARM 平台移植的工作量与风险;
- 架构兼容性检查:扫描源码中与 ARM64/Kunpeng 架构不兼容的代码模式(内联汇编、SSE/AVX 指令集、平台宏、字节序假设等);
- 迁移报告自动生成:为软件项目输出 HTML/JSON/CSV 多格式的鲲鹏迁移评估报告,包含问题清单、严重级别与修改建议;
- 鲲鹏服务器一键开通:用户没有现成 Linux 服务器时,自动在华为云(贵阳一)开通鲲鹏 ECS 供评估使用;
- 信创改造前期摸底:企业软件从 x86 向 ARM 架构(含 openEuler、麒麟、UOS 等国产 OS 目标平台)迁移前的可行性论证。
1.3 适用对象
- 个人开发者
- 高校学生
- 企业开发人员、鲲鹏移植工程师
- 信创改造项目负责人
1.4 案例时间
本案例总时长预计 15 分钟(含 DevKit 安装与源码扫描时间,实际时长取决于代码规模)。
1.5 案例流程
- 用户安装华为云码道(CodeArts)代码智能体;
- 用户下载并安装 huawei-cloud-kunpeng-source-code-migrate skill;
- 用户在自己的终端设置服务器连接环境变量(或选择自动开通鲲鹏 ECS);
- 通过 prompt 触发鲲鹏迁移评估,获得迁移评估报告。
1.6 资源总览
本案例预计花费 0 元起。
| 资源名称 | 规格 | 单价(元) |
|---|---|---|
| 华为云码道(CodeArts)代码智能体 | 通用体验版 | 免费 |
| 鲲鹏 DevKit CLI | 自动安装 | 免费 |
| 鲲鹏 ECS(可选,无服务器时自动开通) | 鲲鹏通用计算型 | 按需付费(评估完及时删除即可,短时使用仅需几元) |
二、环境和资源准备
2.1 AI IDE 华为云码道安装部署
参考案例《AI IDE华为云码道(CodeArts)代码智能体安装部署》完成 Windows 版 AI IDE 华为云码道(CodeArts)代码智能体安装部署。
2.2 前置条件清单(缺少的工具SKILL都可自动安装)
| 工具/条件 | 版本要求 | 用途 |
|---|---|---|
| Python | 3.x | 运行 skill 内置脚本(OS 探测、SSH 客户端) |
| paramiko | 最新稳定版 | SSH 连接(pip install paramiko) |
| hcloud(KooCLI) | >= 3.2.0 | 仅"自动开通鲲鹏 ECS"路径需要 |
| DevKit CLI | 由 skill 自动安装 | 源码迁移扫描 |
| 远程 Linux 服务器 | 可选 | Windows/macOS 本机不支持 DevKit 本地安装,需远程执行 |
| 源码 | 无 | 作为扫描对象 |
说明:DevKit 支持本地安装的操作系统包括 openEuler、CentOS、Ubuntu、麒麟(Kylin)、UOS、EulerOS、Debian、SUSE、中标麒麟(NeoKylin)。Windows 和 macOS 不支持本地安装,需使用远程 Linux 服务器。
2.3 凭据安全约定
本 skill 在凭据安全上有严格约定,请务必遵循:
- SSH 凭据(已有服务器路径):用户需在自己的终端设置
KUNPENG_SERVER_HOST、KUNPENG_SERVER_PORT、KUNPENG_SERVER_USER、MIGRATE_SSH_PASS环境变量。智能体永远不会在对话中询问、打印或存储这些值; - 华为云 AK/SK(自动开通 ECS 路径):用户需自行执行
hcloud configure set完成认证,智能体不会经手任何密钥; - SSH 密码仅由 paramiko 从环境变量读取,不出现在命令行参数中,且每次连接建立后立即从进程环境中清除。
三、huawei-cloud-kunpeng-source-code-migrate 介绍
3.1 介绍
huawei-cloud-kunpeng-source-code-migrate 是一个源码迁移评估自动化 skill,底层依托华为官方 鲲鹏 DevKit CLI 工具。它采用"本地探测 + 远程执行 + SFTP 传输"的架构:智能体在本地完成操作系统探测与环境决策,通过统一的 paramiko SSH 客户端连接源码服务器,远程安装 DevKit、执行源码扫描,最后通过 SFTP 把迁移评估报告拉取到本地固定目录。
skill 支持扫描的语言与典型迁移关注点如下:
| 语言 | 文件扩展名 | 典型迁移关注点 |
|---|---|---|
| C | .c, .h |
内联汇编、平台相关头文件、字节序、指针长度 |
| C++ | .cpp, .cc, .cxx, .hpp |
同 C,另有名称修饰、ABI 兼容性 |
| 汇编(ASM) | .s, .S, .asm |
架构相关指令、寄存器、调用约定 |
| Fortran | .f, .f90, .f95, .f03 |
编译器内建函数、MPI 库兼容性 |
| Go | .go |
CGO 调用、汇编文件、架构相关构建标签 |
| Java | .java |
JNI 本地库、架构相关依赖 |
| Python | .py |
C 扩展(Cython、CFFI)、原生绑定 |
| Scala | .scala |
JNI 调用、原生库依赖 |
3.2 与传统迁移评估方式的对比
| 特性 | 本 skill(智能体 + DevKit) | 人工评估 | 手工使用 DevKit CLI |
|---|---|---|---|
| 学习成本 | 低(自然语言触发) | 高(需体系结构专家) | 中(记忆命令参数) |
| 评估速度 | 快(自动扫描) | 慢(数天至数周) | 快 |
| 环境搭建 | 自动(含自动开通鲲鹏 ECS) | 手工 | 手工 |
| 跨平台一致性 | 高(paramiko 统一 SSH,Windows/Linux/macOS 一致) | - | 低(Windows 下路径转换易踩坑) |
| 凭据安全 | 高(仅环境变量,自动擦除) | 依赖个人习惯 | 易在命令行泄露密码 |
| 输出 | HTML/JSON/CSV 报告 + 智能体解读摘要 | 文档 | 原始报告 |
3.3 skill 功能介绍
skill 内置 4 个核心脚本,智能体必须调用这些脚本而不是手工拼命令,保证流程稳定可复现:
| 脚本 | 功能 |
|---|---|
detect_os.py |
本地操作系统探测,输出 os_type/arch/local_install_supported 等键值对,据此决定 DevKit 安装路径 |
ssh_client.py |
统一跨平台 SSH 客户端(paramiko + 环境变量密码),子命令包括 test(连通性测试)、exec(远程命令)、put/put-dir(上传)、get/get-dir(下载)、get-report(下载迁移报告)、save-env(保存连接信息) |
install_devkit.sh |
DevKit CLI 自动安装:自动识别 OS 与 CPU 架构、安装依赖、下载正确的安装包并校验 |
provision_kunpeng_server.sh |
鲲鹏 ECS 一键开通:在华为云贵阳一自动创建 VPC → 子网 → 安全组(含 SSH 规则)→ EIP → ECS,随机生成 root 密码并以 600 权限保存到临时环境文件 |
此外,skill 还内置了完备的参考资料库(IAM 最小权限策略、hcloud 安装指南、DevKit CLI 参数手册、报告解读指南、故障排查手册等),智能体可按需加载,确保每一步都有权威依据。
3.4 运行流程架构
skill 的整体运行流程如下图所示:

其中迁移分析报告在远程生成后经 SFTP 下载,本地保存路径固定为:Windows C:\devkit-report\、Linux/macOS /home/devkit-report/。
关键设计要点:
- 探测OS必须最先执行——本地 OS 探测结果决定整个工作流的分支走向(本地安装 / 已有远程服务器 / 自动开通鲲鹏 ECS);
- 统一 SSH 策略——所有 SSH 操作走
ssh_client.py(paramiko + 环境变量密码),不使用ssh/scp命令、不注入密钥、不依赖 ControlMaster,Windows/Linux/macOS 行为完全一致; - SFTP 优先的文件传输——针对 Windows + Git Bash 的 MSYS2 路径转换问题做了专门防护,文件传输一律走 paramiko SFTP API;
- 强制交互确认——扫描前必须向用户确认源码路径,未经许可不扫描、不上传本地文件;
- 资源清理提醒——若走自动开通 ECS 路径,评估完成后智能体以纯文本形式列出所有云资源清单与删除命令(由用户手动执行,智能体绝不自动删除)。
3.5 安全红线
skill 明确规定了禁止智能体执行的操作,包括:在对话中索要 SSH 凭据、回显任何密码/密钥、以明文存储凭据、在远程服务器执行破坏性命令、未经确认修改源码(评估是只读的)、超出 DevKit 范围安装软件包、未经确认扫描/上传文件、自主执行任何云资源删除命令。这些约束保证了评估过程对用户代码与云资源零风险。
四、实战演练
4.1 下载并安装 skill
将 huawei-cloud-kunpeng-source-code-migrate skill 包解压到 C 盘 .codeartsdoer 文件夹中的 skills 文件夹,skill 即可在 AI IDE 华为云码道(CodeArts)代码智能体中使用。
4.2 设置服务器连接环境变量(已有服务器路径)
在自己的终端中设置以下环境变量(智能体不会看到具体值):
# Linux / macOS(当前会话):
export KUNPENG_SERVER_HOST='<你的服务器IP>'
export KUNPENG_SERVER_PORT='22'
export KUNPENG_SERVER_USER='root'
export MIGRATE_SSH_PASS='<你的密码>'
# Windows PowerShell(当前会话):
$env:KUNPENG_SERVER_HOST='<你的服务器IP>'
$env:KUNPENG_SERVER_PORT='22'
$env:KUNPENG_SERVER_USER='root'
$env:MIGRATE_SSH_PASS='<你的密码>'
如果没有服务器,直接在对话中说明"我没有服务器",智能体会引导走自动开通鲲鹏 ECS 路径(需要先自行完成 hcloud AK/SK 配置)。
4.3 触发评估
在对话框中输入类似以下内容即可触发(skill 识别"鲲鹏迁移"“鲲鹏移植”“可迁移性分析”"DevKit"等触发词):
帮我对远程服务器 /home/project 目录下的 C/C++ 项目做鲲鹏可迁移性分析
智能体随后会自动完成:
- 本地 OS 探测:运行
detect_os.py,判定安装路径; - SSH 连通性测试:运行
ssh_client.py test; - 远程安装 DevKit:上传并执行
install_devkit.sh; - 源码确认与扫描:列出远端可用的源码目录供用户确认,然后执行扫描。典型命令等价于:
# C/C++ 项目(带构建命令):
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 等解释型语言项目(无需构建命令):
devkit porting src-mig -i /home/project -s 'java, python' -o /tmp/devkit-report -r all
- 报告下载:通过
ssh_client.py get-report自动把报告拉取到本地固定目录(Windows 为C:\devkit-report\,Linux/macOS 为/home/devkit-report/)。
4.4 输出结果
报告文件:扫描完成后生成 Code_Porting_* 系列报告文件,支持 HTML(可视化最佳)、JSON(程序化处理)、CSV(表格查看)三种格式,统一保存在本地固定目录。
HTML 报告内容包括:
- 总览面板——整体迁移评分、扫描文件总数、问题总数;
- 问题清单——所有检测到的迁移问题明细(文件、行号、代码片段、描述、修改建议、官方文档链接);
- 分类统计——按问题类别分组;
- 逐文件分析——每个文件的问题分析;
- 修改建议——每类问题的推荐整改动作。
典型问题类别:内联汇编(如 cpuid、rdtsc 指令,需替换为 getauxval() 等)、编译器内建函数(SSE/AVX 需映射为 NEON,如 _mm_add_ps → vaddq_f32)、平台相关头文件(emmintrin.h → arm_neon.h)、平台宏分支缺失(需补充 #elif defined(__aarch64__))、构建配置(-march=native/-msse4.2 等需调整)、第三方依赖无 ARM64 版本、JNI/Python C 扩展等。
智能体在报告生成后还会输出一份结构化摘要,包括:是否需要迁移、扫描文件数、需修改的文件数与代码行数、迁移规则与建议数量、工作量估算(人月)以及按类别的问题汇总,方便管理者快速决策。

4.5 资源清理(仅自动开通 ECS 路径)
如果评估中使用了自动开通的鲲鹏 ECS,报告交付后智能体只会以纯文本形式列出所创建的资源清单(ECS、VPC、子网、EIP、安全组及其 ID)和对应的删除命令。删除操作由用户核对后手动执行,智能体绝不代为删除,避免误删造成不可逆损失。

五、总结
huawei-cloud-kunpeng-source-code-migrate skill 把鲲鹏源码迁移评估从"专家级手工排查"变成了"一句话自动化作业",特别适合:
- x86 软件向鲲鹏/ARM 平台迁移前的可行性摸底与工作量估算;
- 快速定位内联汇编、SSE/AVX intrinsics、平台宏等架构强相关代码;
- 信创改造项目的批量代码体检;
- 无 Linux 环境的 Windows/macOS 用户(自动开通鲲鹏 ECS 开箱即用)。
该skill除了可以在码道上使用,还可以在Officeace、OpenClaw等市场Agent中使用。它结合了智能体的编排理解能力与鲲鹏 DevKit 的官方扫描规则库,配合统一的 paramiko SSH 客户端与严格的安全红线设计,让源码迁移评估变得简单、安全、可复现。
六、反馈改进建议
如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论区反馈即可,我们会及时响应处理,谢谢!
- 点赞
- 收藏
- 关注作者
评论(0)