Files
paseo/docs/system.architecture.json

163 lines
3.8 KiB
JSON

{
"schema_version": 1,
"diagram_type": "architecture",
"meta": {
"title": "Paseo — Native Daemon on .13",
"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, 250]
},
{
"id": "daemon",
"type": "backend",
"label": "Paseo daemon",
"sublabel": "0.7.2 · systemd · :6767",
"pos": [420, 120]
},
{
"id": "pi",
"type": "backend",
"label": "pi agent",
"sublabel": "0.82.1 Nix · --mode rpc",
"pos": [420, 290]
},
{
"id": "cfg",
"type": "database",
"label": "pi config",
"sublabel": "host ~/.pi + ~/.agents",
"pos": [700, 290]
},
{
"id": "fs",
"type": "database",
"label": "host filesystem",
"sublabel": "projects · vault · photos",
"pos": [700, 440]
},
{
"id": "omni",
"type": "backend",
"label": "OmniRoute",
"sublabel": ".13:20129",
"pos": [780, 120]
},
{
"id": "llm",
"type": "external",
"label": "LLM providers",
"sublabel": "combo routing",
"pos": [950, 120]
}
],
"boundaries": [
{
"kind": "region",
"label": "clients",
"wraps": ["cli", "web"]
},
{
"kind": "region",
"label": "native .13 host (no container)",
"wraps": ["daemon", "pi", "cfg", "fs"]
}
],
"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": "Tailscale / LAN :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": "host pi config + skills",
"labelAt": [640, 285]
},
{
"id": "pi-to-fs",
"from": "pi",
"to": "fs",
"label": "direct access as sam",
"labelAt": [640, 450]
},
{
"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": [915, 194]
}
],
"cards": [
{
"dot": "cyan",
"title": "Native daemon (2026-09-16)",
"items": [
"Runs as systemd user service on .13: paseo.service, enabled, 0.0.0.0:6767",
"Uses the host Nix pi 0.82.1 directly — no baked image, no sandbox",
"Full filesystem access as user sam: no /mnt mounts needed",
"NixOS firewall: port 6767 added (configuration.nix)"
]
},
{
"dot": "emerald",
"title": "Verified end-to-end",
"items": [
"Agent ran in /home/sam/paseo/projects/obsidian_cleanup_tool (NEWPATH_OK)",
"Model: omni/default-opencode-go-ds-flash (combo, healthy)",
"Clients: .27 CLl + .51 CLl + mobile web UI all reach daemon over LAN/Tailscale"
]
},
{
"dot": "amber",
"title": "Migrated from Docker",
"items": [
"Old Docker container removed; legacy backup in ~/paseo/docker-legacy-backup-…",
"PASEO_PASSWORD preserved in .13 10-secrets.conf",
"Docker limitation gone: projects live at ~/paseo/projects/ with real paths"
]
}
]
}