homelab-codex-ws/kb/subsystems/agent-system.md
oskar 00de8107ea feat(kb): przenosiny type=subsystem do kb/subsystems/ (18 plikow, bez SPLIT)
public (wzorce/schematy, bez IP/portow/sciezek hostow): observer,
capability-model, event-system, standards, agent-operating-procedures,
service-model, action-approval-model.

private: recon-multiagent, fleet-inventory, fleet-inventory-verify,
kb-mail-pillar, kb-documents-pillar, topology, agent-system.

deprecated (martwe stuby z 2026-04-15) — visibility private wg
rozstrzygniecia 6: access-model, core-stack, legacy-services-list, networking.

git mv + frontmatter, tresc nietknieta.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:58:04 +02:00

1.8 KiB

okf type visibility status updated links
0.1 subsystem private active 2026-05-17

Agent System

Central runtime materializer and Operator Control Plane UI.

Components

  • Redis: Central state store (on PIHA).
  • Runtime Materializer: Converts Redis state to JSON files in /opt/homelab/world.
  • Web UI: Exposes API endpoints and serving the Operator UI.
  • Telegram Bot: Provides operator commands and action approvals via Telegram.

Configuration

Environment variables should be set in .env (see env.example). Key variables for the Telegram Bot:

  • TELEGRAM_BOT_TOKEN: Your bot token from @BotFather.
  • TELEGRAM_ALLOWED_USER_IDS: Comma-separated list of authorized Telegram User IDs.
  • CONTROL_PLANE_URL: URL to the agent-system-webui (default: http://webui:8080).

Telegram Commands

  • /status: Check bot and API connectivity.
  • /summary: System health overview.
  • /nodes: List homelab nodes and their status.
  • /services: Summary of services across nodes.
  • /unhealthy: List all unhealthy components.
  • /incidents: View active incidents.
  • /actions: Summary of operator actions.
  • /help: List all commands.

Deployment (on PIHA)

cd services/agent-system
./deploy.sh

Deployment (on CHELSTY)

cd services/stability-agent
docker compose up -d --build

Verification

The deploy.sh script automatically verifies the local endpoints. You can also manually check:

# Check runtime summary
curl http://localhost:18180/summary

# Check discovered nodes
curl http://localhost:18180/nodes

# Check discovered services
curl http://localhost:18180/services

Directory Structure

  • /opt/homelab/world: Contains materialized JSON state.
  • /opt/homelab/state: Contains operator configuration and local heartbeats.