sam-4screen-desktop 2026-9-6:16:54:8
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
created: 2026-05-16
|
||||
modified: 2026-08-03
|
||||
modified: 2026-09-06
|
||||
type: note
|
||||
tags:
|
||||
- ai
|
||||
@@ -60,7 +60,7 @@ Open WebUI v0.11.0 runs on .13 as a native NixOS process (not Docker), managed v
|
||||
| **Package** | `open-webui-0.11.0` (NixOS nixpkgs) |
|
||||
| **How to connect OmniRoute** | Admin Panel ⚙️ → Settings → Connections → OpenAI API → URL: `http://192.168.20.13:20129/v1` (include `/v1`), Key: OmniRoute API key |
|
||||
| **Also works with** | Any OpenAI-compatible API (TokenRouter, OpenRouter, DeepSeek) — add each as a separate connection |
|
||||
| **Port note** | :3000 is taken by Open WebUI. Langfuse was bumped to :3001. |
|
||||
| **Port note** | :3000 is Open WebUI's port. |
|
||||
|
||||
---
|
||||
|
||||
@@ -112,7 +112,6 @@ pi is **Nix-managed on all three** — the nixpkgs **`pi-coding-agent`** package
|
||||
| **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 |
|
||||
| **pi-mermaid** | `~/.agents` (vendored from npm 0.3.0, commit `8e68df0`) | Renders ` ```mermaid ` blocks as ASCII in the TUI (beautiful-mermaid) + Mermaid parser syntax warnings/errors. `/pi-mermaid` re-renders last assistant message. Per project: `/config-add ext pi-mermaid` |
|
||||
| **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` |
|
||||
|
||||
@@ -424,46 +423,6 @@ ssh 192.168.20.13 "cd /home/sam/Docker/Containers/headroom && docker compose pul
|
||||
| `/home/sam/Docker/Containers/headroom/.env` | Environment file (on .13) |
|
||||
|
||||
|
||||
## pi-langfuse — LLM Observability for Pi
|
||||
|
||||
Sends pi's LLM traffic to Langfuse (self-hosted on .13:3001) for tracing, token usage, and cost-per-session. One trace per user prompt, grouped by pi session.
|
||||
|
||||
| Aspect | Detail |
|
||||
|--------|--------|
|
||||
| **What it is** | pi extension (npm package `pi-langfuse` v1.5.8, by gooyoung) that captures pi runs — agent steps, LLM generations, tool calls, final output, usage, cost — into Langfuse |
|
||||
| **Where it runs** | Per-project — vendored at `~/.agents/extensions/pi-langfuse/`, activated with `/config-add ext pi-langfuse` then `/reload`. Keys read globally from `~/.pi/agent/pi-langfuse/config.json` |
|
||||
| **Config file** | `~/.pi/agent/pi-langfuse/config.json` (mode 600): `{ "publicKey": "pk-lf-…", "secretKey": "sk-lf-…", "host": "http://192.168.20.13:3001" }` |
|
||||
| **Env var fallback** | `LANGFUSE_PUBLIC_KEY`, `LANGFUSE_SECRET_KEY`, `LANGFUSE_BASE_URL` (used only when config.json is missing/incomplete) |
|
||||
| **Commands** | `/langfuse-setup` (interactive key entry), `/langfuse-status` (show config state, masked keys, capture policy) |
|
||||
| **Requirements** | Node ≥ 22 (machines run 24); peer dep `@earendil-works/pi-coding-agent: *` |
|
||||
| **What you get** | Root `agent`, per-request `generation`, and per-tool `tool` observations; token usage + cost; privacy controls (input/output/tool redaction, path hashing, secret redaction) |
|
||||
| **Dashboard** | `http://192.168.20.13:3001` |
|
||||
|
||||
### Install (per project)
|
||||
|
||||
Run inside the target project folder (uses the standard `~/.agents` workflow — see the nixos-workflow skill):
|
||||
|
||||
```text
|
||||
/config-add ext pi-langfuse
|
||||
/reload
|
||||
```
|
||||
|
||||
pi installs the extension's npm dependencies automatically (deps are gitignored in `~/.agents`).
|
||||
|
||||
### Global install (all projects / machines)
|
||||
|
||||
The global `~/.pi/agent/settings.json` is a Nix-store symlink (read-only). To enable everywhere, add `npm:pi-langfuse` to the `packages` list in `/etc/nixos/home/sam/home.nix` and rebuild Home Manager.
|
||||
|
||||
### Why not the OmniRoute langfuse plugin?
|
||||
|
||||
OmniRoute's example langfuse plugin is **broken against the 3.8.48 runtime** (verified in source, 2026-08-03):
|
||||
- Plugin config is stored in SQLite but **never delivered to hook payloads** — `PluginContext` has no `config` field
|
||||
- `onRequest` metadata is **not threaded** to `onResponse` (each hook gets a fresh `metadata: {}`)
|
||||
- **Streaming requests** (what pi uses) receive `response: { status: 200, streamed: true }` — no response body to trace
|
||||
|
||||
pi-langfuse traces at the pi layer instead, which works for streaming and gives per-session grouping. The plugin files were removed from .13 (compose restored, container recreated clean).
|
||||
|
||||
|
||||
## codebase-memory-mcp
|
||||
|
||||
Code intelligence MCP server by DeusData. Single static C binary (~13MB), zero dependencies, 158 languages. Indexes a codebase into a persistent knowledge graph — average repo in milliseconds. 15 MCP tools for structural queries. Runs locally, code never leaves your machine.
|
||||
@@ -831,8 +790,6 @@ Path: `~/.pi/agent/subagents.json`. Configuration for pi-subagents agent types,
|
||||
| `get_subagent_result()` | Retrieve results from background agent |
|
||||
| `steer_subagent()` | Send mid-run steering message |
|
||||
| `compress_for_agent()` | Compress large content via Headroom |
|
||||
| `/langfuse-setup` | Set Langfuse keys interactively (pi-langfuse) |
|
||||
| `/langfuse-status` | Show pi-langfuse config state (masked keys, host, capture policy) |
|
||||
|
||||
|
||||
## Agent Roster (18)
|
||||
@@ -896,7 +853,6 @@ compress_for_agent({ content })
|
||||
- [x] Update Pi Subagent.md and Pi Agent Extensions & Skills.md documentation ✅ 2026-06-14
|
||||
- [x] Update pi-subagents to v0.10.3 ✅ 2026-06-14
|
||||
- [x] Update pi-tasks to v0.7.0 ✅ 2026-06-13
|
||||
- [x] Install pi-langfuse tracing extension (pi → Langfuse on .13:3001) ✅ 2026-08-03
|
||||
- [x] Pi Dashboard v2: heartbeat + cwd + started/closed columns, hide/sort, /dash-name (pi+zellij), hunk in agent folder, tuxedo project boards, zellij/tmux attach ✅ 2026-08-04
|
||||
- [ ] Verify video-extract works with Gemini
|
||||
- [ ] Clean up workspace-map.json entries for any stale memory packs
|
||||
|
||||
Reference in New Issue
Block a user