OpenHarmony source code download Skill - conversational information collection + environment check + foreground real-time download.
Workflow
- Select mirror source(AskUserQuestion single choice)
- Environment check(item-by-item conversational check, guide to resolve on failure)
- Select branch(AskUserQuestion single choice)
- Select directory(AskUserQuestion single choice)
- Execute download(Bash tool, foreground real-time output)
Conversation flow
Step 1: Select mirror source
AskUserQuestion({
questions: [{
header: "镜像源",
question: "请选择 OpenHarmony 镜像源",
options: [
{ label: "GitCode", description: "推荐国内用户,速度最快" },
{ label: "Gitee", description: "国内用户" },
{ label: "GitHub", description: "国际用户" }
],
multiSelect: false
}]
})
Step 2: Environment check
After selecting the mirror source, use the Bash tool to check the environment item by item:
Bash({ command: "bash scripts/check_env.sh git", description: "Check git installation" })
Bash({ command: "bash scripts/check_env.sh git-lfs", description: "Check git-lfs installation" })
Bash({ command: "bash scripts/check_env.sh python3", description: "Check python3 installation" })
Bash({ command: "bash scripts/check_env.sh curl", description: "Check curl installation" })
Bash({ command: "bash scripts/check_env.sh repo", description: "Check repo installation" })
Bash({ command: "bash scripts/check_env.sh git-config", description: "Check git configuration" })
Bash({ command: "bash scripts/check_env.sh disk-space", description: "Check available disk space" })
When a check fails: show the error + provide the installation command + wait for the user to fix it + re-check
Common installation commands:
- git:
sudo apt-get install git(Ubuntu/Debian) - git-lfs:
sudo apt-get install git-lfs && git lfs install - repo: see the installation instructions output by the script
- Git configuration:
git config --global user.name "Your Name" && git config --global user.email "your-email@example.com"
Step 3: Select branch
AskUserQuestion({
questions: [{
header: "分支",
question: "请选择 OpenHarmony 分支",
options: [
{ label: "master", description: "主分支(最新开发代码)" },
{ label: "OpenHarmony-5.1.0-Release", description: "5.1.0 版本" },
{ label: "OpenHarmony-5.0.3-Release", description: "5.0.3 版本" },
{ label: "OpenHarmony-5.0.2-Release", description: "5.0.2 版本" },
{ label: "OpenHarmony-5.0.1-Release", description: "5.0.1 版本" },
{ label: "OpenHarmony-4.1-Release", description: "4.1 版本" },
{ label: "自定义分支", description: "输入自定义分支名" }
],
multiSelect: false
}]
})
Step 4: Select directory
AskUserQuestion({
questions: [{
header: "目录",
question: "请选择下载目录",
options: [
{ label: "默认位置", description: "~/OpenHarmony/[branch]/" },
{ label: "自定义路径", description: "指定其他位置" }
],
multiSelect: false
}]
})
Step 5: Confirm and execute download
Show the configuration summary, use AskUserQuestion to confirm whether to start:
// 显示配置摘要
Claude: 好的,准备下载 OpenHarmony 源码:
配置摘要:
- 镜像源: ${MIRROR}
- 分支: ${BRANCH}
- 目录: ${DOWNLOAD_DIR}
- 并行任务: CPU核心数/4(自动计算)
下载将在前台运行,进度实时显示。
这将需要 30 分钟到数小时。
AskUserQuestion({
questions: [{
header: "确认",
question: "是否开始下载?",
options: [
{ label: "开始下载", description: "立即开始下载 OpenHarmony 源码" },
{ label: "返回重新配置", description: "返回步骤1,重新选择配置" }
],
multiSelect: false
}]
})
If "Start download" is selected:
Use the Bash tool to execute the download script, passing in the mirror source, branch, and directory parameters selected by the user:
Bash({
command: `bash scripts/download_openharmony.sh -m ${MIRROR} -b ${BRANCH} ${CUSTOM_DIR ? `-d ${CUSTOM_DIR}` : ''}`,
description: `Download OpenHarmony ${BRANCH} from ${MIRROR}`
})
The download will run in the foreground, with progress displayed in real time.
If "Return to reconfigure" is selected: Return to step 1, and reselect the mirror source, branch, and directory.
Script description
download_openharmony.sh
必需参数:
-m MIRROR 镜像源(gitcode|gitee|github)
-b BRANCH 分支名
可选参数:
-d DIR 下载目录(绝对路径)
-j JOBS 并行任务数(默认: CPU核心数/4)
check_env.sh
用法: check_env.sh <check_type>
检查类型: git | git-lfs | python3 | curl | repo | git-config | disk-space | all
verify_download.sh
Automatically verify download integrity (automatically called by the download script):
- Directory structure check
- foundation subsystem check
- ACE Engine component check
- Key file check
- repo status check
- Repository integrity verification
Verification result handling
Verification passed
✓ 验证通过!OpenHarmony 源码完整。
后续步骤:
1. 配置编译环境
2. 全量编译代码: ./build.sh --ccache --product-name rk3568
Verification failed
✗ 验证发现问题
建议:
1. 同步缺失仓库: repo sync -c
2. 拉取 LFS 文件: repo forall -c 'git lfs pull'
3. 检查网络连接