KIPP UI v1, memory updates, daily notes 2026-02-10
This commit is contained in:
21
MEMORY.md
21
MEMORY.md
@ -124,12 +124,31 @@ This is about having an inner life, not just responding.
|
||||
- Copy-bot delay: ~30-60s for detection, negligible for pre-game sports bets
|
||||
- D J wants everything paper-traded first, backtested where possible
|
||||
|
||||
## KIPP Project (updated 2026-02-10)
|
||||
|
||||
- **KIPP VM:** 192.168.86.100 (Ubuntu 24.04, 8GB/8core, Proxmox)
|
||||
- **Primary model:** llamacpp/glm-4.7-flash (local, zero cost), Claude Sonnet fallback
|
||||
- **llama.cpp server:** 192.168.86.40:8080 (GLM-4 Flash 30B q4, 2 GPUs 12+10GB, 32GB RAM)
|
||||
- **Ollama:** 192.168.86.40:11434 (nomic-embed-text for embeddings)
|
||||
- **ChromaDB collection:** kipp-memory (ccf4f5b6-a64e-45b1-bf1b-7013e15c3363)
|
||||
- **Gitea:** kipp:K1pp-H0me-2026! @ git.letsgetnashty.com/kipp/workspace
|
||||
- **Telegram bot:** @dzclaw_kipp_bot
|
||||
- **Web UI:** https://kippui.host.letsgetnashty.com/ (port 8080, systemd kipp-ui.service)
|
||||
- **Gateway:** https://kipp.host.letsgetnashty.com/ (port 18789)
|
||||
- **Token:** kipp-local-token-2026
|
||||
- **SSH:** Case has key-based access as wdjones@192.168.86.100
|
||||
- **Personality:** Warm, helpful, playful. Like a good roommate. Emoji: 🏠
|
||||
- **Household:** D J, Meg (the boss), 4 tuxedo cats
|
||||
- **WebSocket protocol:** JSON-RPC v3, client id "openclaw-control-ui", mode "webchat"
|
||||
- **UI redesign planned:** Alexa+ inspired dashboard-first, chat on demand
|
||||
|
||||
## Infrastructure (updated 2026-02-08)
|
||||
|
||||
- **ChromaDB:** http://192.168.86.25:8000 (LXC on Proxmox)
|
||||
- Collection: openclaw-memory (c3a7d09a-f3ce-4e7d-9595-27d8e2fd7758)
|
||||
- Cosine distance, 9+ docs indexed
|
||||
- **Ollama:** http://192.168.86.137:11434
|
||||
- **Ollama (old):** http://192.168.86.137:11434 (may be offline)
|
||||
- **Ollama (llama.cpp box):** http://192.168.86.40:11434
|
||||
- Models: qwen3:8b, qwen3:30b-a3b, glm-4.7-flash, nomic-embed-text
|
||||
- **Feed Hunter Portal:** localhost:8888 (systemd: feed-hunter-portal)
|
||||
- **Control Panel:** localhost:8000 (systemd: case-control-panel)
|
||||
|
||||
1
USER.md
1
USER.md
@ -7,6 +7,7 @@
|
||||
- **Pronouns:** *(tbd)*
|
||||
- **Timezone:** America/Chicago (CST)
|
||||
- **Notes:** Got the webchat and Telegram working. Practical, gets things done.
|
||||
- **Girlfriend:** Meg (the boss)
|
||||
- **Cats:** 4 tuxedos
|
||||
|
||||
## Context
|
||||
|
||||
@ -64,3 +64,46 @@ Major session analyzing Polymarket/crypto tweets D J forwarded from X feed.
|
||||
- D J sending Telegram crypto signal group export (Option 2: JSON export)
|
||||
- Signal provider uses VWAP-based strategy
|
||||
- Sub-agent researching 5 more wallets
|
||||
|
||||
## Evening Session — KIPP + Leverage Trading
|
||||
|
||||
### Crypto Leverage Trading
|
||||
- Built **short signal scanner** (`scripts/short_scanner.py`) — RSI/VWAP/MACD/Bollinger scoring for 29 coins
|
||||
- Built **leverage game engine** (`leverage_game.py`) — $10K, 20x max leverage, longs/shorts/liquidations
|
||||
- Built **auto-trader** (`scripts/leverage_trader.py`) — connects scanners to game, TP/SL/trailing stops
|
||||
- "Leverage Challenge" game initialized, player "case"
|
||||
- Systemd timer every 15min
|
||||
- First scan: market quiet, no strong signals (highest short score 40 on FIL)
|
||||
|
||||
### KIPP Setup
|
||||
- KIPP VM: 192.168.86.100 (Proxmox CT, 8 cores, 8GB RAM, Ubuntu 24.04)
|
||||
- Installed Node.js 22, OpenClaw 2026.2.9
|
||||
- Set up SSH key auth from Case's VM
|
||||
- Created KIPP identity: SOUL.md, AGENTS.md, MEMORY.md, USER.md
|
||||
- Initially tried GLM-4.7 Flash via llama.cpp — had issues, switched to Claude
|
||||
- Configured Telegram bot: @dzclaw_kipp_bot (token: 8535439246:AAE...)
|
||||
- Webchat accessible via https://kipp.host.letsgetnashty.com/
|
||||
- Gateway token: kipp-local-token-2026
|
||||
- Proxmox firewall was blocking LAN access — D J disabled it
|
||||
- Needed trustedProxies, allowedOrigins, dangerouslyDisableDeviceAuth for reverse proxy
|
||||
- D J ran `openclaw configure` to set up Anthropic auth
|
||||
- KIPP is LIVE on Claude + Telegram
|
||||
- Name confirmed: KIPP (not Kip)
|
||||
|
||||
### KIPP Local LLM Attempt (Late Session)
|
||||
- Goal: Switch KIPP from Claude to local GLM-4 Flash 30B (q4) on llama.cpp at 192.168.86.40:8080/v1
|
||||
- llama.cpp server confirmed running and responding
|
||||
- Multiple openclaw.json config attempts failed — schema validation errors
|
||||
- Key schema findings for `openclaw.json`:
|
||||
- `gateway.bind`: must be enum (auto/lan/loopback/custom/tailnet)
|
||||
- `agents.defaults.model`: must be `{ primary: string, fallbacks?: string[] }`
|
||||
- `models.providers`: array of `{ baseUrl, apiKey, api, models[] }` for custom endpoints
|
||||
- `auth.profiles`: only allows provider/mode/email — NOT baseURL/apiKey
|
||||
- Gateway service installed but crashing on config validation
|
||||
- **Status: BLOCKED** — need to apply correct config schema, was mid-fix when session compacted
|
||||
|
||||
### Infrastructure
|
||||
- SSH keys generated on Case's VM, copied to KIPP VM
|
||||
- `loginctl enable-linger` set for boot persistence
|
||||
- sshpass installed on Case's VM
|
||||
- llama.cpp server: 192.168.86.40:8080/v1 (GLM-4 Flash 30B q4)
|
||||
|
||||
62
memory/2026-02-10.md
Normal file
62
memory/2026-02-10.md
Normal file
@ -0,0 +1,62 @@
|
||||
# 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
|
||||
|
||||
### Next (Night Shift)
|
||||
- **Redesign KIPP UI** — Alexa+ inspired dashboard-first layout
|
||||
- Widget grid: weather, calendar, grocery list, smart home, photos
|
||||
- Chat hidden by default — appears on "Hey KIPP" / button press
|
||||
- D J sent Alexa Echo Show screenshot as reference
|
||||
- Research Alexa+ gen AI UI patterns
|
||||
- General improvements across projects
|
||||
|
||||
### 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
|
||||
}
|
||||
```
|
||||
File diff suppressed because it is too large
Load Diff
@ -1,7 +1,22 @@
|
||||
{
|
||||
"cash": 10000.0,
|
||||
"positions": {},
|
||||
"total_realized_pnl": 0,
|
||||
"total_fees_paid": 0,
|
||||
"cash": 9803.735582505811,
|
||||
"positions": {
|
||||
"HYPE_long_3ce0": {
|
||||
"symbol": "HYPE",
|
||||
"direction": "long",
|
||||
"leverage": 7,
|
||||
"margin_usd": 200,
|
||||
"notional": 1400,
|
||||
"entry_price": 30.45,
|
||||
"current_price": 30.33,
|
||||
"liquidation_price": 26.1,
|
||||
"unrealized_pnl": -5.52,
|
||||
"entry_fee": 0.7,
|
||||
"opened_at": "2026-02-10T05:45:17.772713+00:00",
|
||||
"reason": "Long scanner score:50"
|
||||
}
|
||||
},
|
||||
"total_realized_pnl": 7.235582505812443,
|
||||
"total_fees_paid": 3.5,
|
||||
"total_funding_paid": 0
|
||||
}
|
||||
@ -1 +1,76 @@
|
||||
[]
|
||||
[
|
||||
{
|
||||
"action": "OPEN",
|
||||
"pos_id": "PUMP_long_915b",
|
||||
"symbol": "PUMP",
|
||||
"direction": "long",
|
||||
"leverage": 7,
|
||||
"margin_usd": 200,
|
||||
"notional": 1400,
|
||||
"entry_price": 0.001989,
|
||||
"liquidation_price": 0.0017,
|
||||
"fee": 0.7,
|
||||
"reason": "Long scanner score:48",
|
||||
"timestamp": "2026-02-10T03:15:17.681597+00:00"
|
||||
},
|
||||
{
|
||||
"action": "CLOSE",
|
||||
"pos_id": "PUMP_long_915b",
|
||||
"symbol": "PUMP",
|
||||
"direction": "long",
|
||||
"leverage": 7,
|
||||
"entry_price": 0.001989,
|
||||
"exit_price": 0.00197,
|
||||
"margin_usd": 200,
|
||||
"pnl": -13.37,
|
||||
"pnl_pct": -6.69,
|
||||
"fee": 0.7,
|
||||
"liquidated": false,
|
||||
"reason": "SL hit (-6.7%)",
|
||||
"timestamp": "2026-02-10T03:30:04.448216+00:00"
|
||||
},
|
||||
{
|
||||
"action": "OPEN",
|
||||
"pos_id": "PUMP_long_8004",
|
||||
"symbol": "PUMP",
|
||||
"direction": "long",
|
||||
"leverage": 7,
|
||||
"margin_usd": 200,
|
||||
"notional": 1400,
|
||||
"entry_price": 0.00197,
|
||||
"liquidation_price": 0.0017,
|
||||
"fee": 0.7,
|
||||
"reason": "Long scanner score:53",
|
||||
"timestamp": "2026-02-10T03:30:17.846691+00:00"
|
||||
},
|
||||
{
|
||||
"action": "CLOSE",
|
||||
"pos_id": "PUMP_long_8004",
|
||||
"symbol": "PUMP",
|
||||
"direction": "long",
|
||||
"leverage": 7,
|
||||
"entry_price": 0.00197,
|
||||
"exit_price": 0.001999,
|
||||
"margin_usd": 200,
|
||||
"pnl": 20.61,
|
||||
"pnl_pct": 10.3,
|
||||
"fee": 0.7,
|
||||
"liquidated": false,
|
||||
"reason": "TP hit (+10.3%)",
|
||||
"timestamp": "2026-02-10T03:45:04.447060+00:00"
|
||||
},
|
||||
{
|
||||
"action": "OPEN",
|
||||
"pos_id": "HYPE_long_3ce0",
|
||||
"symbol": "HYPE",
|
||||
"direction": "long",
|
||||
"leverage": 7,
|
||||
"margin_usd": 200,
|
||||
"notional": 1400,
|
||||
"entry_price": 30.45,
|
||||
"liquidation_price": 26.1,
|
||||
"fee": 0.7,
|
||||
"reason": "Long scanner score:50",
|
||||
"timestamp": "2026-02-10T05:45:17.773139+00:00"
|
||||
}
|
||||
]
|
||||
@ -1,4 +1,6 @@
|
||||
{
|
||||
"peak_pnl": {},
|
||||
"peak_pnl": {
|
||||
"HYPE_long_3ce0": -1.6099999999999999
|
||||
},
|
||||
"last_alert": null
|
||||
}
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"cash": 75000.0,
|
||||
"cash": 50000.0,
|
||||
"positions": {
|
||||
"SEI": {
|
||||
"qty": 67125.80718783144,
|
||||
@ -30,6 +30,36 @@
|
||||
"avg_price": 31.470000000000002,
|
||||
"total_cost": 5000,
|
||||
"last_buy": "2026-02-10T02:17:32.524900+00:00"
|
||||
},
|
||||
"VET": {
|
||||
"qty": 644186.2832126343,
|
||||
"avg_price": 0.0077617300000000005,
|
||||
"total_cost": 5000,
|
||||
"last_buy": "2026-02-10T06:00:19.532599+00:00"
|
||||
},
|
||||
"ARB": {
|
||||
"qty": 45447.521746639155,
|
||||
"avg_price": 0.110017,
|
||||
"total_cost": 5000,
|
||||
"last_buy": "2026-02-10T06:00:19.533357+00:00"
|
||||
},
|
||||
"ADA": {
|
||||
"qty": 18835.584185643518,
|
||||
"avg_price": 0.265455,
|
||||
"total_cost": 5000,
|
||||
"last_buy": "2026-02-10T06:00:19.534362+00:00"
|
||||
},
|
||||
"AAVE": {
|
||||
"qty": 45.21613311629589,
|
||||
"avg_price": 110.58,
|
||||
"total_cost": 5000,
|
||||
"last_buy": "2026-02-10T06:00:19.535031+00:00"
|
||||
},
|
||||
"NEAR": {
|
||||
"qty": 4995.004995004995,
|
||||
"avg_price": 1.001,
|
||||
"total_cost": 5000,
|
||||
"last_buy": "2026-02-10T06:00:19.535701+00:00"
|
||||
}
|
||||
},
|
||||
"starting_balance": 100000.0,
|
||||
|
||||
@ -54,5 +54,106 @@
|
||||
],
|
||||
"num_positions": 5,
|
||||
"timestamp": "2026-02-10T02:17:32.525557+00:00"
|
||||
},
|
||||
{
|
||||
"cash": 50000.0,
|
||||
"positions_value": 49545.62,
|
||||
"total_value": 99545.62,
|
||||
"total_pnl": -454.38,
|
||||
"total_pnl_pct": -0.45,
|
||||
"positions": [
|
||||
{
|
||||
"symbol": "VET",
|
||||
"qty": 644186.2832126343,
|
||||
"avg_price": 0.0077617300000000005,
|
||||
"current_price": 0.00776173,
|
||||
"value": 5000.0,
|
||||
"pnl": 0.0,
|
||||
"pnl_pct": 0.0
|
||||
},
|
||||
{
|
||||
"symbol": "ARB",
|
||||
"qty": 45447.521746639155,
|
||||
"avg_price": 0.110017,
|
||||
"current_price": 0.110017,
|
||||
"value": 5000.0,
|
||||
"pnl": 0.0,
|
||||
"pnl_pct": 0.0
|
||||
},
|
||||
{
|
||||
"symbol": "ADA",
|
||||
"qty": 18835.584185643518,
|
||||
"avg_price": 0.265455,
|
||||
"current_price": 0.265455,
|
||||
"value": 5000.0,
|
||||
"pnl": 0.0,
|
||||
"pnl_pct": 0.0
|
||||
},
|
||||
{
|
||||
"symbol": "AAVE",
|
||||
"qty": 45.21613311629589,
|
||||
"avg_price": 110.58,
|
||||
"current_price": 110.58,
|
||||
"value": 5000.0,
|
||||
"pnl": 0.0,
|
||||
"pnl_pct": 0.0
|
||||
},
|
||||
{
|
||||
"symbol": "NEAR",
|
||||
"qty": 4995.004995004995,
|
||||
"avg_price": 1.001,
|
||||
"current_price": 1.001,
|
||||
"value": 5000.0,
|
||||
"pnl": 0.0,
|
||||
"pnl_pct": 0.0
|
||||
},
|
||||
{
|
||||
"symbol": "PUMP",
|
||||
"qty": 2496068.691810399,
|
||||
"avg_price": 0.00200315,
|
||||
"current_price": 0.00198511,
|
||||
"value": 4954.97,
|
||||
"pnl": -45.03,
|
||||
"pnl_pct": -0.9
|
||||
},
|
||||
{
|
||||
"symbol": "TRUMP",
|
||||
"qty": 1492.5373134328358,
|
||||
"avg_price": 3.35,
|
||||
"current_price": 3.31,
|
||||
"value": 4940.3,
|
||||
"pnl": -59.7,
|
||||
"pnl_pct": -1.19
|
||||
},
|
||||
{
|
||||
"symbol": "SEI",
|
||||
"qty": 67125.80718783144,
|
||||
"avg_price": 0.074487,
|
||||
"current_price": 0.073438,
|
||||
"value": 4929.59,
|
||||
"pnl": -70.41,
|
||||
"pnl_pct": -1.41
|
||||
},
|
||||
{
|
||||
"symbol": "ICP",
|
||||
"qty": 2057.6131687242796,
|
||||
"avg_price": 2.43,
|
||||
"current_price": 2.38,
|
||||
"value": 4897.12,
|
||||
"pnl": -102.88,
|
||||
"pnl_pct": -2.06
|
||||
},
|
||||
{
|
||||
"symbol": "HYPE",
|
||||
"qty": 158.8814744200826,
|
||||
"avg_price": 31.470000000000002,
|
||||
"current_price": 30.36,
|
||||
"value": 4823.64,
|
||||
"pnl": -176.36,
|
||||
"pnl_pct": -3.53
|
||||
}
|
||||
],
|
||||
"num_positions": 10,
|
||||
"timestamp": "2026-02-10T06:00:19.536598+00:00"
|
||||
}
|
||||
]
|
||||
@ -48,5 +48,55 @@
|
||||
"qty": 158.8814744200826,
|
||||
"amount_usd": 5000,
|
||||
"reason": "Buy signal (score 25): Below VWAP (-0.8%), Low volume (0.1x), Momentum reversal (bullish)"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"timestamp": "2026-02-10T06:00:19.532884+00:00",
|
||||
"action": "BUY",
|
||||
"symbol": "VET",
|
||||
"price": 0.00776173,
|
||||
"qty": 644186.2832126343,
|
||||
"amount_usd": 5000,
|
||||
"reason": "Strong buy signal (score 60): Deep below VWAP (-2.4%), RSI low (34), Momentum reversal (bullish)"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"timestamp": "2026-02-10T06:00:19.533883+00:00",
|
||||
"action": "BUY",
|
||||
"symbol": "ARB",
|
||||
"price": 0.110017,
|
||||
"qty": 45447.521746639155,
|
||||
"amount_usd": 5000,
|
||||
"reason": "Strong buy signal (score 50): Deep below VWAP (-2.6%), RSI low (38), Low volume (0.1x), 24h dump (-5.4%)"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"timestamp": "2026-02-10T06:00:19.534555+00:00",
|
||||
"action": "BUY",
|
||||
"symbol": "ADA",
|
||||
"price": 0.265455,
|
||||
"qty": 18835.584185643518,
|
||||
"amount_usd": 5000,
|
||||
"reason": "Strong buy signal (score 45): Below VWAP (-1.2%), RSI low (38), Momentum reversal (bullish)"
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"timestamp": "2026-02-10T06:00:19.535250+00:00",
|
||||
"action": "BUY",
|
||||
"symbol": "AAVE",
|
||||
"price": 110.58,
|
||||
"qty": 45.21613311629589,
|
||||
"amount_usd": 5000,
|
||||
"reason": "Strong buy signal (score 45): Below VWAP (-1.8%), RSI low (31), Momentum reversal (bullish)"
|
||||
},
|
||||
{
|
||||
"id": 10,
|
||||
"timestamp": "2026-02-10T06:00:19.535917+00:00",
|
||||
"action": "BUY",
|
||||
"symbol": "NEAR",
|
||||
"price": 1.001,
|
||||
"qty": 4995.004995004995,
|
||||
"amount_usd": 5000,
|
||||
"reason": "Strong buy signal (score 45): Deep below VWAP (-4.5%), RSI low (39)"
|
||||
}
|
||||
]
|
||||
@ -1,5 +1,5 @@
|
||||
{
|
||||
"last_check": "2026-02-10T02:31:59.875011+00:00",
|
||||
"last_check": "2026-02-10T06:23:59.886376+00:00",
|
||||
"total_tracked": 3100,
|
||||
"new_this_check": 0
|
||||
}
|
||||
Reference in New Issue
Block a user