[2026-09-15] eagle: family/how-to/truenas-infrastructure.md personal/tech/deepseek-language-drift.md personal/tech/hermes-agent-improvements.md personal/tech/hermes-fork-vs-upstream.md personal/tech/hermes-git-repo.md personal/tech/xray-reverse-tunnel-kraken-truenas.md

This commit is contained in:
Alexey Martemyanov
2026-09-15 12:48:53 +06:00
parent d750de3e53
commit 48c9c72b58
6 changed files with 549 additions and 6 deletions
+58 -5
View File
@@ -89,10 +89,16 @@ cd ~/.hermes && git check-ignore -v .env.bak .env.new \
Каждый файл должен вывести строку `.gitignore:<N>:<pattern>\t<file>`.
**Pitfall:** `.gitignore` НЕ влияет на уже отслеживаемые файлы.
`hermes-whale/lsp/node_modules/` остаётся в репо несмотря на правило `node_modules/`.
`hermes-whale/lsp/node_modules/` оставался в репо несмотря на правило
`node_modules/` (закрыто коммитом `9b111fc` через `git rm -r --cached`).
Вывод — применять `git add` по именам файлов, а не `git add .`, иначе новое правило
может дать ложное чувство защиты.
**Второй pitfall — `git add -f`:** после добавления правила `node_modules/`
попытка `git add` файла внутри него (например `lsp/node_modules/.package-lock.json`)
падает с «paths are ignored by one of your .gitignore files». Уже отслеживаемые
файлы коммитятся нормально без `-f` — правило на них не действует.
## Что коммитить / что не коммитить
**Коммитим:**
@@ -111,10 +117,56 @@ cd ~/.hermes && git check-ignore -v .env.bak .env.new \
## Долги (не исправлено, требуют решения Alex)
1. **`hermes-whale/lsp/node_modules/` в git** — 39M бинарников + `gopls` 41MB.
`.gitignore` не помогает (файлы уже отслеживаются). Чистка = `git rm -r --cached` + rewrite истории.
2. **`channel_directory.json` в .gitignore, но отслеживается** — правило добавлено после коммита.
1. **`channel_directory.json` в .gitignore, но отслеживается** — правило добавлено после коммита.
В коммите `7fd200c` из него удалено 869 строк (файл в основном генерируемый).
Также живёт как ` M` в статусе постоянно — это рантайм-запись текущей сессии,
коммитить бессмысленно. Решение: `git rm --cached channel_directory.json`.
2. **История git не похудела.** 43M node_modules убраны из трекинга, но остаются
в истории. Для реальной экономии — `filter-repo` + force push (ломает клоны).
### Закрыто 2026-09-15
- ~~`hermes-whale/lsp/node_modules/` в git~~ — **убрано из трекинга** коммитом
`9b111fc`: 1957 файлов / 43M. Файлы **остались на диске** (108 каталогов),
`git rm -r --cached` индекс не удаляет. Проверка:
`git ls-files | grep -c node_modules` → 0.
## Коммиты и push (2026-09-15)
| Коммит | Что |
|--------|-----|
| `207a1de16` (submodule) | load stable system-prompt blocks from config prompt_overrides |
| `7fd200c` | wire prompt_overrides + whale-thread-guard multi-bot routing |
| `7893c35` | sync skills — curator consolidation (516 удалений, 55 новых) |
| `bdf84da` | add vue/dockerfile/pyright/yaml language servers |
| `176ce9c` | thread-scoped memory store + claude token refresh script |
| `9b111fc` | untrack lsp/node_modules (1957 files, 43M) |
**Запушено:**
- `hermes-agent` → `github.com:mallexxx/hermes-agent` — 20 коммитов
- `~/.hermes` → `git.mallexxx.duckdns.org/git_admin/eagle-hermes` — 9 коммитов
Оба репо: `main...origin/main` синхронно, секретов в истории нет.
## Утечка секретов (закрыта 2026-09-15)
`.env.bak` и `.env.new` (в `~/.hermes/` и `~/.hermes/hermes-whale/`) содержали
**живые токены**: `TELEGRAM_BOT_TOKEN`, `OPENROUTER_API_KEY`, `DISCORD_BOT_TOKEN`,
`ZULIP_API_KEY`, `DEEPSEEK_API_KEY`. Игнорился только `.env` — варианты
`.bak`/`.new` НЕ покрывались. Один `git add .` затащил бы их в публичную историю.
Также `webhook_subscriptions.json` (16-символьные per-endpoint секреты) —
не был игнорирован. Проверено фактически: `jq -r '.whale.secret | length'` → 16.
Проверка, что секреты не попали в историю:
```bash
cd ~/.hermes && git log --all --diff-filter=A --name-only --pretty=format: | grep '\.env'
# пусто = чисто
```
`scripts/refresh-claude-token.sh` — **не секрет**: refresh token читается
из `~/.claude/.credentials.json` в рантайме, `CLIENT_ID` — публичный OAuth
идентификатор.
## Команды
@@ -134,5 +186,6 @@ cd ~/.hermes && git log --all --diff-filter=A --name-only --pretty=format: | gre
## Связанное
- [[hermes-whale-system-prompt]] — состав system prompt, prompt_overrides
- [[hermes-agent-improvements]] — вынос хардкода промптов в файлы
- [[hermes-agent-improvements]] — вынос хардкода промптов в файлы (механизм + коммиты)
- [[hermes-memory-architecture]] — thread-scoped память
- [[hermes-fork-vs-upstream]] — расхождение с апстримом (24k коммитов)