目录

HarmonyTeam:面向鸿蒙应用迁移的多智能体协作框架

面向移动应用向鸿蒙平台迁移的需求,针对平台架构差异、真实需求分散及长流程开发中核心需求易遗忘等挑战,本作品提出需求驱动的多智能体协作框架 HarmonyTeam。框架模拟真实软件团队,通过明确的角色分工与文档交付机制,贯通需求分析、架构设计、并行开发和集成验证。具体而言,联合源码分析与运行探索提取业务需求,依据鸿蒙 Ability、状态恢复和最小权限机制重新设计应用架构;采用“一名子开发工程师负责一项任务”的协作方式,以完整任务规格约束独立分支开发,降低上下文压缩造成的需求遗漏,并提升开发并行度;结合 SDK 版本筛选、混合检索与错误反馈构建 RAG 编码增强机制,提高 ArkTS 代码生成的适配性;通过测试驱动开发与 Git 集成验证,建立需求、测试和代码之间的可追溯关系,为复杂应用的鸿蒙迁移提供系统化解决方案。

poster

项目目录

路径 内容
src/harmonyteam/ 需求检出、岗位交付、官方资料检索、并行开发、构建与评估
scripts/ 命令行实验、ArkTS 单元执行器、样本准备与交付脚本
tests/data/ 固定版本目录、参考核心功能、实际探索证据、官方 SDK 知识片段
tests/results/ 请求输入、响应、Token、Git 交付、编译和测试原始记录
tests/unit/ 框架本身的回归测试
demo/template/ 可编译的 HarmonyOS Stage 工程模板
demo/markor-pilot/ 本轮生成的可编译示例源码
docs/ 赛事要求的 PDF 材料与方法说明
presentation/ 官方模板演示 PPT 与演示视频

六个岗位如何协作

岗位 输入与技术 交付和反馈
需求分析师 XML/Manifest 与 Java/Kotlin 源码证据;ADB/UIAutomator 探索;从源码取得的 Activity 经 Intent 补充启动 需求技术规格:用户目标、前置条件、步骤、可观察结果、异常、系统能力、证据编号和验收条件;无证据需求进入待核查项
软件架构师 需求规格、固定接口、HarmonyOS 官方 SDK 资料 Stage/UIAbility、页面与业务模块、持久化和权限方案;本轮采用私有 Preferences 与零额外权限
测试工程师 需求与接口,先于业务代码 生成可执行测试;检查空实现确实发生行为失败;集成后运行独立冻结测试;设备任务另行验证
项目经理 版本化需求、接口、测试计划 带需求编号和文件范围的任务清单;核心需求按编号重新装入上下文;异常转为问题记录
开发工程师 分配的需求、接口、公开测试、BM25 检索的对应版本官方 SDK 片段 两个 Git worktree 并行实现编辑与查找模块;自测失败时依据真实日志修复;最后实现页面和存储
配置管理员 提交编号、测试报告、依赖版本 在候选分支回归验证,再按顺序合并;官方 Hvigor 编译;输出可追溯的集成记录

各阶段 JSON 产物带负责人、版本、输入版本、状态和摘要哈希。artifacts/history/ 保留历史,handoffs.jsonl 记录交付。未通过的模块不进入后续页面构建。参考验收用例不提供给开发模型。

运行

在本目录执行。需要 Python 3.10+、Git、Node,以及实际构建时可用的 DevEco Studio/HarmonyOS SDK。本轮使用 HarmonyOS API 24 SDK、兼容 API 23;Android 探索设备为 API 34。

python -m pip install -e .
python -m pip install pytest
python -m pytest tests/unit -q
python scripts/fetch_samples.py

# 在当前终端配置个人凭据;不要写进仓库。
$env:DEEPSEEK_API_KEY = '<个人密钥>'
$env:QWEN_API_KEY = '<个人密钥>'

python scripts/run.py probe
python -m harmonyteam.environment --build demo/markor-pilot
python scripts/run.py rq1 --config tests/config/pilot.json --conditions static,joint
python scripts/run.py rq1-match --config tests/config/pilot.json
python scripts/run.py rq2 --config tests/config/pilot.json
python scripts/run.py rq4 --config tests/config/pilot.json
python scripts/run.py rq3 --config tests/config/pilot.json
python scripts/run.py report --config tests/config/pilot.json

先根据 tests/data/catalog.json 恢复样本源码,按本机修改 tests/config/pilot.json 的工具路径与模型服务地址。配置中的结果目录指向 tests/results/reproduction,因此重跑不会覆盖随包提供的观测。RQ1 联合条件可复用冻结探索证据;重新采集使用 harmonyteam.android 中的探索器,记录自己的设备和版本。

主模型为 deepseek-v4-pro 和 qwen3.8-max-0902,功能评判使用 qwen3-vl-plus-2025-12-19。本轮主试验关闭思考模式;初始校准及失败调用独立保存。模型服务的别名和可用性应以自己的接口实际返回为准。

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

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