QwenPaw

Purpose

Multi-agent gateway platform. Runs on CT465 with its own workspace, agent profiles, and model routing. Used for group chats and specialised agent tasks.

Location

  • Container: LXC CT465 (qwenpaw)
  • Hostname: qwenpaw
  • Software: QwenPaw with Paseo daemon

Current State

  • Status: Active
  • Default chat model: OmniRoute Smart Route (auto/smart)
  • Config format: JSON (agent.json per workspace)
  • Daemon: paseo.service

Operating Layers

QwenPaw has several layers that must not be conflated:

  1. PVE/LXC layer: container status, guest access, resources
  2. Paseo layer: long-running daemon/supervisor (paseo.service)
  3. Workspace layer: agent profiles with agent.json and active_model
  4. Provider layer: remote providers (Kilo/OpenRouter) or local (Ollama)
  5. Channel layer: Telegram or other messaging adapters

Key Rules

  • Do not assume “process is running” means “agent works.” Model resolution and a real response are separate checks.
  • Verify model resolution per agent. A default agent can work while a specialist agent silently has no model.
  • Preserve existing provider/model routes. Do not repin unrelated agents or replace known-good routes.
  • Default chat model: Use OmniRoute Smart Route (auto/smart) per Anthony’s preference.

Diagnostics

qwenpaw doctor --deep --timeout 10 --llm-timeout 20
qwenpaw models list
qwenpaw daemon status

Provider Verification

When adding an OpenAI-compatible provider from Proxmox:

  • Verify target by VMID and hostname before writing config
  • CT600/omniroute is the OmniRoute service at 100.88.81.19:20128
  • CT601/omni is a separate guest at 100.93.204.4
  • Query /v1/models using the exact API key stored for QwenPaw, not a management key