AI 迁移:把已有项目带到 HTYF
已有项目可以作为迁移起点。htyf-migration 将迁移拆成可检查的步骤:盘点源功能、选择官方模板、逐项实现、适配宿主、构建并验证。你可以迁移整个项目,也可以指定页面或模块;源代码更新后,还可以基于上次记录继续同步。
AI 迁移由什么组成?
htyf-skills 提供 Agent Skills 规则,AI 编程工具负责执行;htyf-cli 负责生成模板、构建和调试;红糖云服客户端负责运行与真机验证。安装 CLI 不会自动安装 Skill,也不会自动提供模型服务。
1. 选择目标
| 源项目与诉求 | 目标 | 迁移重点 |
|---|---|---|
| 小程序、Web 应用或 RN 应用,希望使用宿主原生能力 | RN app 模板 | 页面与导航、数据、权限、宿主已有原生模块 |
| 明确希望保留 Taro 多端开发方式 | Taro taro 模板 | Taro API、路由、.htyf.*、htyf 配置及其他端行为 |
含 project.godot 的 Godot 游戏 | Godot game 模板 | 场景、资源、SDK 自动加载、触控、视口与 PCK 导出 |
默认非 Godot 项目选择 RN 应用目标;需要 Taro 时请在提示词中明确。Godot 迁移规则目前以 Godot 4.7 为目标,源项目版本不同需要先处理版本兼容。
2. 安装迁移 Skill
将技能仓库克隆到源项目外,再安装到源项目。需要 Node.js 18 或更新版本。
安装结果为:
在支持 Agent Skills 的 AI 编程工具中打开源项目,并新建会话。确认工具已发现 htyf-migration,再发出迁移请求。其他工具的技能目录可能不同,需按该工具约定复制完整目录。
已有同名技能时,安装器会停止。更新前先比较并备份本地修改;不要仅复制入口文件,迁移规则和 CLI 引用必须一并保留。
3. 发出可执行的迁移请求
完整应用迁移
保留 Taro 多端能力
Godot 游戏迁移
4. AI 会怎样执行
- 建立清单。 读取源项目并记录基线;按功能列出页面、接口、资源和原生能力,排除目标目录以免递归迁移。
- 准备模板。 先检查 CLI 的
--help,确认支持非交互命令,再选择 RN、Taro 或 Godot 模板。未指定目标时使用源项目下的HTYF/。 - 完成一个个功能。 每项包含 UI、交互、数据、权限、异常状态及适配代码,避免只还原静态页面。
- 适配宿主。 核对原生依赖是否已由宿主提供;处理导航、弹层、持久化命名空间、Safe Area 和胶囊位置。
- 逐项验收。 运行目标对应的检查和构建,并在客户端验证关键流程,输出完成项、差异和阻塞项。
当前 Taro 平台插件仍有交互菜单,不能将 RN CLI 的非交互参数直接套用到它上面。涉及 Taro 构建时,应检查项目已有的自动化脚本,或记录需要人工执行的菜单步骤,见 Taro 开发。
CLI 的项目名使用小写形式;迁移流程先在临时目录生成合法命名的项目,再将模板放到目标 HTYF/。已有迁移目标会先核对记录后复用,不会重新初始化覆盖。
宿主能力边界
小程序资源包不能凭空增加 iOS/Android 原生模块。源项目依赖宿主尚未提供的模块时,需评估已有 API 或 JS 实现;必须改宿主原生工程的能力要记录为缺口。完成编译不代表权限、相机、文件、支付等真机行为已经验证。
5. 源项目更新后增量迁移
保留上次迁移报告、源代码基线和目标目录,再发出:
增量迁移需要可追溯的基线。缺少基线时,先重新比较源和目标,不能把“没有发现差异”当作已经同步。源与目标同时修改了同一功能时,需要按行为核对冲突。
6. 检查交付结果
| 检查项 | 应当看到的结果 |
|---|---|
| 功能清单 | 每一项对应实现位置、验证结果或具体阻塞原因 |
| 源代码保护 | 原有业务文件保留;所有目标改动位于约定目录 |
| 平台适配 | 原生模块、导航、弹层、存储、安全区和胶囊有明确处理 |
| 验证记录 | 实际执行的命令、退出结果、产物路径和真机检查结果 |
| 未完成项 | 不支持的能力、未测试场景与下一步处理方式 |
| 增量依据 | 能够追溯本次源版本及后续同步范围 |
AI 可以辅助实现和排查,最终验收以实际功能和目标宿主行为为准;这里不承诺任意项目零改动迁移。