# Session Reference: 云端与本地 Hermes 上 GitHub 方案

**Date:** 2026-05-15
**User:** 小天
**Trigger:** 用户希望云端 Hermes 配置能纳入 Git 版本管理，防止调试崩溃导致学习经验丢失

## Context

- 云端 Hermes (deepseek-v4-flash) 在调试网络环境时容易崩溃
- 本地 WSL 也有 Hermes (deepseek-chat, kawaii personality)
- 用户已有 Tailscale 连接云端和本地
- 需要保障 skills/ (学习经验)、config、memories、logs 不丢失

## Key Decisions

| Decision | Choice | Rationale |
|----------|--------|-----------|
| Repo structure | One repo, two branches | Simpler than two repos; skills mergeable between envs |
| Branch naming | `main` = cloud, `local` = WSL | Clear, predictable |
| Tracked items | config.yaml, skills/, memories/, logs/ | Skills are most valuable (~10MB) |
| Excluded items | .env, sessions/, state.db, *.lock | Security + practicality |
| Backup cadence | Daily auto-commit via cron | Balances coverage vs noise |
| Recovery mechanism | Recover script + GitHub token on local PC | Token never on server |
| .env storage | Local PC `~/secure/hermes-env-cloud` | Offline, survives server crash |

## What the User Values

- **Crash resilience** — primary motivation is Hermes crashing during network debugging
- **Minimal overhead** — automatic backup, not manual
- **Security** — API keys never in the repo
- **Quick recovery** — "5-10 minutes" rebuild target
- **Learn from mistakes** — logs tracked specifically for post-crash analysis

## Recovery Flow Designed

```
System rebuild → Install Hermes → Install gh → 
Retrieve token from local PC → gh auth login → 
Run recover.sh → Restore .env → Start gateway
~5-10 min total
```
