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.