From 40d323d720b20dd088f876c72479dfad03ffc2b4 Mon Sep 17 00:00:00 2001 From: Sam Rolfe Date: Fri, 11 Sep 2026 10:09:08 +1000 Subject: [PATCH] sam-4screen-desktop 2026-9-11:10:9:8 --- .../Tools Software WebUI/Paseo Pi GUI Tool.md | 109 +++++++++++++++++- 1 file changed, 107 insertions(+), 2 deletions(-) diff --git a/200 projects/Tools Software WebUI/Paseo Pi GUI Tool.md b/200 projects/Tools Software WebUI/Paseo Pi GUI Tool.md index d484f00..188fa1e 100644 --- a/200 projects/Tools Software WebUI/Paseo Pi GUI Tool.md +++ b/200 projects/Tools Software WebUI/Paseo Pi GUI Tool.md @@ -92,12 +92,117 @@ Web UI: `http://192.168.20.13:6767` (password) · mobile: browser over LAN/Tails `@earendil-works/pi-coding-agent@0.82.1` + `omniroute-pi-ext-integration`, drops to `USER paseo`. Reason: base image runs as `paseo` (uid 1000); `/usr/local` is root-owned → npm -g must run at build time. - **LLM**: container pi → `omni` provider → `http://192.168.20.13:20129/v1` (OmniRoute, LAN IP reachable - from the bridge net; `host.docker.internal` also mapped). Default model set to a working leg: - `openrouter/qwen/qwen3.7-flash`. + from the bridge net; `host.docker.internal` also mapped). Default model set to the fixed combo: + `default-opencode-go-ds-flash` (OpenRouter → DeepSeek → OpenCode-Go). - **Secrets** live only in `.env` (600) — `PASEO_PASSWORD`, `OMNIROUTE_API_KEY`; never in docs/repos. + Also mirrored into `~/.config/environment.d/10-secrets.conf` on .27 (and .51 later) as `PASEO_HOST` + `PASEO_PASSWORD` for zero-config CLI. - **Access** is LAN/Tailscale-only; password auth enforced. No public Caddy subdomain yet. - **Restart/rebuild**: `cd /home/sam/Docker/Containers/paseo && docker compose up -d --build`. +--- + +## BEGINNER'S GUIDE — how to use Paseo + +### The big idea + +Paseo is a **control room** for AI coding assistants (pi). You start pi working on a task, watch it, +check back later from any device, and see everything that's running in one place. The heavy lifting +runs on the always-on server **.13**, so you don't need your desktop powered on. + +**Key mental model:** every agent you start through Paseo runs on **.13** (in the container). Your +laptop, desktop, and phone are all *clients* that connect to the same daemon and see the same view. +So there's no "what's running on .27 vs .51" — there's one shared view: what the .13 daemon is running. + +> Two consoles, don't confuse them: +> - **Paseo** — agents you start *through* it (run on .13 container). `paseo ls` / web UI. +> - **Pi Dashboard** (Go TUI) — pi sessions you open *directly* on each machine in a terminal. +> Different thing: that's your existing per-machine console. + +### The 3 commands (start / look / watch) + +```bash +# 1. START — give pi a task (runs in background by default, prints an agent ID) +paseo run --provider pi "Add a README to this project and summarize what it does" + +# 2. LOOK — what's running / who's idle: status + which folder (CWD) +paseo ls +# idle = finished · running = working now · CWD = the folder it's working in + +# 3. WATCH — tune in live to a running agent (Ctrl+C detaches; the agent keeps going) +paseo attach + +# BONUS — read the full history of what an agent did +paseo logs +``` + +### A typical workflow + +A "workflow" here just means *a task you hand pi + how you follow it through*: + +```bash +paseo run --provider pi "Review this code and tell me if there are bugs" # start +paseo ls # check +paseo attach # watch (optional) +paseo logs # review when idle +``` + +Run several at once — 3 agents on 3 tasks, one `paseo ls` shows them all, attach to any. That's the +"multi-agent coordination": several pi assistants in parallel, one control room. + +### No-typing option: the web UI + +Browser → **http://192.168.20.13:6767** (from phone: **http://100.114.62.46:6767** — .13's Tailscale +IP). Password = `PASEO_PASSWORD` in `.13`'s `.env`. Point-and-click dashboard: start, watch, see +all agents. + +### Passwords — what to do + +- One password protects the web UI + CLI: `PASEO_PASSWORD` in `.13` `/home/sam/Docker/Containers/paseo/.env`. +- Mirrored to `~/.config/environment.d/10-secrets.conf` on .27 (and .51) so the CLI just works after login. +- **Rule:** never paste into chat, git-committed files, or public docs. It's a secret. +- You don't type it day-to-day — it's wired up. Just don't share it or put it in code. + +### Installing the client on a new machine (.51 pattern) + +```bash +# 1. install the Paseo CLI (NOT pi — pi stays Nix-managed) +npm install -g @getpaseo/cli@0.7.2 + +# 2. add connection info to the machine's secrets file +# (get the password from .13's .env, never commit it) +echo "PASEO_HOST=192.168.20.13:6767" >> ~/.config/environment.d/10-secrets.conf +echo "PASEO_PASSWORD=" >> ~/.config/environment.d/10-secrets.conf + +# 3. log out/in (environment.d loads at login), then test +paseo ls +``` + +Requirements: the machine must be on **Tailscale** or the home LAN to reach .13. .51's pi is 0.80.10 +(Nix) vs .13-container pi 0.82.1 — doesn't affect Paseo (agents use the container pi). + +### How pi is running / where + +- **Paseo's pi** — baked into the .13 container (0.82.1). What `paseo run --provider pi` uses. You +do not install/update it; it's part of the image. +- **Your normal pi** on each machine (.27/.13/.51) — Nix-managed, used in a terminal. Untouched. + +### Skills & extensions (IMPORTANT) + +- Paseo's container pi starts with a **minimal config** (~/.pi in the paseo-home volume): providers + + omni extension only. +- It does **NOT** automatically get your `~/.agents` skills/extensions (nixos-workflow, + system-architect, obsidian-cli, tavily-search, etc.) from Gitea `pi-config`. +- To give Paseo agents those, we add them to the container (bake into image or mount `~/.agents`). + **Follow-up task — not done yet.** Until then: Paseo agents handle general coding tasks with the + base config; for your specialized skills, use your normal terminal pi. + +### Mobile + +- Web UI in any phone browser (Tailscale): **http://100.114.62.46:6767**. Simplest, no install. +- Native ios/android app exists (pairing + E2EE relay) — not needed to start. + +--- + ## Verified end-to-end (2026-09-09) `paseo run --provider pi --model omni/openrouter/qwen/qwen3.7-flash --cwd /workspace/demo --title paseo-demo`