Paseo build docs: README, mermaid diagram, Archify map — Docker on .13, pi provider, OmniRoute

This commit is contained in:
sam
2026-09-10 09:50:31 +10:00
commit 55f82338e0
7 changed files with 14009 additions and 0 deletions

BIN
docs/diagrams/system.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

1
docs/diagrams/system.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 25 KiB

13677
docs/system-map.html Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,164 @@
{
"schema_version": 1,
"diagram_type": "architecture",
"meta": {
"title": "Paseo on the Home Lab",
"quality_profile": "showcase",
"viewBox": [1120, 600]
},
"components": [
{
"id": "cli",
"type": "frontend",
"label": "paseo CLI",
"sublabel": ".27 / .51",
"pos": [120, 120]
},
{
"id": "web",
"type": "frontend",
"label": "Web UI / mobile",
"sublabel": "browser :6767",
"pos": [120, 240]
},
{
"id": "daemon",
"type": "backend",
"label": "Paseo daemon",
"sublabel": "0.7.2 · :6767 · auth",
"pos": [420, 120]
},
{
"id": "pi",
"type": "backend",
"label": "pi agent",
"sublabel": "0.82.1 · --mode rpc",
"pos": [420, 300]
},
{
"id": "cfg",
"type": "database",
"label": "pi config",
"sublabel": "paseo-home/.pi",
"pos": [700, 300]
},
{
"id": "ws",
"type": "database",
"label": "workspace",
"sublabel": "/workspace/demo",
"pos": [700, 440]
},
{
"id": "omni",
"type": "backend",
"label": "OmniRoute",
"sublabel": ".13:20129",
"pos": [760, 120]
},
{
"id": "llm",
"type": "external",
"label": "LLM providers",
"sublabel": "combo routing",
"pos": [940, 120]
}
],
"boundaries": [
{
"kind": "region",
"label": "clients",
"wraps": ["cli", "web"]
},
{
"kind": "region",
"label": "Paseo daemon (.13 Docker)",
"wraps": ["daemon", "pi", "cfg", "ws"]
}
],
"connections": [
{
"id": "cli-to-daemon",
"from": "cli",
"to": "daemon",
"label": "PASEO_HOST + password",
"labelAt": [270, 60]
},
{
"id": "web-to-daemon",
"from": "web",
"to": "daemon",
"label": "https :6767"
},
{
"id": "daemon-to-pi",
"from": "daemon",
"to": "pi",
"label": "spawns / manages",
"labelAt": [480, 205],
"fromSide": "bottom",
"toSide": "top"
},
{
"id": "pi-to-cfg",
"from": "pi",
"to": "cfg",
"label": "reads settings + models",
"labelAt": [700, 370]
},
{
"id": "pi-to-ws",
"from": "pi",
"to": "ws",
"label": "works in",
"labelAt": [700, 520]
},
{
"id": "pi-to-omni",
"from": "pi",
"to": "omni",
"label": "omni provider /v1",
"labelAt": [590, 225],
"fromSide": "right",
"toSide": "bottom"
},
{
"id": "omni-to-llm",
"from": "omni",
"to": "llm",
"label": "combo routing",
"labelAt": [910, 194]
}
],
"cards": [
{
"dot": "cyan",
"title": "Proven end-to-end",
"items": [
"paseo run --provider pi → agent 560ffca0 (pi/omni/openrouter/qwen/qwen3.7-flash)",
"Agent read HELLO.txt, wrote DEMO_SUMMARY.md into /workspace/demo",
"paseo logs shows full timeline (user → thought → shell → read)",
"Web UI http://192.168.20.13:6767 → HTTP 200"
]
},
{
"dot": "emerald",
"title": "Deployment facts",
"items": [
"Container: /home/sam/Docker/Containers/paseo/ (restart: always)",
"pi + omniroute ext baked at build time (USER root) — image runs as paseo (uid 1000)",
"pi 0.82.1 in container; host Nix pi untouched",
"Secrets only in .env (chmod 600)"
]
},
{
"dot": "amber",
"title": "Findings",
"items": [
"OmniRoute default combo (default-opencode-go-ds-flash) → 400 x-opencode-session issue",
"Working models: openrouter/qwen/qwen3.7-flash, openrouter/openai/gpt-5.6-sol, aug/claude-haiku-4.5",
"Fix combo/credentials on OmniRoute to restore the default path"
]
}
]
}

26
docs/system.mmd Normal file
View File

@@ -0,0 +1,26 @@
flowchart LR
subgraph CLIENTS["Clients"]
D27[".27 desktop<br/>paseo CLI"]
D51[".51 laptop<br/>paseo CLI"]
M["Mobile / web UI<br/>browser"]
end
subgraph S13["Paseo daemon (.13 — Docker, always-on)"]
D["Paseo daemon 0.7.2<br/>:6767 · auth"]
PI["pi agent 0.82.1<br/>pi --mode rpc<br/>@earendil pi + omni ext"]
CFG["pi config<br/>/home/paseo/.pi"]
W["workspaces<br/>/workspace/demo"]
PWD["PASEO_PASSWORD<br/>.env (600)"]
end
subgraph LLM["LLM routing"]
OR["OmniRoute<br/>.13:20129"]
OP["OpenCode-Go /<br/>OpenRouter / DeepSeek / Gemini"]
end
D27 -->|"PASEO_HOST + password"| D
D51 -->|"PASEO_HOST + password"| D
M -->|"https :6767"| D
D -->|"spawns / manages"| PI
PI -->|"reads settings + models"| CFG
PI -->|"works in"| W
D -->|"protects"| PWD
PI -->|"httpx /v1 (omni provider)"| OR
OR -->|"combo routing"| OP