sam-4screen-desktop 2026-9-9:20:9:8

This commit is contained in:
2026-09-09 20:09:08 +10:00
parent eba3579936
commit 84288910fd
2 changed files with 175 additions and 2 deletions

View File

@@ -210,8 +210,9 @@
"templater-obsidian:Templater": false
}
},
"active": "8f0c8ae5063438f6",
"active": "8018aa52f0591df9",
"lastOpenFiles": [
"200 projects/Tools Software WebUI/Tools Software WebUI.md",
"300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md",
"300 areas/350 AI/Ai memory management.md",
"300 areas/360 Dev-Ops Network Computers/Error Tracking.md",
@@ -247,7 +248,6 @@
"kontra_content/content/config",
"kontra_content/content",
"300 areas/360 Dev-Ops Network Computers/Filesystem Drive Map.md",
"300 areas/360 Dev-Ops Network Computers/Docker Containers.md",
"Untitled.canvas"
]
}

View File

@@ -0,0 +1,173 @@
---
created: 2026-09-09
modified: 2026-09-09
type: project
tags:
- ai
- ai-agents
- ai-resume
- dev-ops
- pi
- showcase
- tools
aliases:
- Tools Software WebUI
- Tool System
---
# Tools Software WebUI
A self-hosted **tool system** on the home network: Web UIs, automation, an AI-agent console, and LLM
routing, all wrapped around **pi** (the coding agent). This note is the master overview and user
manual — and a resume showcase of how the pieces fit together.
**Interactive architecture map:** `maps.lab.audasmedia.com.au/tools-software-webui/docs/…` *(published after the Archify build)*
## What it is
One coherent tool ecosystem that lets me **drive pi coding agents from anywhere**, watch what they
are doing across every machine, and automate around them — with a clean per-folder model that keeps
context lean. The four layers:
1. **Console — Pi Dashboard**: live view of *every* pi session on every machine (what's running,
where, status). The "what's working / running where" answer.
2. **LLM routing — OmniRoute**: one proxy on .13 that all machines' pi requests flow through, with
prioritized "combo" fallback chains.
3. **Automation — n8n + Prefect (+ LangChain)**: visual workflows, code pipelines, and the Python
glue that powers the portal, chat, and tool services.
4. **AI toolkit — pi + extensions + MCP**: sub-agent orchestration, tasks, memory, LSP, dashboards,
and a per-folder `.pi` model to control context bloat.
```mermaid
flowchart LR
subgraph CLIENTS["Clients"]
D27[".27 main dev"]
D51[".51 laptop"]
M[Mobile: Termux / Tailscale / KDE Connect]
end
subgraph LAB["Home lab (.lab.audasmedia.com.au)"]
C[Caddy proxy :35]
G[Gitea :35]
P[Pi-hole DNS :35]
end
subgraph WEB["Web-facing + Docker host (.13)"]
N[n8n :5678]
PR[Prefect :4200]
OR[OmniRoute :20129]
OW[Open WebUI :3000]
PORTAL[Console portal :8500]
DSH[dsh chat :3081-3084]
end
subgraph AGENTS["pi agents (per machine)"]
EXT[dashboard.ts ext]
SUB[@tintinweb/pi-subagents]
TASKS[pi-tasks]
MCP[MCP servers]
end
D27 -->|pi| AGENTS
D51 -->|pi| AGENTS
M -->|Tailscale/SSH| D27
M -->|NTFY| AGENTS
AGENTS -->|state JSON| EXT
EXT -->|~/.pi/agent/dashboard| PORTAL
EXT -->|notify| M
AGENTS -->|LLM| OR
OR --> C
C --> G
N -.->|webhooks/triggers| AGENTS
PR -.->|pipelines| AGENTS
```
## Access — how to reach things
| Target | How | Route |
|---|---|---|
| Any pi session | SSH from .27 / .51 / Termux | `ssh <host>` then `tmux attach` |
| Console (see agents everywhere) | Go TUI on .27/.13 | `pi-dashboard` |
| Live Pi-dashboard (web) | Portal Admin | `console.lab.audasmedia.com.au` (Caddy → .13:8500) |
| n8n | Browser | `n8n.home.lab` (LAN + auth) / Tailscale `100.114.62.46:5678` |
| Prefect | CLI/API from .27/.51 | `http://nixos-desktop:4200` |
| OmniRoute | API (OpenAI-compatible) | `http://192.168.20.13:20129/v1` · `https://omniroute.lab…/v1` |
| Open WebUI | Browser | `http://192.168.20.13:3000` |
| Gitea | Browser | `gitea.lab.audasmedia.com.au` (:3001) · SSH :2222 |
| Docs/Tasks | Browser | Outline :3000 · Vikunja |
| Phone | Tailscale app + KDE Connect + NTFY | notifications/files/remote |
**Backbone:** Tailscale (mesh VPN) + Caddy (reverse proxy on .35) + Pi-hole (DNS). Phone channel =
Termux (SSH client) + KDE Connect (pairing/files/notifications) + NTFY (agent-complete alerts).
## Where things live
| Area | Location |
|---|---|
| Project source & Gitea | `home_network/custom_tools/…` → Gitea `sam/*` |
| Tool docs (Obsidian) | `200 projects/Tools Software WebUI/` + `300 areas/350 AI/` |
| Pi assets (source of truth) | `~/.agents` → Gitea `sam/pi-config` (per-machine clones) |
| Console portal + services | `.13` Docker (`/home/sam/Docker/Containers/…`) |
| Data | `/mnt/data/…` on .13 |
| Maps | `maps.lab.audasmedia.com.au` (Archify) |
| LLM routing | OmniRoute `.13:20129` |
## Core components
### Pi Dashboard — the console
Every pi session runs the **`dashboard.ts`** extension → writes `~/.pi/agent/dashboard/<session>.json`
(heartbeat, cwd/folder, agent status, model, terminal, attach target). That state is **pulled/collected
on .13** and shown two ways: the **Go TUI** (`pi-dashboard`, Bubble Tea — attach / hunk / tuxedo from
one table) and the **Python portal** Admin view. Notifications via NTFY/Apprise. Tasks flow to
per-project `todo.txt` (shown by Tuxedo). *Full detail:* [[Pi Dashboard]].
### OmniRoute — LLM router
Docker proxy on `.13:20129` (Caddy-exposed). pi registers it as the `omni` provider; default model
`default-opencode-go-ds-flash` is a **combo** that falls back OpenCode-Go → OpenRouter → DeepSeek →
Gemini. 484 models. Extension: `omniroute-pi-ext-integration`; config `~/.pi/agent/models.json`.
### Automation
- **n8n** (.13:5678) — visual workflows, 400+ integrations, webhooks/triggers.
- **Prefect 3** (.13:4200) — code-defined pipelines, scheduling, durability.
- **LangChain** — library embedded in the Python services (portal, dsh, agents); no separate server.
### AI toolkit (pi + extensions)
Global packages: `pi-memctx` (memory), `pi-mcp-adapter` (MCP proxy), `@tintinweb/pi-subagents`
(18 agents, worktrees, scheduling), `@tintinweb/pi-tasks` (dependency-tracked tasks + subagents),
`pi-prompt-template-model`, `omniroute-pi-ext-integration`. Skills: `nixos-workflow`, `system-architect`,
`project-diagramming-mermaid`, `project-diagramming-archify`, `obsidian-cli`, `npm-security`, `openspec-*`,
`ste-writing`, `graphify`. MCP: `codebase-memory`, `code-review-graph`. **Per-folder `.pi/settings.json`**
keeps each project's context minimal (arrays replace, not merge).
### Services on .13 (web-facing Docker host)
n8n · Prefect · OmniRoute · Outline (:3000) · family-home-lab portal (:8500) · dsh chat (:3081–3084) ·
kontra (:8600) · worldmonitor (:3002) · garage S3 · media tools (GIMP/KdenLive/Audacity/LMMS) ·
Jervis voice agent (:8501) · engram memory (:7437, SSH tunnel) · headroom compression (:8787).
### Infrastructure
NixOS on .27/.13/.51 (pi is Nix-managed `pi-coding-agent` 0.82.1) · Ubuntu Docker host .35
(Gitea/Caddy/Pi-hole) · Proxmox .28 · Tailscale mesh.
## Config notes for future maintenance (no secrets)
- **LLM routing:** pi → `omni` provider → OmniRoute on `.13:20129`; default model is the combo
`default-opencode-go-ds-flash`. Secrets only in `.env` / secrets store — never commit.
- **Pi assets:** edit in `~/.agents` → push to Gitea `pi-config` → **pull per machine** (`.27/.13/.51`);
a push does not auto-update the others. Activate per project via `/config-add`.
- **Pi is Nix-managed:** update = nixpkgs flake bump + `nixos-rebuild switch`; close sessions after.
- **Console:** dashboard state is collected on .13; the Go TUI + portal Admin render it.
- **Diagrams:** Mermaid source + Archify HTML live in the Gitea repo `docs/`; publish via
`publish-maps.sh` → maps.lab.
- **Gitea Actions** (roadmap): auto-sync `~/.agents` clones across machines on push to `pi-config`.
## Evaluated & not selected (roadmap / decisions)
| Tool | Decision | Why |
|---|---|---|
| **Paseo** | ⏸ defer (roadmap) | Cross-machine orchestration layer; current dashboard + portal already answer "what's running where" |
| **Pi Web UI** | ⏸ defer | Needs Pi ≥ 0.84 (Nix upgrade); current console suffices for now |
| **Windmill** | ❌ not needed | n8n covers the visual canvas; Prefect covers code pipelines |
| **Gitea Actions** | 🆕 recommended | First win: auto-sync pi-config clones; repo-event CI for deploys |
## Related
- [[Pi Dashboard]] · [[Paseo Pi GUI Tool]] · [[Family Home Lab]]
- `300 areas/350 AI/Pi Agent Extensions & Skills.md` (full extension/skill/MCP inventory)
- `300 areas/360 Dev-Ops Network Computers/Dev-Ops Tooling — Mermaid, Archify, Vikunja & Outline.md`
- [[Home Network Map Overview]] · [[Docker Containers]] · [[Websites on Nixos-Dekstop 13]]
- Gitea: `sam/tools-software-webui` (public, resume showcase) · Outline project `Tools Software WebUI` · Vikunja project `Tools Software WebUI`