Agent Runtime Stack¶
Stand: 2026-05-30
Infrastruktur¶
| Feld | Wert |
|---|---|
| CTID | 259 |
| Hostname | agent-runtime |
| IP | 10.222.70.20/24 |
| Gateway | 10.222.70.1 |
| VLAN | 70 |
| Plattform | Debian 13 LXC, unprivilegiert |
| Ressourcen | 4 vCPU, 8192 MiB RAM, 1024 MiB Swap, 80 GiB Disk |
| Storage | local-zfs |
| Docker | Debian Paket docker.io + docker-compose |
Docker-Container (7)¶
| Dienst | Zweck | Port | Erreichbarkeit |
|---|---|---|---|
| LiteLLM | OpenAI-kompatibler Modellrouter | 4000/tcp |
10.222.70.20:4000 |
| Qdrant | Vektorindex fuer RAG/Knowledge | 6333/tcp, 6334/tcp |
10.222.70.20:6333-6334 |
| MCPHub | Zentrale MCP-Registry/Proxy-Schicht | 3000/tcp |
10.222.70.20:3000 |
| Lanstyle Tools API | OpenAPI-Fassade fuer Open WebUI, Hermes Context Search | 3010/tcp |
10.222.70.20:3010 |
| Lanstyle Remote MCP | MCP-Endpunkt fuer OpenCode | 3011/tcp |
via NPM unter mcphub.lanstyle.de/lanstyle-mcp |
| PostgreSQL | LiteLLM Datenbank | 5432/tcp |
nur Docker-Netz |
| Redis | Cache/Queue | 6379/tcp |
nur Docker-Netz |
Alle 7 Container laufen.
Image-Pinning¶
| Dienst | Image |
|---|---|
| LiteLLM | ghcr.io/berriai/litellm@sha256:32f82e74d0bc35bd7bb8018622cdbae34330863537df4c4a0715b500cb7dede7 (Digest-pinned) |
| MCPHub | lanstyle/mcphub:1.0.5-fastmcp-20260525 (Custom Build) |
| Qdrant | qdrant/qdrant:v1.15.4 |
| Lanstyle Tools API | lanstyle/mcphub:1.0.5-fastmcp-20260525 mit Python-Entrypoint |
| Lanstyle Remote MCP | lanstyle/mcphub:1.0.5-fastmcp-20260525 mit Python-FastMCP-Entrypoint |
LiteLLM ist per getestetem Digest gepinnt. MCPHub nutzt ein lokales Build-Image, weil die Lanstyle-MCPs Python-Dependencies im Container benoetigen.
NPM Proxy Hosts¶
| Domain | Ziel | SSL | Anmerkung |
|---|---|---|---|
litellm.lanstyle.de |
10.222.70.20:4000 |
aktiv | LiteLLM API-Key erforderlich |
mcphub.lanstyle.de |
10.222.70.20:3000 |
aktiv | Token-Auth auf MCP/API-Pfaden |
search.lanstyle.de |
10.222.70.12:8888 |
aktiv | SearXNG |
Der Pfad mcphub.lanstyle.de/lanstyle-mcp ist als Custom Location auf 10.222.70.20:3011 konfiguriert (Bearer-Token-Auth).
Modellrouting¶
Siehe Modellrouting fuer die vollstaendige Uebersicht.
| Alias | Backend |
|---|---|
lanstyle/ai |
qwen3-coder-next:latest als direkter Kompatibilitaetsalias, kein Hermes |
lanstyle/agent-stable |
qwen3-coder-next:latest |
lanstyle/fast |
qwen3-coder-next:latest |
lanstyle/architect |
gpt-oss:120b |
lanstyle/embed |
nomic-embed-text:latest |
Upstream: http://10.222.70.11:11434 (Ollama auf GB10, VLAN70-only).
Der fruehere Hermes-Router unter lanstyle/ai ist seit 2026-06-08 entfernt. Der Alias existiert nur noch als direkte Rueckwaertskompatibilitaetsbruecke fuer alte OpenWebUI/OpenCode-Clientstates und zeigt nicht auf Hermes.
Virtual Keys¶
| Key | Einschraenkung |
|---|---|
lanstyle-openwebui |
produktive Chatmodelle agent-stable, fast, architect |
lanstyle-opencode |
produktive Chatmodelle plus technische Embeddings, keine Hermes-Router-Pflicht |
Hermes Context Search¶
Die Tools API stellt unter /hermes/context eine Kontextsuche bereit. Open WebUI und OpenCode koennen darueeber Qdrant-gestuetzte Knowledge-Abfragen ausfuehren.
MCP-Tools¶
| Server | Tools |
|---|---|
lanstyle-infra-readonly |
7 read-only Tools |
lanstyle-infra-write-plan |
3 Dry-Run/Plan Tools |
Remote MCP liefert insgesamt 10 Tools ueber mcphub.lanstyle.de/lanstyle-mcp.
Token-Verwaltung¶
- Serverseitige Tokens ueber
LANSTYLE_MCPHUB_TOKENS_JSON(Name, Status, Scopes, Ablaufdatum). - Dynamischer Token-Store unter
/var/lib/lanstyle-agent/controlled-execution/opencode-access/mcp-tokens.jsonfuer Self-Service. - Aktiver User-Token:
maximilian-eberhardt-mbp-pro-maxmit Scopeslanstyle:readundlanstyle:plan. - Tokenwerte nur in Vaultwarden, nicht in Git oder Logs.
Qdrant¶
- Version:
1.15.4 - Collection
lanstyle_docs: aktiv - Collection
lanstyle_inventory: aktiv
Dateien auf dem LXC¶
| Pfad | Zweck |
|---|---|
/opt/agent-runtime/docker-compose.yml |
Produktive Compose-Datei |
/opt/agent-runtime/.env |
Produktive Secrets (0600) |
/opt/agent-runtime/litellm/config.yaml |
Modellrouting-Konfiguration |
/opt/agent-runtime/mcphub/mcp_settings.json |
MCPHub-Konfiguration (0600), schreibbar gemountet |
/opt/agent-runtime/mcphub/lanstyle-infra.env |
MCP-Secrets fuer NetBox, NPM, Proxmox, Gitea (0600) |
/opt/agent-runtime/mcp/ |
Lanstyle-MCP-Code |
/opt/agent-runtime/tools/ |
OpenAPI-Fassaden und Hilfsdienste |
/opt/agent-runtime/logs/ |
Laufzeitlogs |
/opt/agent-runtime/controlled-execution/ |
Approval Store, Backups, Audit |
Secretfreie Templates liegen im Repository unter agent-runtime/deploy/agent-runtime-stack/.
Secrets¶
Alle produktiven Secrets liegen in Vaultwarden, nicht im Git.
Eintrag: Lanstyle / Agent Runtime Stack Secrets
Enthalten: POSTGRES_PASSWORD, REDIS_PASSWORD, LITELLM_MASTER_KEY, QDRANT_API_KEY, MCPHUB_ADMIN_PASSWORD, OLLAMA_API_BASE, LITELLM_OPENCODE_KEY, LITELLM_OPENWEBUI_KEY, LITELLM_PUBLIC_BASE_URL.
Eintrag: Lanstyle / Agent Runtime Tools API Token
Enthalten: OpenAPI-Spec-Endpoint, Bearer Token fuer Open WebUI, Verweis auf LXC 259.
Betriebsbefehle¶
Auf Proxmox:
pct status 259
pct exec 259 -- bash -lc 'cd /opt/agent-runtime && docker-compose ps'
Auf dem LXC:
cd /opt/agent-runtime
docker-compose ps
docker-compose logs --tail=100 litellm
Healthcheck aus dem Repository:
export LITELLM_MASTER_KEY='aus Vaultwarden laden'
export QDRANT_API_KEY='aus Vaultwarden laden'
agent-runtime/scripts/check-agent-runtime-stack.sh