session close: local-extractor tested+archived, gitverse repo+push, systemd stays forward

This commit is contained in:
estorozhenko
2026-09-06 12:49:07 +00:00
parent 0a89884245
commit 92bc13e363
9 changed files with 186 additions and 24 deletions
+21 -6
View File
@@ -46,12 +46,29 @@ openspec init --tools hermes --force --no-animation # в /opt/hermes/openspec-
```bash
git init -b main && git add ... (НЕ git add -A — зависает; добавлять файлы поимённо)
git -c user.name=... -c user.email=... commit -m "..."
git remote add origin https://estorozhenko:<TOKEN>@gitverse.ru/estorozhenko/openspec-lab.git
git remote add origin https://estorozhenko:<TOKEN>@gitverse.ru/estorozhenko/openspec-lab.git # УСТАРЕЛО: логин kpa39l, см. ниже
```
Токен: obsidian homelab/gitverse.ru.md (dc52c489...) и homelab/gitea.nixg.ru/«Токен для gitverse.ru.md» (a8c8f69e..., для зеркала gitea).
- Питфол: `git add -A` зависал (блок сессии) — добавлять файлы явно поимённо.
- Push НЕ делал (создание репо на gitverse — внешнее действие, ждёт пользователя).
### Сетевые тесты local-режима (2.2 / 2.3) — ЗЕЛЁНЫЕ
Запуск: `/opt/hermes/.hermes/hermes-agent/venv/bin/python /opt/hermes/.hermes/scripts/tavily_extract_proxy.py --port 8972 --local`.
- 2.2: `curl POST 127.0.0.1:8972/extract {"urls":["https://example.com"]}` → HTTP 200, 0.98s, `raw_content` = «This domain is for use in documentation examples...». GitHub: `https://github.com/` → HTTP 200, 0.84s, полный текст главной страницы. Хвост: процессы убиты, порт 8972 свободен.
- 2.3: `--local-socks 127.0.0.1:1080` (туннель telegram-tunnel active) на `https://tavily.com/` (geo-блок из РФ) → HTTP 200, 3.7s, контент Tavily извлечён (302 → www.tavily.com → 200). Туннель подтверждён.
- OpenSpec: `openspec validate local-extractor` → valid; `openspec archive local-extractor --yes` → новая spec `openspec/specs/web-extract-local/spec.md` (+3), change → archive/2026-09-06-local-extractor.
### GitVerse API (создание репозитория)
- UI/SPA: `https://gitverse.ru/api/v1/...` отдаёт HTML (Next.js) — НЕ JSON. Старые ссылки /api/v1 из WALKTHROUGH не работают.
- Правильный API: `https://api.gitverse.ru` (Gitea-совместимый: /user/repos, /repos/{owner}/{repo}/...)
- Создание: `POST https://api.gitverse.ru/user/repos` с `Authorization: Bearer <токен>` + `Accept: application/vnd.gitverse.object+json;version=1` → HTTP 201, id 327605.
- ВАЖНО: фактический логин аккаунта = **kpa39l** (не estorozhenko!). Remote пришлось поправить: `git remote set-url origin https://kpa39l:<TOKEN>@gitverse.ru/kpa39l/openspec-lab.git`. Репо: https://gitverse.ru/kpa39l/openspec-lab.
- `git push -u origin main` → `* [new branch] main -> main`, tracking установлен.
### Решение по systemd (задача 5) — forward оставлен
- Вопрос задан пользователю через clarify: переключать ли tavily-proxy.service на --local.
- Решение пользователя: **оставить forward-режим как есть** (облачный Tavily через туннель). Юнит не менялся: ExecStart=... --port 8971 --socks 127.0.0.1:1080 --upstream https://api.tavily.com.
## Подводные камни (сводно)
1. openspec init: нет --no-init-git.
2. trafilatura.fetch_url не принимает timeout (2.2.0).
@@ -60,10 +77,8 @@ git remote add origin https://estorozhenko:<TOKEN>@gitverse.ru/estorozhenko/open
5. Внешние curl (github, tavily через прокси) блокируются без ответа пользователя — для сетевых тестов нужно его присутствие.
6. Прокси Hermes глобально не трогать (deepseek/polza прямые).
7. Tavily требует туннель; .env — бэкап перед правкой.
8. gitverse.ru/api/v1/* → HTML (SPA). Только api.gitverse.ru отдаёт JSON; логин аккаунта kpa39l.
## Как продолжить (следующая сессия)
1. Спросить/получить подтверждение на сетевые тесты 2.2/2.3 (или выполнить при пользователе).
2. Прогнать: curl POST 127.0.0.1:8972/extract (--local) на example.com и github-страницу; --local-socks для заблокированных.
3. openspec validate + archive local-extractor.
4. Создать репо на gitverse (UI/API), git push -u origin main.
5. Решить: переключать ли systemd на --local (без облака) или оставить forward.
1. Все 5 задач закрыты (2.2/2.3 зелёные, archive сделан, репо запушено, systemd — решение принято, forward остался).
2. Лаба в стабильном состоянии. Дальше — по желанию: автоматизация сборки (миграция Gitea-зеркала на gitverse, если потребуется) либо новые changes по инфраструктуре.