基于华为云码道(CodeArts)代码智能体安装鲲鹏源码迁移评估skills,让源码鲲鹏移植门槛极大降低

举报
AI在路上 发表于 2026/09/03 11:26:54 2026/09/03
【摘要】 本案例将基于华为云码道(CodeArts)代码智能体安装 **huawei-cloud-kunpeng-source-code-migrate** skills,实现 C/C++/ASM/Fortran/Go/Java/Python/Scala 源码向鲲鹏(ARM64)平台迁移的自动化可迁移性评估,一条对话指令即可完成环境探测、DevKit 安装、源码扫描与迁移评估报告生成。

一、概述

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 案例流程

  1. 用户安装华为云码道(CodeArts)代码智能体;
  2. 用户下载并安装 huawei-cloud-kunpeng-source-code-migrate skill;
  3. 用户在自己的终端设置服务器连接环境变量(或选择自动开通鲲鹏 ECS);
  4. 通过 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_HOSTKUNPENG_SERVER_PORTKUNPENG_SERVER_USERMIGRATE_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/

关键设计要点:

  1. 探测OS必须最先执行——本地 OS 探测结果决定整个工作流的分支走向(本地安装 / 已有远程服务器 / 自动开通鲲鹏 ECS);
  2. 统一 SSH 策略——所有 SSH 操作走 ssh_client.py(paramiko + 环境变量密码),不使用 ssh/scp 命令、不注入密钥、不依赖 ControlMaster,Windows/Linux/macOS 行为完全一致;
  3. SFTP 优先的文件传输——针对 Windows + Git Bash 的 MSYS2 路径转换问题做了专门防护,文件传输一律走 paramiko SFTP API;
  4. 强制交互确认——扫描前必须向用户确认源码路径,未经许可不扫描、不上传本地文件;
  5. 资源清理提醒——若走自动开通 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++ 项目做鲲鹏可迁移性分析

智能体随后会自动完成:

  1. 本地 OS 探测:运行 detect_os.py,判定安装路径;
  2. SSH 连通性测试:运行 ssh_client.py test
  3. 远程安装 DevKit:上传并执行 install_devkit.sh
  4. 源码确认与扫描:列出远端可用的源码目录供用户确认,然后执行扫描。典型命令等价于:
# 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
  1. 报告下载:通过 ssh_client.py get-report 自动把报告拉取到本地固定目录(Windows 为 C:\devkit-report\,Linux/macOS 为 /home/devkit-report/)。

4.4 输出结果

报告文件:扫描完成后生成 Code_Porting_* 系列报告文件,支持 HTML(可视化最佳)、JSON(程序化处理)、CSV(表格查看)三种格式,统一保存在本地固定目录。

HTML 报告内容包括

  1. 总览面板——整体迁移评分、扫描文件总数、问题总数;
  2. 问题清单——所有检测到的迁移问题明细(文件、行号、代码片段、描述、修改建议、官方文档链接);
  3. 分类统计——按问题类别分组;
  4. 逐文件分析——每个文件的问题分析;
  5. 修改建议——每类问题的推荐整改动作。

典型问题类别:内联汇编(如 cpuidrdtsc 指令,需替换为 getauxval() 等)、编译器内建函数(SSE/AVX 需映射为 NEON,如 _mm_add_psvaddq_f32)、平台相关头文件(emmintrin.harm_neon.h)、平台宏分支缺失(需补充 #elif defined(__aarch64__))、构建配置(-march=native/-msse4.2 等需调整)、第三方依赖无 ARM64 版本、JNI/Python C 扩展等。

智能体在报告生成后还会输出一份结构化摘要,包括:是否需要迁移、扫描文件数、需修改的文件数与代码行数、迁移规则与建议数量、工作量估算(人月)以及按类别的问题汇总,方便管理者快速决策。

迁移评估报告1

4.5 资源清理(仅自动开通 ECS 路径)

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

迁移评估报告2

五、总结

huawei-cloud-kunpeng-source-code-migrate skill 把鲲鹏源码迁移评估从"专家级手工排查"变成了"一句话自动化作业",特别适合:

  • x86 软件向鲲鹏/ARM 平台迁移前的可行性摸底与工作量估算
  • 快速定位内联汇编、SSE/AVX intrinsics、平台宏等架构强相关代码
  • 信创改造项目的批量代码体检
  • 无 Linux 环境的 Windows/macOS 用户(自动开通鲲鹏 ECS 开箱即用)。

该skill除了可以在码道上使用,还可以在Officeace、OpenClaw等市场Agent中使用。它结合了智能体的编排理解能力与鲲鹏 DevKit 的官方扫描规则库,配合统一的 paramiko SSH 客户端与严格的安全红线设计,让源码迁移评估变得简单、安全、可复现。

六、反馈改进建议

如您在案例实操过程中遇到问题或有改进建议,可以到论坛帖评论区反馈即可,我们会及时响应处理,谢谢!

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。