From a2f536cf9313d8d23f9b1c222821b845c693a5b8 Mon Sep 17 00:00:00 2001 From: sam Date: Wed, 9 Sep 2026 20:13:40 +1000 Subject: [PATCH] =?UTF-8?q?Tools=20Software=20WebUI=20=E2=80=94=20tool-sys?= =?UTF-8?q?tem=20docs,=20diagrams,=20Archify=20map?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 + README.md | 145 + docs/diagrams/system.png | Bin 0 -> 118515 bytes docs/diagrams/system.svg | 1 + docs/system-map.html | 13725 ++++++++++++++++++++++++++++++++ docs/system.architecture.json | 193 + docs/system.mmd | 43 + 7 files changed, 14110 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 docs/diagrams/system.png create mode 100644 docs/diagrams/system.svg create mode 100644 docs/system-map.html create mode 100644 docs/system.architecture.json create mode 100644 docs/system.mmd diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba181f6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +# documentation repo — nothing sensitive expected +*.local +.env diff --git a/README.md b/README.md new file mode 100644 index 0000000..5e005da --- /dev/null +++ b/README.md @@ -0,0 +1,145 @@ +# Tools Software WebUI + +**One interface layer for the AI tool system: a multi-machine agent console (Pi Dashboard), LLM +routing (OmniRoute), automation (n8n · Prefect · LangChain), and a per-folder pi-agent model — all +self-hosted on a home network.** + +> Developed by Sam · [tools-software-webui](https://gitea.lab.audasmedia.com.au/sam/tools-software-webui "Gitea") · +> interactive map at [maps.lab.audasmedia.com.au](https://maps.lab.audasmedia.com.au) + +--- + +## What it is + +A coherent tool ecosystem for driving **pi** (the AI coding agent) from anywhere: watch what every +agent is doing on every machine, route its LLM traffic through one resilient proxy, automate around +it, and keep each project's context lean with a strict per-folder model. + +Built on four layers that compose cleanly: + +| Layer | Tool | Role | +|---|---|---| +| Console | **Pi Dashboard** (Go TUI + Python portal) | Live view of every pi session on every machine — what's running, where, status | +| LLM routing | **OmniRoute** | One proxy, prioritized "combo" fallback chains (OpenCode-Go → OpenRouter → DeepSeek → Gemini) | +| Automation | **n8n · Prefect 3 · LangChain** | Visual workflows, code pipelines, Python glue | +| AI toolkit | **pi + extensions + MCP** | Sub-agent orchestration, tasks, memory, LSP, dashboards | + +## Architecture + +```mermaid +flowchart LR + subgraph CLIENTS["Clients"] + D27[".27 main dev
NixOS"] + D51[".51 laptop
NixOS"] + M["Mobile
Termux / Tailscale / KDE Connect"] + end + subgraph LAB["Home lab (.lab.audasmedia.com.au)"] + C["Caddy reverse proxy
.35"] + G["Gitea
.35 :3001/:2222"] + P["Pi-hole DNS
.35"] + end + subgraph S13["Web-facing + Docker host (.13)"] + N["n8n :5678"] + PR["Prefect 3 :4200"] + OR["OmniRoute :20129"] + OW["Open WebUI :3000"] + POR["Console portal :8500"] + DSH["dsh chat :3081-84"] + JK["Jervis voice :8501"] + EN["engram .13:7437"] + HH["headroom :8787"] + end + subgraph AGENTS["pi agents (per machine)"] + EXT["dashboard.ts ext"] + SUB["pi-subagents 18 types"] + TS["pi-tasks"] + MCP["MCP servers"] + end + D27 -->|"pi sessions"| AGENTS + D51 -->|"pi sessions"| AGENTS + M -->|"Tailscale / SSH"| D27 + M -->|"NTFY alerts"| AGENTS + AGENTS -->|"state JSON"| EXT + EXT -->|"~/.pi/agent/dashboard"| POR + EXT -->|"notify"| M + AGENTS -->|"LLM (omni provider)"| OR + OR -->|"Caddy"| C + C -->|"gitea.lab"| G + C -->|"n8n/console.lab"| S13 + N -.->|"webhooks / triggers"| AGENTS + PR -.->|"pipelines"| AGENTS + AGENTS -->|"compress"| HH + AGENTS -->|"memory"| EN +``` + +## How it works + +1. **Every pi session reports.** A `dashboard.ts` extension writes heartbeat state to + `~/.pi/agent/dashboard/.json` (cwd/folder, agent status, model, attach target). +2. **State is collected on the server.** The Go TUI (`pi-dashboard`) polls local + remote state over + SSH; the Python console portal renders it in a browser. +3. **Act from one table.** Attach to any session, review its changes with Hunk, open its task board + (Tuxedo) — notifications via NTFY/Apprise. +4. **LLM traffic is proxied.** pi talks to the `omni` provider; OmniRoute applies priority fallback + combos so work continues if one provider fails. +5. **Automation wraps it.** n8n webhooks and Prefect pipelines trigger around the agents. + +## Directory map + +``` +tools-software-webui/ +├── README.md ← this file +└── docs/ + ├── system.mmd ← Mermaid source (single source of truth) + ├── system-map.html ← interactive Archify architecture map + └── diagrams/ + ├── system.png ← rendered diagram (PNG, 2×) + └── system.svg ← rendered diagram (vector) +``` + +## Access + +| Target | Route | +|---|---| +| Console (agent table) | Go TUI on `.27`/`.13` · web: Admin → Pi Dashboard (portal :8500 via Caddy) | +| n8n | `n8n.home.lab` (LAN + auth) or Tailscale direct | +| Prefect | CLI/API from dev machines → `http://:4200` | +| OmniRoute (OpenAI-compatible) | `http://192.168.20.13:20129/v1` · `https://omniroute.lab.audasmedia.com.au/v1` | +| Open WebUI | `http://192.168.20.13:3000` | +| Gitea | `gitea.lab.audasmedia.com.au` (:3001 web / :2222 ssh) | +| Mobile | Tailscale app · Termux (SSH) · KDE Connect · NTFY alerts | + +## Technology stack + +- **pi** — Nix-managed coding agent (uniform v0.82.1 on `.27/.13/.51`); global packages: + `pi-memctx`, `pi-mcp-adapter`, `@tintinweb/pi-subagents` (18 agents), `@tintinweb/pi-tasks`, + `omniroute-pi-ext-integration`; MCP servers (`codebase-memory`, `code-review-graph`). +- **Pi Dashboard** — Go + Bubble Tea TUI, `dashboard.ts` extension, Tuxedo (todo.txt), Hunk (diff), + NTFY/Apprise notifications. +- **OmniRoute** — Docker LLM proxy on `.13` with combo routing (484 models). +- **Automation** — n8n (visual), Prefect 3 (code pipelines), LangChain (Python library). +- **Services** — Outline (docs), Vikunja (tasks), Gitea (git + asset source `pi-config`), + Caddy (reverse proxy), Pi-hole (DNS), Tailscale (mesh VPN). +- **Infra** — NixOS `.27/.13/.51`, Ubuntu Docker host `.35`, Proxmox `.28`. + +## Why it matters + +- **One console, every machine.** Attach to, review, and task-track any pi agent from any device — + no separate dashboards per host. +- **Resilient LLM access.** Combo routing means provider outages degrade gracefully, not stop work. +- **Lean by design.** Per-folder `.pi/settings.json` (arrays replace, not merge) keeps each + project's agent context minimal; Nix manages the pi binary uniformly. +- **Agent coordination built in.** 18 sub-agent types, worktrees, scheduling, dependency-tracked + tasks — a base that scales to multi-agent project work. + +## Related projects + +- [pi-dashboard](https://gitea.lab.audasmedia.com.au/sam/pi-dashboard) — the Go console viewer +- [family_home_lab](https://gitea.lab.audasmedia.com.au/sam/family_home_lab) — the family console + the portal is part of +- Docs: Obsidian `200 projects/Tools Software WebUI/` · Outline project `Tools Software WebUI` · + Vikunja project `Tools Software WebUI` + +--- + +*Documentation-only project — no proprietary code included. Secrets never appear in this repo.* \ No newline at end of file diff --git a/docs/diagrams/system.png b/docs/diagrams/system.png new file mode 100644 index 0000000000000000000000000000000000000000..8b452791475b1609efbb55e50aafe5aa1c52e663 GIT binary patch literal 118515 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 z

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

