sam-4screen-desktop 2026-9-6:16:54:8

This commit is contained in:
2026-09-06 16:54:08 +10:00
parent 9c11ab5771
commit ff2774f08e
4 changed files with 25 additions and 75 deletions

View File

@@ -1,6 +1,6 @@
--- ---
created: 2026-08-03 15:42 created: 2026-08-03 15:42
modified: 2026-08-03 15:45 modified: 2026-09-06
type: note type: note
tags: tags:
- ai - ai
@@ -17,12 +17,12 @@ aliases: []
│ AI MEMORY & CODE INTELLIGENCE │ │ AI MEMORY & CODE INTELLIGENCE │
│ │ │ │
│ ┌────────────┐ ┌───────────────┐ │ │ ┌────────────┐ ┌───────────────┐ │
│ │ OmniRoute │ │ Langfuse │ │ │ │ OmniRoute │ │ ~~Langfuse~~ │ ~~~~ removed ~~~~ │
│ │ (.13:20129) │ (.13:3001) │ │ │ │ (.13:20129) │ ~~(.13:3001)~~ │ 2026-09-06 │
│ │ │ │ │ │ │ │ │ │ │ │
│ │ LLM proxy │────────▶│ Observability │ │ │ │ LLM proxy │────────▶│ Observability │ │
│ │ Combo │ traces │ Traces, evals │ │ │ │ Combo │ ~~traces~~ │ ~~removed~~ │ │
│ │ routing │ │ cost tracking │ │ │ │ routing │ │ ~~cost track~~ │ │
│ └────────────┘ └───────────────┘ │ │ └────────────┘ └───────────────┘ │
│ │ │ │
│ ┌─────────────────── SESSION LAYER ──────────────────────┐ │ │ ┌─────────────────── SESSION LAYER ──────────────────────┐ │
@@ -64,16 +64,14 @@ aliases: []
│ │ │ │
│ ┌─────────────────── OBSERVABILITY LAYER ──────────────────┐ │ │ ┌─────────────────── OBSERVABILITY LAYER ──────────────────┐ │
│ │ │ │ │ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────────┐ │ │ │ │ ┌──────────┐ ┌──────────┐ ┌───────────────┐ │ │
│ │ │ pi │ │ OmniRoute│ │ Langfuse │ │ │ │ │ │ pi │ │ OmniRoute│ │ ~~Langfuse~~ │ │ │
│ │ │dashboard │ │ traces──▶│ │ (.13:3001)│ │ │ │ │ │dashboard │ │ routes │ │ (removed │ │ │
│ │ │ .ts │ │ │ │ │ │ │ │ │ │ .ts │ │ to LLMs │ │ 2026-09-06) │ │ │
│ │ │ state │ │ │ │ Dashboard │ │ │ │ │ │ state │ │ │ │ │ │ │
│ │ │ files │ │ │ │ Evals │ │ │ │ │ │ files │ │ │ │ │ │ │
│ │ └──────────┘ └──────────┘ │ Cost per │ │ │ │ │ └──────────┘ └──────────┘ └───────────────┘ │ │
│ │ │ session │ │ │ │ └────────────────────────────────────────────────────────┘ │
│ │ └──────────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────────────┘ └──────────────────────────────────────────────────────────────────────┘
``` ```
@@ -111,8 +109,8 @@ aliases: []
| Tool | What it does | Where | Status | | Tool | What it does | Where | Status |
|------|-------------|-------|--------| |------|-------------|-------|--------|
| **Langfuse** | LLM observability platform. Traces every request, evaluates responses, tracks cost per session/model. Free tier. | Docker on .13:3001 | ✅ Active | | **Langfuse** | ~~LLM observability platform. Traces every request, evaluates responses, tracks cost per session/model.~~ **⛔ REMOVED 2026-09-06** — stack (web/worker/clickhouse/postgres/redis/minio) + all data deleted; consumed too much RAM on .13. | ~~Docker on .13:3001~~ | ❌ Removed |
| **OmniRoute → Langfuse** | OmniRoute sends traces/metrics to Langfuse. Python sidecar on .13 syncs traces → SQLite for Go dashboard queries. | Planned | 🔜 Session Explorer Phase 1 | | **OmniRoute → Langfuse** | ~~OmniRoute sends traces/metrics to Langfuse~~ — **superseded & removed**. pi-langfuse extension was trialled then removed (2026-09-06); OmniRoute 3.8.48 plugin runtime can't deliver the data. No longer planned. | — | ❌ Removed |
| **Pi Dashboard** | Local state files tracking session activity and project tasks. | `.pi/dashboard/` per project | ✅ Active | | **Pi Dashboard** | Local state files tracking session activity and project tasks. | `.pi/dashboard/` per project | ✅ Active |
--- ---
@@ -128,7 +126,6 @@ User types in Pi
│ └─▶ Headroom Docker (.13:8787) → 60-95% reduction │ └─▶ Headroom Docker (.13:8787) → 60-95% reduction
│ │
├─▶ OmniRoute (.13:20129) routes to best LLM ├─▶ OmniRoute (.13:20129) routes to best LLM
│ └─▶ Langfuse (.13:3001) records trace
│ │
├─▶ codebase-memory-mcp / code-review-graph provide code context ├─▶ codebase-memory-mcp / code-review-graph provide code context
│ │

