sam-4screen-desktop 2026-8-5:10:29:15
This commit is contained in:
12
.obsidian/workspace.json
vendored
12
.obsidian/workspace.json
vendored
@@ -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",
|
||||||
|
|||||||
@@ -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.74–0.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.
|
||||||
|
|||||||
@@ -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) |
|
||||||
|
|||||||
Reference in New Issue
Block a user