93 lines
5.4 KiB
Markdown
93 lines
5.4 KiB
Markdown
# 2026-02-10 — Monday Night / Tuesday Morning
|
|
|
|
## KIPP Build Session
|
|
Major KIPP infrastructure session with D J.
|
|
|
|
### Completed
|
|
- **KIPP Gitea account** — user: kipp, repo: git.letsgetnashty.com/kipp/workspace (private)
|
|
- **KIPP switched to local LLM** — llamacpp/glm-4.7-flash as primary, Claude Sonnet as fallback
|
|
- **KIPP ChromaDB memory** — collection `kipp-memory` (ccf4f5b6-a64e-45b1-bf1b-7013e15c3363), seeded 9 docs
|
|
- **Ollama URL updated** — 192.168.86.40:11434 (same machine as llama.cpp, not the old 192.168.86.137)
|
|
- **KIPP model config tuned** — maxTokens 2048, contextWindow 32768, auto-recall 1 result
|
|
- **KIPP web UI v1** — thin client at https://kippui.host.letsgetnashty.com/
|
|
- WebSocket JSON-RPC protocol v3 working (connect handshake, chat.send, streaming)
|
|
- Weather widget, grocery list, timers, quick actions, mic button
|
|
- Served from kipp-ui.service on port 8080
|
|
- Gateway at kipp.host.letsgetnashty.com (port 18789)
|
|
- CORS handled in Caddy config
|
|
- **Meg added to USER.md** — "the boss"
|
|
- **@RohOnChain tweet analyzed** — Kelly Criterion / gabagool22 ($788K PnL), mostly legit math but misleading framing
|
|
|
|
### Key Findings
|
|
- GLM-4 Flash is a thinking model — burns ~200 tokens reasoning before responding
|
|
- 32K context split across 4 slots = 8K effective per conversation
|
|
- D J has 30GB free RAM on llama.cpp server — could bump to 128K context
|
|
- OpenClaw WebSocket protocol: JSON-RPC v3, needs connect with client{id,version,platform,mode}, auth{token}, minProtocol:3
|
|
- Event types: `agent` (stream:assistant for deltas, stream:lifecycle for start/end), `chat` (state:delta/final)
|
|
- Caddy reverse proxy handles both services: kippui→8080, kipp→18789
|
|
- `dangerouslyDisableDeviceAuth: true` still requires auth token in connect params
|
|
|
|
### KIPP Infrastructure
|
|
- **VM:** 192.168.86.100 (wdjones user, SSH key from Case)
|
|
- **llama.cpp:** 192.168.86.40:8080 (GLM-4 Flash 30B q4, 2 GPUs 12GB+10GB, 32GB RAM)
|
|
- **Ollama:** 192.168.86.40:11434 (nomic-embed-text for embeddings)
|
|
- **ChromaDB:** 192.168.86.25:8000 (kipp-memory collection)
|
|
- **Gitea:** kipp:K1pp-H0me-2026! @ git.letsgetnashty.com/kipp/workspace
|
|
- **Telegram:** @dzclaw_kipp_bot
|
|
- **Web UI:** https://kippui.host.letsgetnashty.com/ (port 8080)
|
|
- **Gateway:** https://kipp.host.letsgetnashty.com/ (port 18789)
|
|
- **Token:** kipp-local-token-2026
|
|
|
|
### Evening Session (D J back from work)
|
|
- **KIPP UI v2 chat confirmed working** — D J tested on Mac, chat end-to-end functional at 18:34
|
|
- **Voice input added** — mic button in chat overlay triggers browser Speech Recognition, auto-sends on final transcript
|
|
- **Piper TTS installed** on KIPP VM — `pip3 install piper-tts`, Amy medium voice model downloaded
|
|
- **TTS API server** built (port 8081, systemd kipp-tts.service) + proxy through UI server on port 8080
|
|
- **Piper voice quality confirmed** — sent D J audio sample via Telegram, not robotic
|
|
- **Caddy WebSocket issue** — persistent 503 on WSS through Caddy reverse proxy
|
|
- Direct WS to 192.168.86.100:18789 works perfectly every time
|
|
- Caddy returns 503 on WebSocket upgrade specifically
|
|
- Fixed gateway: added `192.168.86.0/24` to trustedProxies, added `http://192.168.86.100:8080` to allowedOrigins
|
|
- Gateway logs showed "origin not allowed" and "proxy headers from untrusted address"
|
|
- Even after gateway fix, Caddy still 503s — Caddy itself is the bottleneck
|
|
- Need to check Caddy logs on whatever machine it runs on (192.168.86.1?)
|
|
- D J's Caddyfile is clean: just `reverse_proxy 192.168.86.100:18789`
|
|
- Chat works intermittently — connects sometimes then drops
|
|
- **Caddy config** (D J's full Caddyfile): media→86.50:8096, vault→86.244:7080, git→86.244:3002, share→86.26:3000, kippui→86.100:8080, kipp→86.100:18789
|
|
- **@Argona0x tweet analyzed** — $50→$2,980 Polymarket bot claim, 90% likely fake (engagement farming)
|
|
- **Kelly Criterion explained** to D J
|
|
|
|
### Night Shift Work
|
|
- **Alexa+ UI research completed** — sub-agent produced comprehensive 200-line report at projects/kipp/research/alexa-plus-ui.md
|
|
- Key patterns: dashboard-first, ephemeral conversation overlay, widget grid, proximity-aware, ambient mode
|
|
- Verge/CNET screenshots downloaded for reference
|
|
- **KIPP UI v2 built and deployed** — Alexa-inspired dashboard:
|
|
- Hero card with greeting + status, weather with hourly forecast, shopping list, today/calendar, timers
|
|
- Chat overlay appears on mic button press, dashboard blurs behind it
|
|
- Dark theme, card-based, bottom bar with mic button
|
|
- WebSocket protocol fully working (connect, chat.send, streaming)
|
|
- **Systems check:**
|
|
- Leverage trader running: $9,987.40 (-0.13% from $10K), HYPE trade closed at -$15.63
|
|
- GARP portfolio: $100,055.90 (+0.06% from $100K), 6 positions
|
|
- All systemd timers healthy
|
|
- **Future UI improvements identified:**
|
|
- Ambient/photo mode when idle (slideshow + big clock)
|
|
- Blue waveform animation during listening state
|
|
- Results persistence (timer created in chat → appears on dashboard)
|
|
- Proximity-aware layout (different for close vs far viewing)
|
|
|
|
### Caddy Config (D J's reverse proxy)
|
|
```
|
|
kippui.host.letsgetnashty.com {
|
|
reverse_proxy 192.168.86.100:8080
|
|
}
|
|
kipp.host.letsgetnashty.com {
|
|
header Access-Control-Allow-Origin "https://kippui.host.letsgetnashty.com"
|
|
header Access-Control-Allow-Methods "GET, POST, OPTIONS"
|
|
header Access-Control-Allow-Headers "Content-Type, Authorization"
|
|
@options method OPTIONS
|
|
handle @options { respond 204 }
|
|
reverse_proxy 192.168.86.100:18789
|
|
}
|
|
```
|