Hermes → GA 迁移 SOP v0.5
一句话总结:Hermes 迁到 GA 时,只迁稳定记忆和 skill 索引;skill 默认不启用,先审查路径、再由用户确认。
| 项 | 规则 |
|---|---|
| 源 | ~/.hermes 和 ~/.hermes/profiles/<name>/ |
| 读 | SOUL.md、memories/、skills/ |
| 写 | ../memory/global_mem.txt、必要时 patch ../memory/global_mem_insight.txt |
| Skill | 默认只进 ## [Skill索引],不复制、不启用 |
不能做
- 不迁移
sessions/、logs/、sandboxes/、state.db*、运行时缓存。 - 不覆盖 L1/L2:
global_mem_insight.txt只能词级 patch,global_mem.txt只能追加。 - 不把 Hermes skill 原样复制到 GA 使用。
- 不把旧机器绝对路径、
../越级路径当作可执行路径。
1. 源定位
按顺序串行处理,每个源单独确认:
Hermes(default):~/.hermesHermes(<profile>):~/.hermes/profiles/<name>/
每个源只看:
SOUL.md:人设/规则候选。memories/*.md:稳定事实候选,抽样精读即可。skills/*/SKILL.md:skill 用途和索引候选。
2. 三步流程
A. 扫描
在 ../temp/ 生成每个源的扫描记录:
hermes_to_ga_v0.5_<agent>_memory_scan.mdhermes_to_ga_v0.5_<agent>_skills_scan.md
扫描只做清单和风险标注,不执行 skill 脚本。
B. 提炼
- 稳定行为约束 → L2
## [人设] - 用户长期偏好/画像 → L2
## [用户] - 稳定路径、凭证指针、环境事实 → L2 对应章节
- 临时状态、会话、日志流水、缓存 → 丢弃
- Skill → 默认写 L2
## [Skill索引]
每条候选都标来源:来源:<agent>/<file> 第 X 行。写入前必须让用户确认。
C. 写入
用户确认后才写:
- 追加
../memory/global_mem.txt,不改写既有段。 - 必要时 patch
../memory/global_mem_insight.txt,只加短触发词。 - 记录进度:
../temp/hermes_to_ga_v0.5_progress.md。
3. Skill 处理
迁移来的 Hermes skill 默认不是 GA skill,只是可追溯资料源。
写入 ## [Skill索引] 的最小格式:
- <skill>:来源 <agent>/<path>;入口 <SKILL.md>;用途 <description 原文>;风险 <无/绝对路径/../越级/旧agent私有路径/硬编码资源路径>;状态 <仅索引/已改造启用>;用法 <回源读取并内化/直接启用>
启用前必须满足:
- 用户点名要启用。
- 已审查
SKILL.md、脚本、资源引用中的路径。 - 绝对路径改成用户确认的新路径或配置变量。
../越级引用改成 skill 内部相对路径,并搬入依赖资源。- 无法确认路径时,不启用,只保留索引,后续需要时回源读取并内化。
启用目录:../memory/imported_skills/<name>/。
4. 收尾检查
- 每个 Hermes 源都有 memory scan 和 skill scan。
- L2 只追加,L1 只 patch。
## [Skill索引]记录了来源、用途、风险、状态。imported_skills/里只有用户点名且路径改造完成的 skill。- 未触碰 sessions/db/logs/runtime。