pi agents (per machine)

Web-facing + Docker host (.13)

Home lab (.lab.audasmedia.com.au)

Clients

Tailscale / SSH

~/.pi/agent/dashboard

notify

Caddy

gitea.lab

pi sessions

pi sessions

NTFY alerts

state JSON

LLM (omni provider)

n8n/console.lab

webhooks / triggers

pipelines

compress

memory

.27 main dev
NixOS

.51 laptop
NixOS

Mobile
Termux / Tailscale / KDE Connect

Caddy reverse proxy
.35

Gitea
.35 :3001/:2222

Pi-hole DNS
.35

n8n :5678

Prefect 3 :4200

OmniRoute :20129

Open WebUI :3000

Console portal :8500

dsh chat :3081-84

Jervis voice :8501

engram .13:7437

headroom :8787

dashboard.ts ext

pi-subagents 18 types

pi-tasks

MCP servers

\ No newline at end of file diff --git a/docs/system-map.html b/docs/system-map.html new file mode 100644 index 0000000..7cd1aca --- /dev/null +++ b/docs/system-map.html @@ -0,0 +1,13725 @@ + + + + + + + Tools Software WebUI Diagram + + + + + + + + + + + +
+ +
+
+
+

Tools Software WebUI

+
+
+ + + + + + +
+ + Tools Software WebUI + A architecture diagram generated by Archify. + + + + + + + + + + + + + + + + + + + + + + + + + console & telemetry + + + web-facing host (.13) + + + home lab (.35) + + + + + + + + + + + + + pi agents · per machine (.27/.13/.51) · Architecture component + + + + pi agents + per machine (.27/.13/.51) + + + + dashboard.ts · extension · console & telemetry + + + + dashboard.ts + extension + + + + state JSON · ~/.pi/agent/dashboard · console & telemetry + + + + state JSON + ~/.pi/agent/dashboard + + + + pi-dashboard · Go TUI · console & telemetry + + + + pi-dashboard + Go TUI + + + + console portal · Python :8500 · console & telemetry + + + + console portal + Python :8500 + + + + OmniRoute · LLM :20129 · web-facing host (.13) + + + + OmniRoute + LLM :20129 + + + + n8n · :5678 · web-facing host (.13) + + + + n8n + :5678 + + + + Prefect 3 · :4200 · web-facing host (.13) + + + + Prefect 3 + :4200 + + + + headroom · compress :8787 · web-facing host (.13) + + + + headroom + compress :8787 + + + + Caddy · reverse proxy .35 · home lab (.35) + + + + Caddy + reverse proxy .35 + + + + Gitea · :3001/:2222 · home lab (.35) + + + + Gitea + :3001/:2222 + + + + Mobile · Termux / KDE Connect · Architecture component + + + + Mobile + Termux / KDE Connect + + + + + + runs every session + + + + writes JSON + + + + ssh pull / read + + + + collected on .13 + + + + LLM (omni provider) + + + + combo routing + + + + gitea.lab + + + + + Legend + + + Frontend + + + + Backend + + + + Database + + + + External + + + +

