目录

ArkMigrate — 基于多智能体协作的复杂移动应用自动迁移与评测系统

第三届中国研究生操作系统开源创新大赛暨开放原子大赛操作系统专项赛 参赛作品

赛题:基于大模型 Coding Agent 的复杂移动应用自动迁移与评测(社区赛题)


作品简介

ArkMigrate 是一套面向 Android/iOS 复杂移动应用向 OpenHarmony/HarmonyOS ArkTS 应用自动迁移的系统。系统采用分阶段迁移 Pipeline + 多智能体协作架构,构建了配套的 Benchmark 评测体系Context 消融实验框架,系统性地解决三类 OS 语义鸿沟问题:Ability 架构差异、分布式能力适配、权限模型重构。

核心特性:

  • 六阶段迁移 Pipeline:源码分析 → 架构映射 → Plan 生成 → 代码生成 → 自动验证 → 迭代修复
  • 多 Agent 协作:6 类专业化 Agent(UI/业务/数据/网络/权限/测试)通过结构化中间产物协作
  • Benchmark 评测体系:100 条场景级测试用例 + 7 项多层评测指标
  • Context 消融实验:5 组配置量化对比,发现”Plan+调用链”为最优 Context 组合
  • OS 语义映射知识库:150+ 条结构化规则,覆盖三个维度

运行说明

环境要求

  • Python 3.10+
  • 16GB+ RAM
  • (可选)DevEco Studio 4.0+ 用于 ArkTS 编译验证

安装

cd ArkMigrate
pip install -r requirements.txt

基本用法

# 所有命令在 ArkMigrate/ 目录下执行

# 1. 迁移 Android 应用到鸿蒙 ArkTS
python -m src.pipeline.orchestrator \
    --source ./sample_apps/AndroidDemo \
    --output ./output/ \
    --context-mode plan_callchain

# 2. 运行 Benchmark 评测(100条场景 + 7项指标)
python -m src.benchmark.evaluator \
    --pipeline default \
    --dataset full

# 3. 运行 Context 消融实验
python -m experiments.ablation_configs \
    --configs G0 G1 G2 G3 G4 G5 \
    --repeat 3

提交材料清单

文件 说明
README.md 本文件:作品简介与运行说明
项目说明书.docx 设计文档:系统架构、技术路线、模块详述
评估文档与实验报告.md 技术报告:Benchmark 评测、消融实验、结果分析
参赛承诺书.docx 作品原创承诺书
作品介绍PPT.pptx 演示 PPT(18 页,含架构图/对比图/消融实验图)
演示视频.mp4 5 分钟演示视频(< 100MB)
ArkMigrate/ 完整源代码及文档

项目结构

ArkMigrate/
├── README.md                    # 代码详细说明
├── requirements.txt             # Python 依赖
├── sample_apps/AndroidDemo/     # 示例 Android 应用
├── src/
│   ├── pipeline/                # Pipeline 编排引擎
│   │   ├── orchestrator.py      # 主编排器(6 阶段调度)
│   │   ├── source_analyzer.py   # 源码分析(AST/调用链/权限)
│   │   ├── arch_mapper.py       # 架构映射(150+ 规则)
│   │   ├── plan_generator.py    # Plan 生成(DAG 拓扑排序)
│   │   ├── code_generator.py    # 代码生成(分层 Context)
│   │   ├── verifier.py          # 自动验证(5 项检查)
│   │   └── repairer.py          # 迭代修复(8 种策略)
│   ├── agents/                  # 多 Agent 协作
│   ├── benchmark/               # Benchmark 与评测
│   ├── context/                 # Context 组织
│   └── knowledge/               # OS 语义知识库
├── data/benchmark/              # Benchmark 用例数据
├── experiments/                 # 消融实验配置
├── docs/                        # 评估文档与实验报告
└── tests/                       # 测试

关键实验结论

Context 配置 编译通过率 Token/场景 性价比
Baseline(全量源码单次生成) 45.1% ~150K
Plan only 56.3% ~45K ★★
Plan + 调用链 72.8% ~68K ★★★
Plan + 调用链 + SPEC 79.9% ~95K ★★☆
全部组件 + 依赖元信息 82.3% ~120K ★★

结论:”Plan + 调用链”是最小有效 Context 组合,Token 消耗减少 55% 的同时编译通过率提升 61.4%。

引用说明

本项目引用的第三方开源组件:

  • Tree-sitter (MIT) — AST 解析
  • androguard (Apache 2.0) — APK 分析
  • anthropic-python-sdk / openai-python — LLM API 调用
  • matplotlib (PSF) — 可视化

核心 Pipeline 逻辑、Agent 架构、Benchmark 体系均为原创开发,自创代码占比约 85%。

关于
24.2 MB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号