# ai-memory 迁移 Agent 配置：预览技能和插件恢复范围，保留目标机器原文件

## 执行范围

已运行 ai-memory backup-agents/restore-agents原生CLI：项目资产备份、dry-run预览、--apply不带--force时保留已有不同文件；未读取全局真实配置。

## 输入与目标

临时源/目标Agent配置，目标已有不同版本技能和插件声明

交付：资产包、恢复计划、目标备份和差异清单

## 运行

在 reference 目录执行；先按文件 requirements.txt / package.json 或原生工具文档安装依赖。浏览器练习需 `npx playwright install chromium`；也可设置 `PLAYWRIGHT_EXECUTABLE_PATH` 为自己的 Chrome 路径。

```sh
AI_MEMORY_BIN="<ai-memory binary>" python assets.py
```

## 目录

- fixtures：作者原创输入，不包含用户真实资料。
- starter：读者待完成任务。
- reference：作者完成参考。
- results：作者实际运行所得或明确标注的待运行输入/预期合同。

## 七步

1. **建立两个副本**

source放作者审查技能，target同路径已有不同规则。只选择项目scope，不收集真实全局凭据或用户插件。

2. **预览备份范围**

核对--agents claude和--scope project。备份对象是Agent资产，不是wiki或运行数据库。

3. **创建原生归档**

执行backup-agents -o，查看归档包含project技能与manifest。保留生成命令，读者在自己的目录重新生成归档。

4. **检查恢复预览**

restore-agents不带--apply是dry-run。真实预览列出目标路径及OVERWRITE，必须先确认目的地。

5. **保留目标原文件**

执行--apply但不使用--force。实际同路径不同文件被SKIP；目标内容和运行前字节一致。

6. **决定冲突策略**

需要覆盖时先独立备份、人工核对来源再决定。预览显示OVERWRITE不代表已经写盘，--apply也不自动等于--force。

7. **回读迁移结果**

比较预览、跳过清单和target-preserved.md。只分发作者原创技能和复现脚本，不把当前机器绝对目录写进可移植包。

## 来源

- https://raw.githubusercontent.com/akitaonrails/ai-memory/main/README.md
- https://raw.githubusercontent.com/akitaonrails/ai-memory/main/docs/design-backup-agent-assets.md


## 原生工具与边界补充

安装官方ai-memory CLI（作者实测3.1.1），设置AI_MEMORY_BIN；只创建source/target原创项目资产，不迁移用户全局配置。
