diff --git a/infra/compute/hermes.md b/infra/compute/hermes.md index 793319d..9f5c905 100644 --- a/infra/compute/hermes.md +++ b/infra/compute/hermes.md @@ -44,9 +44,19 @@ monthly_cost_usd: 0 | 용도 | 모델 | 비고 | |---|---|---| | 메인 추론 | `openai-codex/gpt-5.4` (ChatGPT Plus OAuth) | 복잡한 대화·도구 호출. 구독 정액제 | -| 보조 (auxiliary) | kr1 [[ollama]] `qwen3:4b-instruct-2507-q4_K_M` | context compression·web_extract | +| 보조 text (auxiliary 10종) | kr1 [[ollama]] `qwen3:4b-instruct-2507-q4_K_M` | **실제 호출 검증됨** (2026-06-09) | +| 보조 vision | `provider: main` (Codex) | qwen3는 텍스트 전용이라 vision은 메인 재사용 | -보조를 로컬 ollama로 분리한 이유: ① Plus 한도를 보조 작업이 잠식 안 함 ② 데이터 주권(보조는 내부 LAN) ③ 비용 0. config.yaml `auxiliary.`에 `provider: custom` + `base_url: http://192.168.9.214:11434/v1`(LAN 직결) + `model`. ⚠️ 메인 Codex는 Hermes auxiliary 폴백 체인에서 제외되므로(OpenAI 비공개 allow-list) 보조는 명시 지정 필수. +보조를 로컬 ollama로 분리한 이유: ① Plus 한도를 보조 작업이 잠식 안 함 ② 데이터 주권(보조는 내부 LAN) ③ 비용 0. + +**설정 (config.yaml `auxiliary:`):** +- 명명된 custom provider 사용: `custom_providers: [{name: ollama, base_url: http://192.168.9.214:11434/v1}]` +- text task 10종(`title_generation, compression, web_extract, skills_hub, approval, mcp, triage_specifier, kanban_decomposer, profile_describer, curator`) → `provider: ollama` + `model: qwen3:4b-...` +- `vision` → `provider: main` +- ⚠️ **전역 default가 없음 — task를 하나라도 빠뜨리면 그 task가 `auto`로 발동해 nous/openrouter 폴백을 시도하며 경고 폭주**. 발동 task를 전수 지정해야 경고 0. task 목록은 `awk`로 config의 `auxiliary:` 섹션에서 추출하거나 `hermes model` → "Configure auxiliary models" UI 사용. +- ⚠️ 메인 Codex는 Hermes auxiliary 폴백 체인에서 의도적 제외(OpenAI 비공개 allow-list)라, codex로 보조를 쓰려면 `provider: main` 명시 필요. + +**검증 방법:** 컨테이너 트래픽은 **hp2 호스트 IP `192.168.9.134`로 NAT**되어 나간다(컨테이너 IP `10.100.2.77`/`.235` 아님). 따라서 kr1 ollama 로그(`ssh kaffa@192.168.9.214 "sudo journalctl -u ollama"`)에서 `192.168.9.134 | POST /v1/chat/completions`가 보이면 병행 작동. 2026-06-09 새 대화 시 4.79s qwen3 추론 확인. ### Telegram 게이트웨이