View File

@@ -1,6 +1,6 @@
--- ---
created: 2026-05-16 created: 2026-05-16
modified: 2026-08-03 modified: 2026-09-06
type: note type: note
tags: tags:
- ai - ai
@@ -60,7 +60,7 @@ Open WebUI v0.11.0 runs on .13 as a native NixOS process (not Docker), managed v
| **Package** | `open-webui-0.11.0` (NixOS nixpkgs) | | **Package** | `open-webui-0.11.0` (NixOS nixpkgs) |
| **How to connect OmniRoute** | Admin Panel ⚙️ → Settings → Connections → OpenAI API → URL: `http://192.168.20.13:20129/v1` (include `/v1`), Key: OmniRoute API key | | **How to connect OmniRoute** | Admin Panel ⚙️ → Settings → Connections → OpenAI API → URL: `http://192.168.20.13:20129/v1` (include `/v1`), Key: OmniRoute API key |
| **Also works with** | Any OpenAI-compatible API (TokenRouter, OpenRouter, DeepSeek) — add each as a separate connection | | **Also works with** | Any OpenAI-compatible API (TokenRouter, OpenRouter, DeepSeek) — add each as a separate connection |
| **Port note** | :3000 is taken by Open WebUI. Langfuse was bumped to :3001. | | **Port note** | :3000 is Open WebUI's port. |
--- ---
@@ -112,7 +112,6 @@ pi is **Nix-managed on all three** — the nixpkgs **`pi-coding-agent`** package
| **gentle-engram** | `~/.agents` | Memory service connecting to engram via ENGRAM_URL. Replaces memory-vault. Session capture, compaction recovery | | **gentle-engram** | `~/.agents` | Memory service connecting to engram via ENGRAM_URL. Replaces memory-vault. Session capture, compaction recovery |
| **headroom-bridge** | `~/.agents` | `compress_for_agent` tool — compresses >20K chars via Headroom Docker on .13:8787. 60-95% token reduction | | **headroom-bridge** | `~/.agents` | `compress_for_agent` tool — compresses >20K chars via Headroom Docker on .13:8787. 60-95% token reduction |
| **pi-mermaid** | `~/.agents` (vendored from npm 0.3.0, commit `8e68df0`) | Renders ` ```mermaid ` blocks as ASCII in the TUI (beautiful-mermaid) + Mermaid parser syntax warnings/errors. `/pi-mermaid` re-renders last assistant message. Per project: `/config-add ext pi-mermaid` | | **pi-mermaid** | `~/.agents` (vendored from npm 0.3.0, commit `8e68df0`) | Renders ` ```mermaid ` blocks as ASCII in the TUI (beautiful-mermaid) + Mermaid parser syntax warnings/errors. `/pi-mermaid` re-renders last assistant message. Per project: `/config-add ext pi-mermaid` |
| **pi-langfuse** | `~/.agents` (vendored from npm 1.5.8, commit `bc91a15`) | Langfuse LLM observability for pi — one trace per conversation, grouped by pi session, with tokens + cost. Activate per project via `/config-add ext pi-langfuse`. See [[#pi-langfuse — LLM Observability for Pi]] |
| **pi-tool-display** | `~/.agents` (vendored npm 0.5.0, commit `41cc33d`) | OpenCode-style compact tool rendering, adaptive edit/write diffs, pending-edit previews, thinking labels. **Global** — 0 tools / 0 token cost (added via home.nix settings). `/tool-display` presets: opencode / balanced / verbose | | **pi-tool-display** | `~/.agents` (vendored npm 0.5.0, commit `41cc33d`) | OpenCode-style compact tool rendering, adaptive edit/write diffs, pending-edit previews, thinking labels. **Global** — 0 tools / 0 token cost (added via home.nix settings). `/tool-display` presets: opencode / balanced / verbose |
| **pi-lsp-extension** | `~/.agents` (vendored npm 1.3.0, commit `41cc33d`) | LSP diagnostics, hover, definition, references, symbols, rename, completions, code_actions + tree-sitter `code_overview`/`ast_search`/`code_rewrite`. **Per-project** via `/config-add ext pi-lsp-extension` (10 tools — token-lean). Commands: `/lsp`, `/lsp-config`, `/lsp-restart`, `/lsp-lombok` | | **pi-lsp-extension** | `~/.agents` (vendored npm 1.3.0, commit `41cc33d`) | LSP diagnostics, hover, definition, references, symbols, rename, completions, code_actions + tree-sitter `code_overview`/`ast_search`/`code_rewrite`. **Per-project** via `/config-add ext pi-lsp-extension` (10 tools — token-lean). Commands: `/lsp`, `/lsp-config`, `/lsp-restart`, `/lsp-lombok` |
@@ -424,46 +423,6 @@ ssh 192.168.20.13 "cd /home/sam/Docker/Containers/headroom && docker compose pul
| `/home/sam/Docker/Containers/headroom/.env` | Environment file (on .13) | | `/home/sam/Docker/Containers/headroom/.env` | Environment file (on .13) |
## pi-langfuse — LLM Observability for Pi
Sends pi's LLM traffic to Langfuse (self-hosted on .13:3001) for tracing, token usage, and cost-per-session. One trace per user prompt, grouped by pi session.
| Aspect | Detail |
|--------|--------|
| **What it is** | pi extension (npm package `pi-langfuse` v1.5.8, by gooyoung) that captures pi runs — agent steps, LLM generations, tool calls, final output, usage, cost — into Langfuse |
| **Where it runs** | Per-project — vendored at `~/.agents/extensions/pi-langfuse/`, activated with `/config-add ext pi-langfuse` then `/reload`. Keys read globally from `~/.pi/agent/pi-langfuse/config.json` |
| **Config file** | `~/.pi/agent/pi-langfuse/config.json` (mode 600): `{ "publicKey": "pk-lf-…", "secretKey": "sk-lf-…", "host": "http://192.168.20.13:3001" }` |
| **Env var fallback** | `LANGFUSE_PUBLIC_KEY`, `LANGFUSE_SECRET_KEY`, `LANGFUSE_BASE_URL` (used only when config.json is missing/incomplete) |
| **Commands** | `/langfuse-setup` (interactive key entry), `/langfuse-status` (show config state, masked keys, capture policy) |
| **Requirements** | Node ≥ 22 (machines run 24); peer dep `@earendil-works/pi-coding-agent: *` |
| **What you get** | Root `agent`, per-request `generation`, and per-tool `tool` observations; token usage + cost; privacy controls (input/output/tool redaction, path hashing, secret redaction) |
| **Dashboard** | `http://192.168.20.13:3001` |
### Install (per project)
Run inside the target project folder (uses the standard `~/.agents` workflow — see the nixos-workflow skill):
```text
/config-add ext pi-langfuse
/reload
```
pi installs the extension's npm dependencies automatically (deps are gitignored in `~/.agents`).
### Global install (all projects / machines)
The global `~/.pi/agent/settings.json` is a Nix-store symlink (read-only). To enable everywhere, add `npm:pi-langfuse` to the `packages` list in `/etc/nixos/home/sam/home.nix` and rebuild Home Manager.
### Why not the OmniRoute langfuse plugin?
OmniRoute's example langfuse plugin is **broken against the 3.8.48 runtime** (verified in source, 2026-08-03):
- Plugin config is stored in SQLite but **never delivered to hook payloads** — `PluginContext` has no `config` field
- `onRequest` metadata is **not threaded** to `onResponse` (each hook gets a fresh `metadata: {}`)
- **Streaming requests** (what pi uses) receive `response: { status: 200, streamed: true }` — no response body to trace
pi-langfuse traces at the pi layer instead, which works for streaming and gives per-session grouping. The plugin files were removed from .13 (compose restored, container recreated clean).
## codebase-memory-mcp ## codebase-memory-mcp
Code intelligence MCP server by DeusData. Single static C binary (~13MB), zero dependencies, 158 languages. Indexes a codebase into a persistent knowledge graph — average repo in milliseconds. 15 MCP tools for structural queries. Runs locally, code never leaves your machine. Code intelligence MCP server by DeusData. Single static C binary (~13MB), zero dependencies, 158 languages. Indexes a codebase into a persistent knowledge graph — average repo in milliseconds. 15 MCP tools for structural queries. Runs locally, code never leaves your machine.
@@ -831,8 +790,6 @@ Path: `~/.pi/agent/subagents.json`. Configuration for pi-subagents agent types,
| `get_subagent_result()` | Retrieve results from background agent | | `get_subagent_result()` | Retrieve results from background agent |
| `steer_subagent()` | Send mid-run steering message | | `steer_subagent()` | Send mid-run steering message |
| `compress_for_agent()` | Compress large content via Headroom | | `compress_for_agent()` | Compress large content via Headroom |
| `/langfuse-setup` | Set Langfuse keys interactively (pi-langfuse) |
| `/langfuse-status` | Show pi-langfuse config state (masked keys, host, capture policy) |
## Agent Roster (18) ## Agent Roster (18)
@@ -896,7 +853,6 @@ compress_for_agent({ content })
- [x] Update Pi Subagent.md and Pi Agent Extensions & Skills.md documentation ✅ 2026-06-14 - [x] Update Pi Subagent.md and Pi Agent Extensions & Skills.md documentation ✅ 2026-06-14
- [x] Update pi-subagents to v0.10.3 ✅ 2026-06-14 - [x] Update pi-subagents to v0.10.3 ✅ 2026-06-14
- [x] Update pi-tasks to v0.7.0 ✅ 2026-06-13 - [x] Update pi-tasks to v0.7.0 ✅ 2026-06-13
- [x] Install pi-langfuse tracing extension (pi → Langfuse on .13:3001) ✅ 2026-08-03
- [x] Pi Dashboard v2: heartbeat + cwd + started/closed columns, hide/sort, /dash-name (pi+zellij), hunk in agent folder, tuxedo project boards, zellij/tmux attach ✅ 2026-08-04 - [x] Pi Dashboard v2: heartbeat + cwd + started/closed columns, hide/sort, /dash-name (pi+zellij), hunk in agent folder, tuxedo project boards, zellij/tmux attach ✅ 2026-08-04
- [ ] Verify video-extract works with Gemini - [ ] Verify video-extract works with Gemini
- [ ] Clean up workspace-map.json entries for any stale memory packs - [ ] Clean up workspace-map.json entries for any stale memory packs

View File

@@ -52,8 +52,8 @@ id: 1778553013-ARYX
### `/home/sam/deployment/lite_llm/` ### `/home/sam/deployment/lite_llm/`
- **litellm** — LiteLLM AI proxy (ghcr.io/berriai/litellm) - **litellm** — LiteLLM AI proxy (ghcr.io/berriai/litellm)
### `/home/sam/deployment/langfuse/` ### `/home/sam/deployment/langfuse/` — ⛔ REMOVED 2026-09-06
- **langfuse** — AI observability & tracing (langfuse/langfuse:3) - ~~**langfuse** — AI observability & tracing (langfuse/langfuse:3)~~ — **removed** (containers + all data volumes deleted). Was the resource-heavy Langfuse stack (web/worker/clickhouse/postgres/redis/minio) that pi-langfuse traced into. Compose file left in place but unused.
### `/home/sam/deployment/airflow/` ### `/home/sam/deployment/airflow/`
- **airflow** — Data pipeline orchestration (apache/airflow:2.10.5) - **airflow** — Data pipeline orchestration (apache/airflow:2.10.5)
@@ -73,7 +73,7 @@ id: 1778553013-ARYX
### `/home/sam/Docker/Containers/dsh/` — DeepSeek Harness ### `/home/sam/Docker/Containers/dsh/` — DeepSeek Harness
- **dsh-sam / dsh-jo / dsh-harry / dsh-finn** — per-user chat (ports 3081–3084). Memory, web/doc summarise, image ingest + generate. Hardened (no shell, read-only rootfs). - **dsh-sam / dsh-jo / dsh-harry / dsh-finn** — per-user chat (ports 3081–3084). Memory, web/doc summarise, image ingest + generate. Hardened (no shell, read-only rootfs).
Also on .13: **where-woof**, **prefect**, **omniroute**, langfuse, airflow, µstacks above. Also on .13: **where-woof**, **prefect**, **omniroute**, ~~langfuse (removed 2026-09-06)~~, airflow, µstacks above.
### `/home/sam/Docker/Containers/outline/` — Outline wiki ### `/home/sam/Docker/Containers/outline/` — Outline wiki
- **outline** — Project documentation/wiki (on `.13:3000`, Docker stack: outline + outline_postgres + outline_redis, Garage S3 storage). URL: `outline.lab.audasmedia.com.au`. Has REST API + MCP; project-ops skill covers docs access. - **outline** — Project documentation/wiki (on `.13:3000`, Docker stack: outline + outline_postgres + outline_redis, Garage S3 storage). URL: `outline.lab.audasmedia.com.au`. Has REST API + MCP; project-ops skill covers docs access.

View File

@@ -1,6 +1,6 @@
--- ---
created: 2026-07-30 created: 2026-07-30
modified: 2026-08-29 modified: 2026-09-06
type: note type: note
tags: tags:
- network - network
@@ -38,7 +38,7 @@ Mermaid + Archify (diagrams), Vikunja (tasks) and Outline (docs) are documented
| **SSH** | ✅ `sam@192.168.20.27` | | **SSH** | ✅ `sam@192.168.20.27` |
| **Tailscale** | ✅ `100.65.228.31` (sam-4screen-desktop-1) | | **Tailscale** | ✅ `100.65.228.31` (sam-4screen-desktop-1) |
| **Role** | Daily driver. 4 monitors, 62GB RAM, Nvidia GPU. Zellij, Neovim, pi coding agent. | | **Role** | Daily driver. 4 monitors, 62GB RAM, Nvidia GPU. Zellij, Neovim, pi coding agent. |
| **Key services** | pi (with pi-langfuse → traces to Langfuse .13:3001), pi-dashboard, Neovim, Zellij (with falcode + attention plugins), Home Manager managed | **Key services** | pi, pi-dashboard, Neovim, Zellij (with falcode + attention plugins), Home Manager managed
| **MCP tools** | `codebase-memory-mcp` v0.9.0, `code-review-graph` v2.3.7 (per-project, installed via `uv tool install`) | **MCP tools** | `codebase-memory-mcp` v0.9.0, `code-review-graph` v2.3.7 (per-project, installed via `uv tool install`)
| **Tunnels** | `ssh -fNL 7437:127.0.0.1:7437 192.168.20.13` (engram — must re-establish after reboot) | | **Tunnels** | `ssh -fNL 7437:127.0.0.1:7437 192.168.20.13` (engram — must re-establish after reboot) |
@@ -78,7 +78,7 @@ Mermaid + Archify (diagrams), Vikunja (tasks) and Outline (docs) are documented
| Docker containers | | | Docker containers | |
|---|---| |---|---|
| **OmniRoute** | LLM proxy with combo routing (port 20128/20129). All pi LLM traffic routes through it. Combo `default-opencode-go-ds-flash` prioritises OpenCode-Go before falling through OpenRouter → DeepSeek direct → Google Gemini. See [[Pi Agent Extensions & Skills#OmniRoute — LLM Provider Router]] | | **OmniRoute** | LLM proxy with combo routing (port 20128/20129). All pi LLM traffic routes through it. Combo `default-opencode-go-ds-flash` prioritises OpenCode-Go before falling through OpenRouter → DeepSeek direct → Google Gemini. See [[Pi Agent Extensions & Skills#OmniRoute — LLM Provider Router]] |
| **Langfuse** | LLM observability — receives pi traces via the **pi-langfuse** extension (port `:3001`, bumped from 3000 by Open WebUI) | | **~~Langfuse~~** | ~~LLM observability — traces, evals, cost tracking~~ **⛔ REMOVED 2026-09-06** (was port `:3001`, bumped from 3000 by Open WebUI). Stack + data deleted — resource hog. |
| **worldmonitor** | Geopolitical news dashboard (port 3002) | | **worldmonitor** | Geopolitical news dashboard (port 3002) |
| **mosquitto** | MQTT broker | | **mosquitto** | MQTT broker |
| **pihole** | DNS ad-blocking (primary) | | **pihole** | DNS ad-blocking (primary) |
@@ -88,9 +88,7 @@ Mermaid + Archify (diagrams), Vikunja (tasks) and Outline (docs) are documented
| **n8n** | Workflow automation | | **n8n** | Workflow automation |
| **voice_bridge + voice_whisper** | MQTT audio bridge | | **voice_bridge + voice_whisper** | MQTT audio bridge |
| **piper_tts** | Text-to-speech | | **piper_tts** | Text-to-speech |
| **Plus:** pocketbase, doorbell_media, litellm, langfuse, airflow, trigger_dev, garage, **garage-webui**, t3_stack_react, sams-home-network | | | **Plus:** pocketbase, doorbell_media, litellm, airflow, trigger_dev, garage, **garage-webui**, t3_stack_react, sams-home-network | |
**AI observability flow:** pi (on .27/.13/.51) → **pi-langfuse** pi extension (npm:pi-langfuse, enabled per project) → Langfuse (`.13:3001`). One trace per pi conversation, grouped by session, with tokens + cost. Keys: `~/.pi/agent/pi-langfuse/config.json`. See [[Pi Agent Extensions & Skills#pi-langfuse — LLM Observability for Pi]]
See [[Docker Containers]] for full container list. See [[Docker Containers]] for full container list.
@@ -253,7 +251,7 @@ Host phone
| `8007` | Proxmox Backup Server web UI | .48 | | `8007` | Proxmox Backup Server web UI | .48 |
| `8123` | Home Assistant web UI | .30 | | `8123` | Home Assistant web UI | .30 |
| `3000` | Open WebUI | .13 | | `3000` | Open WebUI | .13 |
| `3001` | Langfuse | .13 | | ~~`3001`~~ | ~~Langfuse — removed 2026-09-06~~ | .13 |
| `2222` | Gitea SSH (git remotes) | .35 | | `2222` | Gitea SSH (git remotes) | .35 |
| `3001` | Gitea web UI | .35 | | `3001` | Gitea web UI | .35 |
| `3090` | Archon | .27 | | `3090` | Archon | .27 |
@@ -290,7 +288,6 @@ Host phone
| App | URL | Notes | | App | URL | Notes |
|-----|-----|-------| |-----|-----|-------|
| Snapcast | `http://192.168.20.13:1780/` | Multi-room audio control — needs Caddy DNS | | Snapcast | `http://192.168.20.13:1780/` | Multi-room audio control — needs Caddy DNS |
| Langfuse | `http://192.168.20.13:3001/auth/sign-in` | LLM observability (traces, evals, cost) |
| ai-resume-backend | `http://192.168.20.13:8001` | Resume AI backend (Docker) | | ai-resume-backend | `http://192.168.20.13:8001` | Resume AI backend (Docker) |
### .35 — caddy-server (Reverse Proxy) ### .35 — caddy-server (Reverse Proxy)