Skip to content

Command Center

The command center is the voice command orchestrator. It receives transcribed text (or raw audio) from nodes, routes it through the LLM for intent parsing and tool selection, executes the appropriate command, and returns the response. It also manages node registration, user memories, and speaker identification.

Quick Reference

Port 7703
Health endpoint GET /api/v0/health
Source jarvis-command-center/
Framework FastAPI + Uvicorn
Database PostgreSQL
Tier 2 - Command Processing

API Endpoints

Method Path Description
GET /api/v0/health Health check
POST /api/v0/command Process a voice command (text or audio)
POST /api/v0/nodes/register Register a new node (admin)
GET /api/v0/nodes List registered nodes
GET /api/v0/memories List user memories
POST /api/v0/memories Create a user memory
DELETE /api/v0/memories/{id} Delete a user memory

Key Components

  • Prompt Engine (app/core/prompt_engine.py) -- builds system prompts with speaker context and memories
  • Tool Parser (app/core/tool_parser.py) -- extracts tool calls from LLM responses
  • Tool Executor (app/core/tool_executor.py) -- dispatches tool calls to the appropriate service
  • Speaker Resolver (app/core/utils/speaker_resolver.py) -- maps speaker IDs to display names
  • Memory Service (app/services/memory_service.py) -- persistent user memory CRUD

Environment Variables

Variable Description
DATABASE_URL PostgreSQL connection string
ADMIN_API_KEY Admin endpoint protection
JARVIS_AUTH_BASE_URL Auth service URL
JARVIS_CONFIG_URL Config service URL

Dependencies

  • PostgreSQL -- nodes, memories, command history
  • jarvis-auth -- node auth and app-to-app auth
  • jarvis-config-service -- service discovery
  • jarvis-llm-proxy-api -- LLM inference for intent parsing
  • jarvis-logs -- structured logging
  • jarvis-whisper-api -- speech-to-text (optional, for audio input)
  • jarvis-notifications -- push notifications for deep research results (optional)
  • jarvis-tts -- text-to-speech (optional)
  • jarvis-web-scraper -- web content extraction for deep research (optional)

Dependents

  • jarvis-node-setup -- Pi Zero voice nodes send commands here
  • jarvis-node-mobile -- mobile app sends commands here

Impact if Down

No voice commands are processed. Nodes cannot submit audio or text for processing. All command routing, memory, and speaker identification is unavailable.