chore: update docs/HANDOFF-LOCAL-LLM-GITEA-MCP.md via opax-mcp
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
Some checks are pending
Check Python Version Consistency / Check Python Version (push) Waiting to run
This commit is contained in:
parent
02aa0a17a9
commit
e435cd5d3a
|
|
@ -7,13 +7,15 @@ Denne handoffen er det eneste autoritative arbeidsdokumentet for sporet "lokal L
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## FREMDRIFT – OPPDATERT 2026-07-21 23:54 CEST
|
## FREMDRIFT – OPPDATERT 2026-07-22 00:05 CEST
|
||||||
|
|
||||||
### ✅ FASE 0–5 — FERDIG
|
### ✅ FASE 0–5 — FERDIG
|
||||||
### ✅ FASE 6 – CPU-optimalisering — FERDIG
|
### ✅ FASE 6 – CPU-optimalisering — FERDIG
|
||||||
### ✅ FASE 6-TILLEGG – Boot-warming — FERDIG
|
### ✅ FASE 6-TILLEGG – Boot-warming — FERDIG
|
||||||
### ✅ DNS – NS-bytte utført — FERDIG 2026-07-21 23:44 CEST
|
### ✅ DNS – NS-bytte utført — FERDIG 2026-07-21 23:44 CEST
|
||||||
### ✅ OPAX-MCP – GITEA_URL permanent + deploy — FERDIG 2026-07-21 23:53 CEST
|
### ✅ OPAX-MCP – GITEA_URL permanent + deploy — FERDIG 2026-07-21 23:53 CEST
|
||||||
|
### ⏳ SMOKE-TEST – Alle 37 tools — PEND ING
|
||||||
|
### ⏳ FASE 7 – Lokal hjerne / derivat-modell — PLANLAGT
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -29,7 +31,7 @@ warmup.conf — ExecStartPost=/usr/local/bin/ollama-warmup.sh
|
||||||
### Operative parametere for Emma-kall
|
### Operative parametere for Emma-kall
|
||||||
```
|
```
|
||||||
num_ctx = 2048
|
num_ctx = 2048
|
||||||
num_batch = 256 (Ollama default)
|
num_batch = 256
|
||||||
OLLAMA_NUM_THREADS = ikke satt (autodetect)
|
OLLAMA_NUM_THREADS = ikke satt (autodetect)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -45,8 +47,6 @@ Tok/s: 4.9–5.0 (gemma3:4b)
|
||||||
|
|
||||||
## OPAX-MCP KONFIGURASJON – LÅST
|
## OPAX-MCP KONFIGURASJON – LÅST
|
||||||
|
|
||||||
### opax-mcp.yaml — nøkkelvariabler (per 2026-07-21)
|
|
||||||
|
|
||||||
| Variabel | Verdi |
|
| Variabel | Verdi |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `GITEA_URL` | `http://34.67.252.59:3000` |
|
| `GITEA_URL` | `http://34.67.252.59:3000` |
|
||||||
|
|
@ -62,66 +62,115 @@ Deploy verifisert: `get_connector_status` → `live`, `gitea: online`, `tool_cou
|
||||||
|
|
||||||
## DNS – FULLFØRT 2026-07-21
|
## DNS – FULLFØRT 2026-07-21
|
||||||
|
|
||||||
### NS-bytte
|
NS-bytte: Proisp → Google Cloud DNS **23:44 CEST**
|
||||||
Proisp nameservere byttet til Google Cloud DNS: **2026-07-21 23:44 CEST**
|
|
||||||
```
|
|
||||||
ns-cloud-a1.googledomains.com
|
|
||||||
ns-cloud-a2.googledomains.com
|
|
||||||
ns-cloud-a3.googledomains.com
|
|
||||||
ns-cloud-a4.googledomains.com
|
|
||||||
```
|
|
||||||
|
|
||||||
### Cloud DNS-sone `vaucono` — komplett
|
| Record | Type | Verdi |
|
||||||
|
|---|---|---|
|
||||||
|
| `vauco.no.` | A | `34.98.77.173` (LB) |
|
||||||
|
| `www.vauco.no.` | A | `34.98.77.173` (LB) |
|
||||||
|
| `opax.vauco.no.` | A | `34.98.77.173` (LB) |
|
||||||
|
| `git.vauco.no.` | A | `34.67.252.59` |
|
||||||
|
| MX / SPF / DKIM / DMARC | TXT/MX | Google Workspace komplett |
|
||||||
|
|
||||||
| Record | Type | Verdi | Status |
|
Verifisering:
|
||||||
|---|---|---|---|
|
|
||||||
| `vauco.no.` | A | `34.98.77.173` (LB) | ✅ |
|
|
||||||
| `www.vauco.no.` | A | `34.98.77.173` (LB) | ✅ |
|
|
||||||
| `opax.vauco.no.` | A | `34.98.77.173` (LB) | ✅ |
|
|
||||||
| `git.vauco.no.` | A | `34.67.252.59` (gitea-cpu-vm) | ✅ |
|
|
||||||
| `vauco.no.` | MX | Alle 5 Google MX | ✅ |
|
|
||||||
| `vauco.no.` | TXT | SPF | ✅ |
|
|
||||||
| `google._domainkey.vauco.no.` | TXT | DKIM | ✅ |
|
|
||||||
| `_dmarc.vauco.no.` | TXT | DMARC quarantine | ✅ |
|
|
||||||
|
|
||||||
### Verifisering etter propagering
|
|
||||||
```bash
|
```bash
|
||||||
curl -s "https://dns.google/resolve?name=git.vauco.no&type=A" \
|
curl -s "https://dns.google/resolve?name=git.vauco.no&type=A" \
|
||||||
| python3 -c "import json,sys; d=json.load(sys.stdin); ans=d.get('Answer'); print(ans[0]['data'] if ans else 'IKKE PROPAGERT')"
|
| python3 -c "import json,sys; d=json.load(sys.stdin); ans=d.get('Answer'); print(ans[0]['data'] if ans else 'IKKE PROPAGERT')"
|
||||||
```
|
```
|
||||||
Forventet: `34.67.252.59`
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## SMOKE-TEST – STATUS
|
||||||
|
|
||||||
|
| Kategori | Tools | Status |
|
||||||
|
|---|---|---|
|
||||||
|
| Ollama/Emma | `list_emma_models`, `run_emma` | ⏳ Pending |
|
||||||
|
| Gitea | `list_commits`, `get_file_content`, `list_repo_files`, `push_file` | ⏳ Pending |
|
||||||
|
| GCP/Cloud Run | `get_build_status`, `describe_service`, `list_gce_instances` | ⏳ Pending |
|
||||||
|
| Workspace/Gmail | `list_workspace_users`, `get_emails`, `list_calendar_events` | ⏳ Pending |
|
||||||
|
| Terminal/Billing | `run_terminal`, `get_connector_status`, `get_billing_summary` | ⏳ Pending |
|
||||||
|
| Jason | `run_jason` | ⏳ Pending |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## FASE 7 – LOKAL HJERNE / DERIVAT-MODELL (planlagt)
|
||||||
|
|
||||||
|
### Mål
|
||||||
|
Erstatte stor API-modell (Gemini/Claude/Perplexity) med lokal modell som hjerne i OPAX-arkitekturen. Redusere API-avhengighet på sikt.
|
||||||
|
|
||||||
|
### Arkitektur (nå vs mål)
|
||||||
|
```
|
||||||
|
NÅ:
|
||||||
|
Perplexity/Gemini ← Hjerne (stor API-modell)
|
||||||
|
↓ tool calls
|
||||||
|
OPAX-MCP
|
||||||
|
↓
|
||||||
|
Emma gemma3:4b ← Lokal inferens (svak)
|
||||||
|
|
||||||
|
MÅL:
|
||||||
|
Lokal stor modell ← Hjerne (lokal, gratis)
|
||||||
|
↓ tool calls
|
||||||
|
OPAX-MCP
|
||||||
|
↓
|
||||||
|
Emma gemma3:4b ← Lokal inferens (rask)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Kandidatmodeller for CPU-VM (15 GB RAM)
|
||||||
|
|
||||||
|
| Modell | RAM | Tok/s CPU | Agentevne | Vurdering |
|
||||||
|
|---|---|---|---|---|
|
||||||
|
| `gemma3:4b` (nå) | 2.9 GB | ~5 | Svak | For svak som hjerne |
|
||||||
|
| `gemma3:12b` | ~8 GB | ~1.5–2 | God | **Test dette først** |
|
||||||
|
| `qwen2.5:14b` | ~9 GB | ~1.5 | Sterk | Alternativ |
|
||||||
|
| `gemma3:27b` | ~17 GB | <1 | Tilnærmet god | Krever GPU |
|
||||||
|
|
||||||
|
### Exit-kriterier Fase 7
|
||||||
|
- [ ] `gemma3:12b` installert og testet på CPU-VM
|
||||||
|
- [ ] Ytelsesmåling: tok/s, RAM-bruk, swap=0
|
||||||
|
- [ ] Kvalitetstest: kan modellen planlegge og bruke tools?
|
||||||
|
- [ ] GEMINI.md-lignende systemd-prompt/konfig for Emma laget
|
||||||
|
- [ ] Beslutning: erstatter eller komplementerer?
|
||||||
|
|
||||||
|
### Derivat-strategi
|
||||||
|
Emma skal få eget identitetsdokument (tilsvarende GEMINI.md for Jason) med:
|
||||||
|
- Personlighet og tone
|
||||||
|
- Arbeidsregler og prioriteringer
|
||||||
|
- Tool-bruksprinsipper
|
||||||
|
- Vauco OS-kontekst
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## ÅPNE PUNKTER
|
## ÅPNE PUNKTER
|
||||||
1. `git.vauco.no` propagering — sjekk i morgen tidlig (opp til 24t fra 23:44 CEST)
|
1. Smoke-test alle 37 tools — **kjøres nå**
|
||||||
2. Gitea-commits ikke GPG-signert — vurder ved anledning
|
2. `git.vauco.no` propagering — sjekk i morgen tidlig
|
||||||
|
3. Fase 7: `gemma3:12b` test på CPU-VM
|
||||||
|
4. Emma derivat-dokument (tilsvarende GEMINI.md)
|
||||||
|
5. Gitea-commits GPG-signering — vurder
|
||||||
|
|
||||||
## FASTE SANNHETER (uendret)
|
## FASTE SANNHETER
|
||||||
- Gitea er source of truth
|
- Gitea er source of truth
|
||||||
- Lokale modeller er hovedretning
|
- Lokale modeller er hovedretning — mål er å fase ut API-avhengighet
|
||||||
- Gitea-VM (34.67.252.59) er permanent målmaskin
|
- Gitea-VM (34.67.252.59) er permanent målmaskin
|
||||||
|
- Dev-snap (34.170.51.84) er Jason sin arbeidsstasjon — kan ikke stenges før lokal hjerne er verifisert
|
||||||
- Denne handoffen overstyrer alt annet
|
- Denne handoffen overstyrer alt annet
|
||||||
|
|
||||||
## DEFINITION OF DONE ✅ 100% FULLFØRT
|
## DEFINITION OF DONE
|
||||||
- ✅ Lokale modeller lever og kan brukes lokalt
|
- ✅ Lokale modeller lever og kan brukes lokalt
|
||||||
- ✅ OPAX-MCP bruker lokal modellbackend korrekt
|
- ✅ OPAX-MCP bruker lokal modellbackend korrekt
|
||||||
- ✅ `list_emma_models` er grønn
|
- ✅ `list_emma_models` er grønn
|
||||||
- ✅ Gitea read-only tools er grønne
|
- ✅ Gitea read-only tools er grønne
|
||||||
- ✅ GCP/Workspace-kjernen er fortsatt grønn
|
- ✅ GCP/Workspace-kjernen er fortsatt grønn
|
||||||
- ✅ Konfigurasjon konsolidert — GITEA_URL permanent i repo + deployed
|
- ✅ Konfigurasjon konsolidert — GITEA_URL permanent + deployed
|
||||||
- ✅ dev-snap-oppsettet dokumentert godt nok til blueprinting
|
|
||||||
- ✅ CPU-optimalisering verifisert på Gitea-VM
|
|
||||||
- ✅ Boot-warming verifisert
|
- ✅ Boot-warming verifisert
|
||||||
- ✅ DNS migrert til Google Cloud DNS
|
- ✅ DNS migrert til Google Cloud DNS
|
||||||
- ⏳ `git.vauco.no` live — propagering pagår
|
- ⏳ Smoke-test alle 37 tools — pending
|
||||||
|
- ⏳ `git.vauco.no` live — propagering pågår
|
||||||
|
- ⏳ Fase 7: lokal hjerne verifisert — planlagt
|
||||||
|
|
||||||
## OPPDATERINGSLOGG
|
## OPPDATERINGSLOGG
|
||||||
| Dato | Handling |
|
| Dato | Handling |
|
||||||
|---|---|
|
|---|---|
|
||||||
| 2026-07-21 | FASE 4: smoke test grønn |
|
| 2026-07-21 | FASE 4–6: CPU-optimalisering, boot-warming fullført |
|
||||||
| 2026-07-21 | FASE 5: Blueprint frosset |
|
|
||||||
| 2026-07-21 | FASE 6: CPU-optimalisering fullført |
|
|
||||||
| 2026-07-21 | Boot-warming: ollama-warmup.sh verifisert |
|
|
||||||
| 2026-07-21 23:44 | DNS: NS-bytte utført hos Proisp |
|
| 2026-07-21 23:44 | DNS: NS-bytte utført hos Proisp |
|
||||||
| 2026-07-21 23:53 | OPAX-MCP: GITEA_URL + OLLAMA_BASE_URL → 34.67.252.59, deployed, connector live |
|
| 2026-07-21 23:53 | OPAX-MCP: GITEA_URL + OLLAMA_BASE_URL → 34.67.252.59, deployed |
|
||||||
|
| 2026-07-22 00:05 | Smoke-test plan klar, Fase 7 (lokal hjerne) lagt inn |
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user