# 项目记忆：hermes-agent（Gitea 备份）

> 最后更新：2026-05-31

## 基本信息

| 项目 | 内容 |
|------|------|
| 源仓库 | `NousResearch/hermes-agent` (GitHub) |
| Gitea 镜像 | `git666.u7f.cn/sawz/hermes-agent` |
| 备份方式 | 扁平化单 commit（无历史，避开了 nginx 413 限制） |
| 仓库大小 | ~225MB，4213 个文件 |
| 技术栈 | Python, TypeScript, Go |

## 关键路径

- `agent/` — 核心 agent 引擎（对话循环、工具调度、错误分类）
- `tools/` — 工具层（~60 个工具）
- `skills/` — 技能层（~25 领域，SKILL.md 格式）
- `hermes_cli/` — CLI 接口
- `plugins/` — 插件系统
- `gateway/` — 网关

## 学到的模式

- 错误分类 `FailoverReason` Enum + `ClassifiedError` Dataclass
- 工具并行门控 frozenset + 路径重叠检测
- SKILL.md YAML frontmatter + 平台匹配
- Fail-Closed 凭证检查
- Env var 回退链
- 懒加载 + 无副作用导入

## 备份时的坑

1. **GitHub clone 慢** → 开 VPN（127.0.0.1:12000）后速度正常
2. **nginx 413 限制** → Gitea 前面 nginx 限制上传 ~30MB，
   完整 git push 不通过，改为扁平化单 commit 绕过
3. **SSH 不通** → 注册了 key 但 Gitea 服务端没配 authorized_keys 写入
