sam-4screen-desktop 2026-8-5:10:29:15

This commit is contained in:
2026-08-05 10:29:15 +10:00
parent fa589b51bd
commit 4a138ea751
3 changed files with 58 additions and 12 deletions

View File

@@ -13,12 +13,12 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "300 areas/350 AI/Pi Agent Extensions & Skills.md", "file": "300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md",
"mode": "preview", "mode": "preview",
"source": true "source": true
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "Pi Agent Extensions & Skills" "title": "Home Network Map Overview"
} }
} }
] ]
@@ -181,10 +181,10 @@
"state": { "state": {
"type": "file-properties", "type": "file-properties",
"state": { "state": {
"file": "300 areas/350 AI/Pi Agent Extensions & Skills.md" "file": "300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md"
}, },
"icon": "lucide-info", "icon": "lucide-info",
"title": "File properties for Pi Agent Extensions & Skills" "title": "File properties for Home Network Map Overview"
} }
} }
], ],
@@ -207,12 +207,12 @@
"templater-obsidian:Templater": false "templater-obsidian:Templater": false
} }
}, },
"active": "29ff3dd1c6bfd474", "active": "7066c9273c6fb936",
"lastOpenFiles": [ "lastOpenFiles": [
"300 areas/350 AI/Pi Agent Extensions & Skills.md",
"300 areas/350 AI/Ai memory management.md", "300 areas/350 AI/Ai memory management.md",
"300 areas/350 AI/Ai planning flow control tools.md", "300 areas/350 AI/Ai planning flow control tools.md",
"300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md", "300 areas/360 Dev-Ops Network Computers/Home Network Map Overview.md",
"300 areas/350 AI/Pi Agent Extensions & Skills.md",
"300 areas/360 Dev-Ops Network Computers/Local Wep Apps.md", "300 areas/360 Dev-Ops Network Computers/Local Wep Apps.md",
"300 areas/350 AI/AI Tools to try.md", "300 areas/350 AI/AI Tools to try.md",
"300 areas/360 Dev-Ops Network Computers/Pi Neovim Coding Harness.md", "300 areas/360 Dev-Ops Network Computers/Pi Neovim Coding Harness.md",

View File

@@ -46,7 +46,7 @@ OmniRoute is the central LLM routing proxy running on .13 (port 20128/20129). Al
| Sync | `/omni sync` (re-fetch model list) | | Sync | `/omni sync` (re-fetch model list) |
| Access (local) | `http://192.168.20.13:20129/v1` | | Access (local) | `http://192.168.20.13:20129/v1` |
| Access (via Caddy) | `https://omniroute.lab.audasmedia.com.au/v1` | | Access (via Caddy) | `https://omniroute.lab.audasmedia.com.au/v1` |
| API key | `sk-fff5c0d55c0bc0bf-b58ed0-76da5716` (stored in `~/.config/environment.d/10-secrets.conf` on .27/.51, hardcoded in settings.json on .13) | | API key | `sk-fff5c0d55c0bc0bf-b58ed0-76da5716` (stored in `~/.config/environment.d/10-secrets.conf` on .27/.51; on .13 in `~/.pi/agent/settings.json``chmod 600`, outside any git repo). ⚠️ This key is also written in this doc — rotate/move to a vault secret if this file ever syncs outside the vault |
--- ---
@@ -81,11 +81,13 @@ pi → omni provider → POST /v1/chat/completions { model: "default-opencode-go
### Per-machine setup state ### Per-machine setup state
| Machine | Package installed | Provider config | `/omni setup` done | Models synced | pi is **Nix-managed on all three** — the nixpkgs **`pi-coding-agent`** package (v0.82.1) in `home.packages` (npx wrapper removed 2026-08-05). Version uniform on all machines (matches all three flake locks). Updates = nixpkgs flake bump + rebuild. Global settings also include **pi-tool-display** (see below).
|---------|-----------------|-----------------|-------------------|--------------|
| .27 | ✅ In home.nix | `omni` | ✅ | ✅ | | Machine | pi package | pi version | Provider config | `/omni setup` done | Models synced |
| .13 | ✅ pi install | ✅ `omni` | ✅ | ✅ | |---------|-----------|-----------|-----------------|-------------------|--------------|
| .51 | ✅ pi install | ✅ `omni` | ✅ | ✅ | | .27 | `pi-coding-agent` (home.nix) | 0.82.1 | ✅ `omni` | ✅ | ✅ |
| .13 | `pi-coding-agent` (home.nix) | 0.82.1 | ✅ `omni` | ✅ | ✅ |
| .51 | `pi-coding-agent` (home.nix) | 0.82.1 | ✅ `omni` | ✅ | ✅ |
--- ---
@@ -110,8 +112,35 @@ pi → omni provider → POST /v1/chat/completions { model: "default-opencode-go
| **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-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-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-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-tool-display
OpenCode-style tool rendering for pi (vendored from npm `pi-tool-display@0.5.0`, by MasuRii, commit `41cc33d`).
| Aspect | Detail |
|---|---|
| **What it does** | Compact built-in tool rendering (read/grep/find/ls/bash/edit/write), adaptive split/unified edit diffs, workspace-scoped pending edit/write previews while streaming, thinking labels, optional native user message box |
| **Placement** | **Global** — registers 0 tools (pure TUI renderer), so no token cost. Added to the Gitea package `extensions` list in home.nix global settings (`extensions/pi-tool-display/index.ts`) on all three machines |
| **Presets** | `/tool-display` → opencode / balanced / verbose |
| **Token note** | Compacts/truncates tool output = saves context. Does NOT remove blocks from the transcript (that's `pi-foldable-tools`, deliberately skipped — overlapping renderer, no persistent token gain) |
| **Compat** | peer range `^0.740.80` — verified working on pi 0.82.1 |
### pi-lsp-extension
LSP integration for pi (vendored from npm `pi-lsp-extension@1.3.0`, by samfoy, commit `41cc33d`).
| Aspect | Detail |
|---|---|
| **Tools (11)** | `lsp_diagnostics`, `lsp_hover`, `lsp_definition`, `lsp_references`, `lsp_symbols`, `lsp_rename`, `lsp_completions`, `lsp_code_actions`, `code_overview`, `ast_search`, `code_rewrite` |
| **Commands** | `/lsp` (server status), `/lsp-config <lang> <cmd> [args]`, `/lsp-restart <lang>`, `/lsp-lombok` |
| **Placement** | **Per-project** via `/config-add ext pi-lsp-extension` (10+ tool defs — token-lean). Same on all machines |
| **Language servers** | Installed via home.nix: `vtsls` (TS/JS/React — use `/lsp-config typescript vtsls stdio`), `pyright` (Python), `gopls` (Go), `clang-tools` (C/C++/Arduino), `yaml-language-server`, `bash-language-server`, `vscode-langservers-extracted` (JSON/HTML/CSS), `lua-language-server`, `emmet-ls`, `intelephense` (PHP — paid; free alt `phpactor`), `nixd` (Nix), `marksman` (Markdown), `lemminx` (XML). Rust later → `rust-analyzer` |
| **Auto-diagnostics** | After `edit`/`write`, appends compile errors for the changed file when a server is running (configurable via `.pi-lsp.json` in workspace root) |
| **⚠️ Vendoring pitfall** | The published package imports `vscode-languageserver-protocol/node.js` — the `.js` subpath was dropped from v3.18's `exports` map, which crashes the whole extension at load (no commands appear). Fixed in our vendor (commit `57c5cd2`): import `/node` instead. **Re-apply if re-vendoring from npm** |
### pi-subagents (@tintinweb) ### pi-subagents (@tintinweb)
v0.10.2, installed globally. 18 custom agent types in `~/.pi/agent/agents/``~/.agents/agents/`. Tools: `Agent()`, `get_subagent_result()`, `steer_subagent()`. `/agents` command for interactive management. Features: background agents with concurrency (4 default), mid-run steering, session resume, worktree isolation, scheduling, persistent widget showing live agent status. Cross-extension RPC event bus. Patched: 24h agent survival (was 10min), clearDisabled on session start. See [[Pi Subagent]] for full documentation. v0.10.2, installed globally. 18 custom agent types in `~/.pi/agent/agents/``~/.agents/agents/`. Tools: `Agent()`, `get_subagent_result()`, `steer_subagent()`. `/agents` command for interactive management. Features: background agents with concurrency (4 default), mid-run steering, session resume, worktree isolation, scheduling, persistent widget showing live agent status. Cross-extension RPC event bus. Patched: 24h agent survival (was 10min), clearDisabled on session start. See [[Pi Subagent]] for full documentation.

View File

@@ -113,6 +113,7 @@ See [[Docker Containers]] for full container list.
| **SSH** | ✅ `sam@192.168.20.35` | | **SSH** | ✅ `sam@192.168.20.35` |
| **Tailscale** | Not installed | | **Tailscale** | Not installed |
| **Role** | Caddy reverse proxy. Runs ~50 Docker containers (apps, dashboards, media, monitoring). | | **Role** | Caddy reverse proxy. Runs ~50 Docker containers (apps, dashboards, media, monitoring). |
| **Gitea** | Git hosting: `gitea-server-1` + `gitea-db-1` (Docker). Web: `.35:3001` ("Gitea: Audas Media"), SSH: `.35:2222`. Key repo: `sam/pi-config` (pi agent assets — every machine clones it) |
**Proxied domains:** **Proxied domains:**
| Domain | Proxied to | | Domain | Proxied to |
@@ -121,6 +122,8 @@ See [[Docker Containers]] for full container list.
| `omniroute.home.lab` | `.13:20129` | | `omniroute.home.lab` | `.13:20129` |
| `worldmonitor.lab.audasmedia.com.au` | `.13:3002` | | `worldmonitor.lab.audasmedia.com.au` | `.13:3002` |
| `worldmonitor.home.lab` | `.13:3002` | | `worldmonitor.home.lab` | `.13:3002` |
| `gitea.lab.audasmedia.com.au` | `.35:3001` (web) / `.35:2222` (SSH) |
| `gitea.home.lab` | `.35:3001` |
See [[Docker Containers]] for full container list on .35. See [[Docker Containers]] for full container list on .35.
@@ -136,6 +139,16 @@ See [[Docker Containers]] for full container list on .35.
--- ---
## Web Deploy Sync (.27 → .13)
Web sites sync via **manual lsyncd** on .27 → rsync+ssh to .13 `/var/www/`:
- Config: `/home/sam/.config/lsyncd/lsyncd.conf.lua`
- Sites: `sprinklers`, `sam-developer`, `sam-devops` (+ any added in config)
- New folder on .13: `sudo chown -R sam:users /var/www/<folder>` (NixOS `users` group)
- Secrets env: `~/.config/environment.d/10-secrets.conf` (git-safe on NixOS)
---
## SSH Access Matrix ## SSH Access Matrix
| From ↓ / To → | .27 desktop | .13 server | .51 laptop | .35 caddy | .150 phone | | From ↓ / To → | .27 desktop | .13 server | .51 laptop | .35 caddy | .150 phone |
@@ -175,6 +188,8 @@ Host phone
| `254` | Secondary Router admin | Router (192.168.20.1) | | `254` | Secondary Router admin | Router (192.168.20.1) |
| `3000` | Open WebUI | .13 | | `3000` | Open WebUI | .13 |
| `3001` | Langfuse | .13 | | `3001` | Langfuse | .13 |
| `2222` | Gitea SSH (git remotes) | .35 |
| `3001` | Gitea web UI | .35 |
| `3090` | Archon | .27 | | `3090` | Archon | .27 |
| `8001` | Supabase Kong | .27 | | `8001` | Supabase Kong | .27 |
| `8001` | ai-resume-backend | .13 | | `8001` | ai-resume-backend | .13 |
@@ -285,3 +300,5 @@ Account: `samuelrolfe@gmail.com`
| `omniroute.lab.audasmedia.com.au` | `.35``.13:20129` | ✅ Caddy proxied | | `omniroute.lab.audasmedia.com.au` | `.35``.13:20129` | ✅ Caddy proxied |
| `worldmonitor.home.lab` | `.13:3002` | ❌ Needs Pi-hole record | | `worldmonitor.home.lab` | `.13:3002` | ❌ Needs Pi-hole record |
| `worldmonitor.lab.audasmedia.com.au` | `.35``.13:3002` | ❌ Needs DNS + Caddy done | | `worldmonitor.lab.audasmedia.com.au` | `.35``.13:3002` | ❌ Needs DNS + Caddy done |
| `gitea.home.lab` | `.35:3001` | ✅ Pi-hole → .35 |
| `gitea.lab.audasmedia.com.au` | public `144.6.86.11` → router → `.35` (web `.35:3001`, SSH `.35:2222`) | ✅ External DNS (used by git remotes) |