r/CustomAIAssistants • • 23h ago

My local multi-node personal assistant setup (16GB/32GB cluster, 8 agents & custom hardware)

1 Upvotes

Hey everyone, welcome to [r/CustomAIAssistants](r/CustomAIAssistants).

To kick things off, I wanted to share the current build of my local personal assistant, Jarvis. I've been setting this up to handle daily workflows, voice interaction, and local automation without relying on cloud services.

### Hardware Infrastructure

Instead of running everything on a single server, I split the workload across a few local nodes:

- Main Node: ASUS VivoBook (16GB RAM) running Ubuntu, handling agent orchestration and model calls.

- Compute Node 1: Fujitsu Esprimo D757 (32GB DDR4).

- Compute Node 2: Fujitsu Esprimo D757 (16GB DDR4).

- Audio Interface: Grandstream GAC conference phone utilizing its 6-mic array for room-wide voice pickup.

- Display Setup: 3 monitors connected across the PCs, linked via Barrier for mouse/keyboard sharing.

- Admin Node: An old Android phone running Pi-hole and Termux for network management.

- Dashboard: A Sony digital frame with a Wi-Fi SD card where Jarvis pushes a daily overview every morning (calendar, schedules, local transit).

- Peripherals: Zigbee USB stick for room controls, Anycubic Kobra 3 V2 Combo via OctoPrint, Fire TV integration, and a Gigabit switch setup. Currently working on Wi-Fi CSI sensing and webcams.

### Agent Architecture

The core uses a local 9B model running alongside a Hermes-style agent orchestrator that breaks down incoming requests and routes them to 7 specialized sub-agents:

  1. System: Manages the Ubuntu nodes, executes Bash commands, handles Docker containers, and monitors system resources.
  2. Tactical: Fast execution for room presets, hotkeys, and display layouts.
  3. Voice: Handles STT with Whisper and TTS with Piper.
  4. Brain: Acts as long-term memory, reading and writing directly to my Obsidian vault.
  5. Coder: Handles refactoring, Python scripting, and OpenSCAD model generation for 3D prints (integrated via Claude Code / Aider).
  6. Recon: Live web research and page parsing for fact-checking.
  7. Hardware: Interface for IoT components and microcontrollers.

### Integrations

It plugs into my calendar and email feeds for morning summaries, along with local transit APIs (VBN) for real-time schedule updates.

Curious to hear how others are structuring their setups. Are you running everything on a single machine, or using a distributed multi-node architecture with dedicated agents?

Edit: For voice detection, I am running openWakeWord combined with Whisper so Jarvis triggers as soon as it hears its name. It then analyzes the last two minutes of rolling transcriptions to determine whether it was actually being addressed and what action to take. I am also currently integrating it with OpenSCAD so Jarvis can generate 3D models directly via code and send them straight to my Anycubic printer through OctoPrint.