+ + + + + + + + +
+ + +
+
+
+
+

Core loop

+
+
    +
  • • Every pi session runs dashboard.ts → heartbeat JSON per machine
  • +
  • • Collected on .13; rendered by Go TUI and Python portal
  • +
  • • LLM traffic proxied through OmniRoute with priority fallback combos
  • +
  • • Headroom compresses heavy contexts; NTFY alerts mobile on completion
  • +
  • • n8n webhooks / Prefect pipelines can trigger around the agents
  • +
+
+ +
+
+
+

Access routes

+
+
    +
  • • Console: pi-dashboard TUI on .27/.13 · portal Admin via console.lab
  • +
  • • n8n :5678 · Prefect :4200 · Open WebUI :3000 on .13
  • +
  • • Phone: Tailscale + Termux SSH + KDE Connect + NTFY
  • +
+
+ +
+
+
+

Decisions

+
+
    +
  • • Windmill not needed — n8n (canvas) + Prefect (pipelines) cover it
  • +
  • • Paseo / Pi Web UI deferred to roadmap — current console suffices
  • +
  • • Gitea Actions recommended: auto-sync ~/.agents clones on push
  • +
+
+
+ +
+ + + + diff --git a/docs/system.architecture.json b/docs/system.architecture.json new file mode 100644 index 0000000..87f99e9 --- /dev/null +++ b/docs/system.architecture.json @@ -0,0 +1,193 @@ +{ + "schema_version": 1, + "diagram_type": "architecture", + "meta": { + "title": "Tools Software WebUI", + "quality_profile": "showcase", + "viewBox": [1120, 620] + }, + "components": [ + { + "id": "agents", + "type": "backend", + "label": "pi agents", + "sublabel": "per machine (.27/.13/.51)", + "pos": [120, 160] + }, + { + "id": "ext", + "type": "backend", + "label": "dashboard.ts", + "sublabel": "extension", + "pos": [330, 160] + }, + { + "id": "smc", + "type": "database", + "label": "state JSON", + "sublabel": "~/.pi/agent/dashboard", + "pos": [520, 160] + }, + { + "id": "tui", + "type": "frontend", + "label": "pi-dashboard", + "sublabel": "Go TUI", + "pos": [710, 100] + }, + { + "id": "portal", + "type": "frontend", + "label": "console portal", + "sublabel": "Python :8500", + "pos": [710, 260] + }, + { + "id": "omni", + "type": "backend", + "label": "OmniRoute", + "sublabel": "LLM :20129", + "pos": [330, 370] + }, + { + "id": "n8n", + "type": "backend", + "label": "n8n", + "sublabel": ":5678", + "pos": [140, 470] + }, + { + "id": "prefect", + "type": "backend", + "label": "Prefect 3", + "sublabel": ":4200", + "pos": [350, 470] + }, + { + "id": "headroom", + "type": "backend", + "label": "headroom", + "sublabel": "compress :8787", + "pos": [140, 370] + }, + { + "id": "caddy", + "type": "external", + "label": "Caddy", + "sublabel": "reverse proxy .35", + "pos": [920, 300] + }, + { + "id": "gitea", + "type": "external", + "label": "Gitea", + "sublabel": ":3001/:2222", + "pos": [920, 120] + }, + { + "id": "phone", + "type": "external", + "label": "Mobile", + "sublabel": "Termux / KDE Connect", + "pos": [920, 480] + } + ], + "boundaries": [ + { + "kind": "region", + "label": "console & telemetry", + "wraps": ["ext", "smc", "tui", "portal"] + }, + { + "kind": "region", + "label": "web-facing host (.13)", + "wraps": ["omni", "n8n", "prefect", "headroom"] + }, + { + "kind": "region", + "label": "home lab (.35)", + "wraps": ["caddy", "gitea"] + } + ], + "connections": [ + { + "id": "agents-to-ext", + "from": "agents", + "to": "ext", + "label": "runs every session", + "labelAt": [285, 150] + }, + { + "id": "ext-to-smc", + "from": "ext", + "to": "smc", + "label": "writes JSON" + }, + { + "id": "smc-to-tui", + "from": "smc", + "to": "tui", + "label": "ssh pull / read", + "labelAt": [665, 90] + }, + { + "id": "smc-to-portal", + "from": "smc", + "to": "portal", + "label": "collected on .13", + "fromSide": "bottom", + "toSide": "top" + }, + { + "id": "agents-to-omni", + "from": "agents", + "to": "omni", + "label": "LLM (omni provider)", + "fromSide": "bottom", + "toSide": "top" + }, + { + "id": "omni-to-caddy", + "from": "omni", + "to": "caddy", + "label": "combo routing" + }, + { + "id": "caddy-to-gitea", + "from": "caddy", + "to": "gitea", + "label": "gitea.lab" + } + ], + "cards": [ + { + "dot": "cyan", + "title": "Core loop", + "items": [ + "Every pi session runs dashboard.ts → heartbeat JSON per machine", + "Collected on .13; rendered by Go TUI and Python portal", + "LLM traffic proxied through OmniRoute with priority fallback combos", + "Headroom compresses heavy contexts; NTFY alerts mobile on completion", + "n8n webhooks / Prefect pipelines can trigger around the agents" + ] + }, + { + "dot": "emerald", + "title": "Access routes", + "items": [ + "Console: pi-dashboard TUI on .27/.13 · portal Admin via console.lab", + "n8n :5678 · Prefect :4200 · Open WebUI :3000 on .13", + "Phone: Tailscale + Termux SSH + KDE Connect + NTFY" + ] + }, + { + "dot": "amber", + "title": "Decisions", + "items": [ + "Windmill not needed — n8n (canvas) + Prefect (pipelines) cover it", + "Paseo / Pi Web UI deferred to roadmap — current console suffices", + "Gitea Actions recommended: auto-sync ~/.agents clones on push" + ] + } + ] +} \ No newline at end of file diff --git a/docs/system.mmd b/docs/system.mmd new file mode 100644 index 0000000..16911e9 --- /dev/null +++ b/docs/system.mmd @@ -0,0 +1,43 @@ +flowchart LR + subgraph CLIENTS["Clients"] + D27[".27 main dev
NixOS"] + D51[".51 laptop
NixOS"] + M["Mobile
Termux / Tailscale / KDE Connect"] + end + subgraph LAB["Home lab (.lab.audasmedia.com.au)"] + C["Caddy reverse proxy
.35"] + G["Gitea
.35 :3001/:2222"] + P["Pi-hole DNS
.35"] + end + subgraph S13["Web-facing + Docker host (.13)"] + N["n8n :5678"] + PR["Prefect 3 :4200"] + OR["OmniRoute :20129"] + OW["Open WebUI :3000"] + POR["Console portal :8500"] + DSH["dsh chat :3081-84"] + JK["Jervis voice :8501"] + EN["engram .13:7437"] + HH["headroom :8787"] + end + subgraph AGENTS["pi agents (per machine)"] + EXT["dashboard.ts ext"] + SUB["pi-subagents 18 types"] + TS["pi-tasks"] + MCP["MCP servers"] + end + D27 -->|"pi sessions"| AGENTS + D51 -->|"pi sessions"| AGENTS + M -->|"Tailscale / SSH"| D27 + M -->|"NTFY alerts"| AGENTS + AGENTS -->|"state JSON"| EXT + EXT -->|"~/.pi/agent/dashboard"| POR + EXT -->|"notify"| M + AGENTS -->|"LLM (omni provider)"| OR + OR -->|"Caddy"| C + C -->|"gitea.lab"| G + C -->|"n8n/console.lab"| S13 + N -.->|"webhooks / triggers"| AGENTS + PR -.->|"pipelines"| AGENTS + AGENTS -->|"compress"| HH + AGENTS -->|"memory"| EN \ No newline at end of file