Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

J.A.R.V.I.S. Dashboard

J.A.R.V.I.S. Dashboard

A modular AI command center for monitoring Claude Code sessions, voice interaction, analytics, and productivity — across 4 platforms from a single codebase.

Voice Commands • Live Sessions • Agent Fleet • 30-Day Analytics • Focus Timer • Multi-Platform • Configurable Everything

See it in ActionQuick StartPlatformsFeaturesDocumentation


Why?

Problem Jarvis Solution
Claude Code runs headless in a terminal Real-time session monitoring with Live Sessions widget
No usage analytics or cost tracking 30-day stats: sessions, tokens, cost, model breakdown
Voice interaction requires complex setup One-click voice commands with neural TTS + whisper-cpp STT
AI agents are invisible config files Visual agent fleet with animated robot avatars
Scattered productivity tools Focus timer, quick capture, bookmarks — all in one dashboard
Mobile AI access is clunky Native iOS app with full voice interaction
One-size-fits-all dashboard Fully configurable layout, theme, and widgets via JSON

See it in Action

JARVIS Voice Command Demo

Widget Gallery (click to expand)
Widget Preview
Voice Command
Live Sessions
Agent Cards
Focus Timer
Quick Capture
Activity Analytics
System Diagnostics
Communication Link
Quick Launch
Mission Control
Recent Activity

Quick Start

# 1. Clone
git clone https://github.com/AndrewKochulab/jarvis-dashboard.git
cd jarvis-dashboard

# 2. Configure
cp src/config/config.example.json src/config/config.json
# Edit config.json — set projects.mode to "auto" and adjust paths

# 3. Open
# Place in your Obsidian vault and open "Jarvis Dashboard.md"

For mobile, macOS app, or iOS app setup, see the Setup Guide.

Platforms

Jarvis runs on 4 platforms from one shared JavaScript codebase:

Platform Type Dashboard Voice Claude Execution
Obsidian Desktop DataviewJS note Full (13 widgets) Local (Piper/Say) Local CLI
Obsidian Mobile DataviewJS note Voice only Via server Via server
macOS Tauri 2.0 app Full (13 widgets) Local (Piper/Say) Local (Rust spawn)
iOS/iPadOS SwiftUI app Voice only Via server Via server

Features

Voice Command System

  • Full-duplex voice interaction with Claude Code
  • Three TTS engines: Piper (neural), macOS Say, browser speechSynthesis
  • Speech-to-text via whisper-cpp with multi-language auto-detection
  • Interactive mode with tool permission cards and question handling
  • Multi-session tab bar with drag & drop reordering
  • JARVIS personality system with customizable prompts
  • Voice Command docs | TTS docs | STT docs

13 Widgets

Category Widgets
AI Interaction Voice Command, Live Sessions, Agent Cards
Analytics System Diagnostics, Activity Analytics (heatmap, peak hours, model breakdown)
Productivity Focus Timer, Quick Capture (with voice dictation)
Navigation Quick Launch, Mission Control, Communication Link, Recent Activity
Chrome Header (title, clock, status), Footer

All widgets are independently configurable and removable. Control order and layout via the layout array in config.json. Widget docs

Real-time Monitoring

  • Live session tracking with token/cost display, model badges
  • Agent detection and cross-widget status updates
  • 30-day analytics with GitHub-style heatmaps
  • Configurable polling intervals and caching

Cross-Platform Architecture

  • Shared JavaScript codebase with no build step
  • Platform adapters abstract file system, process, and vault operations
  • Module loading via new Function("ctx", code) — no import/export
  • Architecture docs

Companion Server

  • WebSocket server for mobile client support
  • TLS with self-signed CA certificate chain
  • Token authentication with timing-safe comparison
  • Claude CLI process management, TTS synthesis, audio transcription
  • Auto-start via macOS LaunchAgent
  • Server docs | Security docs

Configuration

Four-file config cascade — only override what you need:

config.example.json     (defaults, tracked)
  → config.json         (personal overrides, gitignored)
    → config.local.json (credentials, gitignored)
      → platform overrides

Key customization areas:

  • 15 theme colors — full UI theming
  • Layout array — widget order, grouping, column counts
  • Projects — auto-scan or manual project list
  • Voice — TTS engine, model, personality prompt
  • Performance — polling intervals, animation toggle

Full config reference

Documentation

Complete documentation is in the docs/ folder:

Section Description
Setup Guide Installation for all platforms
Architecture Module system, ctx object, patterns
API Reference WebSocket protocol, Tauri commands
Security TLS, tokens, rate limiting
Certificates Certificate creation & iOS installation
Companion Server Server setup & LaunchAgent
Customization Every config key documented
TTS / STT / Voice Models Voice system
Widgets All 13 widgets + creating custom ones
Troubleshooting Solutions by category

Project Structure

src/                    Shared source (core, services, widgets)
shared/                 Cross-platform loader and adapters
companion/              WebSocket server for mobile support
ios/                    iOS SwiftUI app
macos/                  macOS Tauri 2.0 app
docs/                   Documentation

Full annotated tree

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Follow the module contract — no import/export, all state via ctx
  4. Test in at least one platform (Obsidian is easiest)
  5. Submit a pull request

License

MIT

About

A modular, fully configurable DataviewJS dashboard for Obsidian — monitor Claude Code sessions in real-time, manage AI agent fleets, track 30-day analytics, and boost productivity with focus timer, quick capture, and more.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages